CSS3 文本

CSS1和CSS2的文本

CSS的文本主要分为3个大类,字体,颜色和文本排版样式,颜色很简单就是color属性,后边还会单独介绍颜色,这里复习一下字体属性和文本排版样式属性。由于文本是很重要的一环,所以CSS3之前的文本功能也比较齐全了。

CSS字体属性
属性 功能
font-familiy 字体类型 根据浏览器支持程度和系统来取值,一定要有兜底字体。不过现代浏览器在找不到字体的时候也会有默认字体。
font-style 字体样式,该属性一般用来设置斜体因为语义不对,一般用于把非正常倾斜的字体恢复正常,比如一些图标字体。 normal默认值,italic斜体,oblique倾斜,用于定义字体样式
font-weight 字体粗细,要看字体的粗细程度有几种,一般100轻,400正常,700粗体。 100-900,也可以用文字:normal,bold,bolder,lighter,具体哪些值有效果要看字体支持的字重。
font-size-adjust 定义是否强制文本采取同一尺寸,不常用
font-stretch 是否横向拉伸字体,不常用
font-variant 定义字体大小写样式 normal表示默认,small-caps表示小型的大写字母字体,将小写字母显示为小型的大写字母。
CSS文本类型
属性 功能
word-spacing 词之间的间距 normal或者具体值,可以是负数
letter-spacing 字符之间的间距 normal或者具体值
vertical-align 这个实际上对所有内联样式有效 可以设置为baseline,sub,super,bottom,top,middle等,常用来将图片与底部对其。
text-decoration 定义修饰线 none,underline,overline,line-through,blink
text-indent 文本首行缩进 一般用em来控制缩进距离
text-align 水平居中,对所有内联标签有效 left,center,right,justify
line-height 行高,就是字基线之间的距离 将行高设置为和盒子一致可以让字垂直居中对齐。
text-transform 每个词的大小写 uppercase大写,lowercase小写,capitalize首字母大写,注意这个是针对每个单词的。
white-space 文字之间和文本之间的空白间距,常用于把一段排的乱七八糟的文本正常显示 nowrap空白符合并,换行符忽略,pre空白和换行符保留,pre-wrap空白符换行符保留,pre-line空白符合并,换行符保留
direction 控制文本流入的方向 ltr左侧流入(默认),rtl右侧流入。不仅是文字,排版方向也会改变,比如只改变rtl的话,文字变成默认右对齐。

CSS3文本属性

CSS3文本针对本来就比较全的文本属性引入和强化了一些新属性,用于更方便的排版

  • text-shadow

    • 4个参数,分别是颜色,X轴偏移,Y轴便宜,模糊半径
    • 模糊半径只能取正值,和box-shadow很类似
    • 支持多个阴影叠加,常用于制作立体文本
    • 4个参数,分别是颜色,X轴偏移,Y轴便宜,模糊半径
  • text-overflow

    • 只能取一个值,不能同时设置,分别是clip 或 ellipsis
    • clip 表示直接剪裁
    • ellipsis表示显示省略号
    • 这个属性比较有意思,由于文本在浏览器内优先度很高,显示不下会自动换行以保证显示,如果要实现显示省略号的效果,必须要和 overflow: hidden 和 white-space:
      nowrap
      搭配使用。在京东项目里已经使用过了。
  • word-wrap

    • 这是控制文本换行的属性,一个值,可取 nomral 或 break-word
    • normal表示浏览器只在半角空格或连字符(减号)的地方进行换行
    • break-word表示到了边界就换行,但是不截断英文单词
  • word-break

    • 用于检索单词内换行的行为,值可以选 normal, break-all 和 keep-all
    • normal表示保留整个单词
    • break-all表示强行截断英文单词,达到词内换行效果
    • keep-all不允许断开单词,中文的话把前后标点符号内的一个汉字短语整个换行,英文单词整个换行。