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

82 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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)