文本

yuhuo2022-03-07CssCss属性

综合

line-height

line-height: <行高> 继承

  • normal:常规 默认值(谷歌浏览器为字号的1.32倍,火狐浏览器为字号的1.44倍)
  • 长度值
  • 百分值:相对于字号
  • 数值:字号的倍数

说明

  • 内容区高度由 font-size 决定
  • 行内框高度由 line-height 决定
  • 行框的高度由所有行内框中最高顶边和最低底边决定

line

vertical-align

vertical-align: <纵向对齐>

  • baseline:基线对齐 默认值
  • sub:下标,即元素基线低于父元素基线
  • super:上标,即元素基线高于父元素基线
  • bottom:行内框底部与行框底部对齐
  • top:行内框顶部与行框顶部对齐
  • text-bottom:行内框底部与父元素内容区底部偏下对齐
  • text-top:行内框顶部与父元素内容区顶部偏上对齐
  • middle:行内框中线与父元素基线偏上对齐
  • 长度值:基线偏离上或下的距离
  • 百分值:基线偏离上或下的距离,相对于 line-height

注意

vertical-align 只对行内元素和置换元素有效。

vertical-align: top/bottom 本身位置相对于行框,又影响行框高度,容易迷惑,总结规律如下:

  1. 先由相对基线的元素,确定初步行框;
  2. top/bottom 的高度如果没有超过当前行框,则初步行框为最终行框,在最终行框下进行 top/bottom 定位;
  3. 否则按 top/bottom 中的最高高度元素,top 则定住当前行框顶部,向下拓高行框,bottom 反之,确定出最终行框;
  4. 其他 top/bottom 元素在最终行框下定位。

letter-spacing

letter-spacing: <字符间距> 继承

  • normal:默认字符间距 默认值
  • 长度值:对默认字符间距增加或减少的量

注意

word-spacingletter-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-wrapoverflow-wrap 的旧式写法;

tab-size

tab-size: <制表符宽度> 继承

  • 数值:空格的个数,8 默认值
  • 长度值

注意

white-space 中的空白符包括空格符和制表符,当空白符被压缩时,tab-size 也就不起作用。

direction

direction: <文本方向> 继承

  • ltr:从左到右 默认值
  • rtl:从右到左

说明

  • directiontext-align 区别在于,direction 能影响文本溢出时的方向,以及使用两端对齐时最后一行的位置;
  • direction 效果同元素中 dir 属性;

writing-mode

writing-mode: <书写模式> 继承

  • horizontal-tb:行内方向从左到右,块级方向从上到下 默认值
  • vertical-lr:行内方向从上到下,块级方向从左到右
  • vertical-rl:行内方向从上到下,块级方向从右到左

hyphens

hyphens: <连字符> 继承

  • manual:单词换行时,优先在 &shy; 处加连字符并换行 默认值
  • auto:自动加连字符
  • none:忽略连字符

字体

font-family

font-family: <字族>,# 继承

  • serif:衬线字体(字形宽度各异,有衬线)
  • sans-serif:无衬线字体(字形宽度各异,无衬线)
  • monospace: 等宽字体(字形宽度相同)
  • cursive :草书字体(手写体)
  • 字体名,如 Microsoft YaHei"Microsoft YaHei"

CSS字体font-family的正确选择方案open in new window

font-size

font-size: <字号> 继承

绝对大小

  • xx-smallx-smallsmallmedium 默认值largex-largexx-large

相对大小

  • smallerlarge

其他

  • 长度值

  • 百分值:相对于父元素字号

注意

绝对大小的值取决于浏览器偏好设置和字族,medium 默认是16px,其他值依据一定比例递增递减。显示存在不确定性,不建议使用。

font-weight

font-weight: <字重> 继承

一级字重

  • 100200300

二级字重

  • 400 | normal 默认值500

三级字重

  • 600700 | bold800900

相对字重

  • bolderlighter
/* 定义多个相同字族,对应不同字重属性和字体文件 */
@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)。

常见字型字重对应表

字型字重
Light100,200,300
Regular400
Medium500
Bold600,700
Extra Bold800,900

相对字重表

lighter继承字重bolder
100100400
100200400
100300400
100400700
100500700
400600900
400700900
700800900
700900900

font-style

font-style: <字形> 继承

  • normal:常规 默认值
  • italic:斜体
  • oblique:倾斜体

说明

obliqueitalic 的表现效果相同,作用互通。

如果定义两个同字族的 @font-face ,前后字形分别是 obliqueitalic,后者都会把前者覆盖,即应用 oblique 字形也是取 italic(后者)对应的 @font-face

font-variant

font-variant: <字体变体> 继承

  • normal :常规 默认值
  • small-caps:将小写字母转成小号的大写字母

font-stretch

font-stretch: <字宽> 继承

常规

  • normal 默认值

压缩

  • semi-condensedcondensedextra-condensedultra-condensed

扩大

  • semi-expandedexpandedextra-expandedultra-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> 继承

说明

火狐浏览器也支持该属性。

Last Updated 2024/3/14 09:51:53