freeCodeCamp/guide/chinese/css/units/index.md

82 lines
4.5 KiB
Markdown
Raw Normal View History

---
title: Units
localeTitle: 单位
---
## 单位
许多CSS属性如`width` `margin` `padding` `font-size`等需取用长度。 CSS具备一种可用多种单位表达长度的方式。长度是数字和单位的组合没有空格。例如`5px` `0.9em`
### 长度
#### 常用长度单位
CSS使用几个单位来表示长度。所有浏览器都支持旧版本
* **rem** - “r”代表“root”“root em” - ,它等于固定到根元素的字体大小(几乎总是`<html>` )。
* **vh**和**vw** - 许多响应式网页设计技术重度依赖百分比规则。但是CSS百分比度量并不总是解决所有问题的最佳方法。度量**vh**等于视口高度的1/100。因此例如如果浏览器的高度为800px则1vh等于8px同样如果视口的宽度为650px则1vw等于6.5px。
* **vmin**和**vmax** - 这些单位与**vh**和**vw**的最大值或最小值有关。例如如果浏览器设置为1200px宽高度为600px则1vmin为6px1vmax为12px。但是如果宽度设置为700px且高度设置为1080px则vmin将等于7px且vmax为10.8px。
* **ex**和**ch** - 这些单位与**em**和**rem**类似,取决于当前的字体和字体大小。但是,与**em**和**rem**不同,这些单元还取决于`font-family`因为它们是根据每种字体特有的度量来确定的。 **ch**单位“字符单位”被定义为字符零“0”的宽度。 **ex**单位定义为“当前字体的当前x高度或1em的一半”。给定字体的height-x是该字体的小写“x”的高度。它通常是字体的中间标记。
|单位|说明| | --------------- | ----------------------- | | em | 1 em是使用它的元素上font-size的计算值。 | | ex | 1 ex是当前字体的x高度。 x高度通常但不总是例如如果字体中没有'x')等于小写'x'|的高度。 | ch | 1 ch是当前字体中'0'(零)字形的前进。 'ch'代表人物。 | | rem | 1 rem是文档根元素的字体大小属性的计算值 | vw | 1vw是视口宽度的1。 'vw'代表'视口宽度'。 | | vh | 1vh是视口高度的1。 'vh'代表'视口高度'。 | | vmin |等于'vw'或'vh'|中较小的一个 | vmax |等于'vw'或'vh'|中的较大者
CSS中有两种用于长度和大小的单位相对和绝对。
### 相对单位
相对单位相对于元素的当前字体大小或其他设置而变化。一些相关单位是
* `em`
* 当前元素的`font-size`的大写字母M的宽度。
* 字体大小从父元素继承。
* 例: `html div { font-size: 16px; } div h3 { font-size: 2rem; }` 这里`<h3>`将等于`32px`因为当前或父元素的`font-size`是`16px` 。
* `rem`
* root `em` ,或默认基本`font-size`的大写字母M的宽度。
* 父字体大小无效。
* 例: `html body { font-size: 16px; } p { font-size: 1.5rem; }` 由于默认基本`font-size`为`16px`因此`<p>`将等于`24px` 。
* `%`
* 相对于父级大小的百分比大小。
* 例: `html div { width: 400px; } div p { width: 75%; }` 由于父级的宽度为`400px` ,内部段的宽度将为`300px` ,即`400px` 75
* `vw`
* 视图宽度或视口宽度的1/100
* 例: `html body { width: 100vw; }`无论是417像素690像素还是任何宽度 `body`填满视口宽度。
* `vh`
* 视图高度或视口高度的1/100
* 例: `html div { height: 50vh; }` 无论是1080px1300px还是任何高度此`div`将填充视口高度的一半。
### 绝对单位
无论屏幕尺寸或其他设置如何,绝对单位都是相同的。一些绝对单位是
* `px`
* 像素
* 像素数相对于观看设备屏幕的质量
* `in` `cm` `mm`
* 英寸,厘米,毫米
* 小屏幕或大屏幕上的英寸是一英寸
* `pt` `pc`
*1/72英寸和皮卡12分
```html
p {
font-size: 24px;
}
div {
width: 3in;
border-width: 3pt;
}
```
`font-size: 24px`段落将在手机平板电脑或桌面屏幕上显示为24px。
`div`将显示为3英寸宽无论屏幕大小如何 `div`上的`border`将为3/72英寸厚。
### 更多信息:
* [Web平台了解像素和其他CSS单位](https://webplatform.github.io/docs/tutorials/understanding-css-units/)
* [MDN Web Docs - CSS单位](https://developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS/Values_and_units)
* [网页设计教程]('https://webdesign.tutsplus.com/articles/7-css-units-you-might-not-know-about--cms-22573)
* [CSS单元的HTML帮助](http://www.htmlhelp.com/reference/css/units.html)