文本
综合
line-height
line-height: <行高> 继承
normal:常规 默认值(谷歌浏览器为字号的1.32倍,火狐浏览器为字号的1.44倍)- 长度值
- 百分值:相对于字号
- 数值:字号的倍数
说明
- 内容区高度由
font-size决定 - 行内框高度由
line-height决定 - 行框的高度由所有行内框中最高顶边和最低底边决定

vertical-align
vertical-align: <纵向对齐>
baseline:基线对齐 默认值sub:下标,即元素基线低于父元素基线super:上标,即元素基线高于父元素基线bottom:行内框底部与行框底部对齐top:行内框顶部与行框顶部对齐text-bottom:行内框底部与父元素内容区底部偏下对齐text-top:行内框顶部与父元素内容区顶部偏上对齐middle:行内框中线与父元素基线偏上对齐- 长度值:基线偏离上或下的距离
- 百分值:基线偏离上或下的距离,相对于
line-height
注意
vertical-align 只对行内元素和置换元素有效。
vertical-align: top/bottom 本身位置相对于行框,又影响行框高度,容易迷惑,总结规律如下:
- 先由相对基线的元素,确定初步行框;
top/bottom的高度如果没有超过当前行框,则初步行框为最终行框,在最终行框下进行top/bottom定位;- 否则按
top/bottom中的最高高度元素,top则定住当前行框顶部,向下拓高行框,bottom反之,确定出最终行框; - 其他
top/bottom元素在最终行框下定位。
letter-spacing
letter-spacing: <字符间距> 继承
normal:默认字符间距 默认值- 长度值:对默认字符间距增加或减少的量
注意
word-spacing 和 letter-spacing 会受 text-align: justify 影响。
word-spacing
word-spacing: <单词间距> 继承
normal:默认单词间距 默认值- 长度值:对默认单词间距增加或减少的量
说明
word-spacing 其实就是空格的宽度
white-space
white-space: <空白处理> 继承
normal:空白符压缩,换行符压缩,内容换行 默认值nowrap:空白符压缩,换行符压缩,内容不换行pre:空白符保留,换行符换行,内容不换行pre-line:空白符压缩,换行符换行,内容换行pre-wrap:空白符保留,换行符换行,内容换行
word-break
word-break: <换行方式> 继承
keep-all:空格,连字符允许换行normal:单词之间,空格,连字符允许换行 默认值break-all:单词内部,单词之间,空格,连字符允许换行break-word:连续相连符号内部,单词内部,单词之间,空格,连字符允许换行(即任意处都可以换行,不会出现溢出)
注意
- 先考虑
white-space,当允许内容换行时,才需要考虑换行方式word-break,即当white-space: nowrap/pre时,word-break没意义,因为内容不允许换行; - 一个汉语日语韩语,或者一串连续的字母数字,为一个单词;
overflow-wrap
overflow-wrap: <溢出处理> 继承
normal:溢出处不换行 默认值break-word:溢出处换行
注意
先考虑
white-space,当允许内容换行时,再考虑换行方式word-break,在当前换行方式下出现溢出,overflow-wrap才会发挥作用。以下是溢出情况分析:word-break: keep-all:连续相连符号内部,单词内部,单词之间会溢出word-break: normal:连续相连符号内部,单词内部会溢出word-break: break-all:连续相连符号内部会溢出word-break: break-word:不会出现溢出,overflow-wrap不起作用
word-wrap为overflow-wrap的旧式写法;
tab-size
tab-size: <制表符宽度> 继承
- 数值:空格的个数,8 默认值
- 长度值
注意
white-space 中的空白符包括空格符和制表符,当空白符被压缩时,tab-size 也就不起作用。
direction
direction: <文本方向> 继承
ltr:从左到右 默认值rtl:从右到左
说明
direction与text-align区别在于,direction能影响文本溢出时的方向,以及使用两端对齐时最后一行的位置;direction效果同元素中dir属性;
writing-mode
writing-mode: <书写模式> 继承
horizontal-tb:行内方向从左到右,块级方向从上到下 默认值vertical-lr:行内方向从上到下,块级方向从左到右vertical-rl:行内方向从上到下,块级方向从右到左
hyphens
hyphens: <连字符> 继承
manual:单词换行时,优先在­处加连字符并换行 默认值auto:自动加连字符none:忽略连字符
字体
font-family
font-family: <字族>,# 继承
serif:衬线字体(字形宽度各异,有衬线)sans-serif:无衬线字体(字形宽度各异,无衬线)monospace: 等宽字体(字形宽度相同)cursive:草书字体(手写体)- 字体名,如
Microsoft YaHei,"Microsoft YaHei"
font-size
font-size: <字号> 继承
绝对大小
xx-small,x-small,small,medium默认值,large,x-large,xx-large
相对大小
smaller,large
其他
百分值:相对于父元素字号
注意
绝对大小的值取决于浏览器偏好设置和字族,medium 默认是16px,其他值依据一定比例递增递减。显示存在不确定性,不建议使用。
font-weight
font-weight: <字重> 继承
一级字重
100,200,300
二级字重
400 | normal默认值 ,500
三级字重
600,700 | bold,800,900
相对字重
bolder,lighter
/* 定义多个相同字族,对应不同字重属性和字体文件 */
@font-face {
font-family: "MyFont";
font-weight: 300;
src: url(../font/msyhl.ttc);
}
@font-face {
font-family: "MyFont";
font-weight: 400;
src: url(../font/msyh.ttc);
}
@font-face {
font-family: "MyFont";
font-weight: 700;
src: url(../font/msyhbd.ttc);
}
/* 通过字重属性确定应用的字体文件 */
.div {
font-family: MyFont;
font-weight: normal;
font-size: 50px;
}
说明
使用无定义的字重时,优先使用定义在同一级别的其他字重(一级:字重↓ 权重↑,三级:字重↑ 权重 ↑),同级无则逐渐检索相邻其他级别(检索顺序:1→2→3,2→1→3,3→2→1)。
常见字型字重对应表
| 字型 | 字重 |
|---|---|
| Light | 100,200,300 |
| Regular | 400 |
| Medium | 500 |
| Bold | 600,700 |
| Extra Bold | 800,900 |
相对字重表
| lighter | 继承字重 | bolder |
|---|---|---|
| 100 | 100 | 400 |
| 100 | 200 | 400 |
| 100 | 300 | 400 |
| 100 | 400 | 700 |
| 100 | 500 | 700 |
| 400 | 600 | 900 |
| 400 | 700 | 900 |
| 700 | 800 | 900 |
| 700 | 900 | 900 |
font-style
font-style: <字形> 继承
normal:常规 默认值italic:斜体oblique:倾斜体
说明
oblique 和 italic 的表现效果相同,作用互通。
如果定义两个同字族的 @font-face ,前后字形分别是 oblique 和 italic,后者都会把前者覆盖,即应用 oblique 字形也是取 italic(后者)对应的 @font-face 。
font-variant
font-variant: <字体变体> 继承
normal:常规 默认值small-caps:将小写字母转成小号的大写字母
font-stretch
font-stretch: <字宽> 继承
常规
normal默认值
压缩
semi-condensed,condensed,extra-condensed,ultra-condensed
扩大
semi-expanded,expanded,extra-expanded,ultra-expanded
font-kerning
font-kerning: <是否使用字体中的字距信息> 继承
auto:自动 默认值normal:使用字体中的字距信息none:禁用字体中的字距信息
font
font: [<font-weight> || <font-style> || <font-variant>]? <font-size> [/ <line-height>]? <font-family> 继承
文本
text-indent
text-indent: <首行缩进> 继承
- 长度值
- 百分值:相对于宽度
text-align
text-align: <文本对齐> 继承
start:起始对齐 默认值end:结尾对齐left:左对齐right:右对齐center:居中对齐justify:两端对齐
text-align-last
text-align-last: <文本尾行对齐> 继承
auto:自动 默认值start:起始对齐end:结尾对齐left:左对齐right:右对齐center:居中对齐justify:两端对齐
text-transform
text-transform: <文本转换> 继承
none:无转换 默认值uppercase:字母转大写lowercase:字母转小写capitalize:单词首字母转大写
text-decoration
text-decoration: <文本装饰>
none:无装饰 默认值underline:下划线overline:上划线line-through:删除线
注意
text-decoration 不可继承,但是效果照样会作用在子元素上。
text-shadow
text-shadow: <水平偏移距离> <垂直偏移距离> <模糊半径>? <阴影颜色>? 继承
text-overflow
text-overflow: <文本溢出>
clip:裁剪ellipsis:省略号
注意
需要配合 white-space: nowrap; 和 overflow: hidden; 使用。
text-rendering
text-rendering: <文本渲染效果> 继承
auto:自动 默认值optimizeSpeed:速度优先optimizeLegibility:清晰性优先geometricPrecision:几何精度优先
text-orientation
text-orientation: <文本方位> 继承
mixed:英语侧排,汉语直排 默认值upright:英语和汉语都直排sideways:英语和汉语都侧排
说明
文本方位在 writing-mode: vertical-lr/vertical-rl 时有作用。
-webkit-text-stroke-width
-webkit-text-stroke-width: <文本描边宽度> 继承
-webkit-text-stroke-color
-webkit-text-stroke-color: <文本描边颜色> 继承
-webkit-text-stroke
-webkit-text-stroke: <text-stroke-width> <text-stroke-color> 继承
说明
火狐浏览器也支持该属性。
