有关字体与文本的css特性

321 阅读5分钟

字体属性

字体属性是用来设定“文字字形”的外观表现,主要包括:

颜色, 字体名称, 大小, 是否斜体(字体样式), 是否粗体。

color, font-family, font-size, font-style,font-weight

常用字体属性如下所示:

属性名称 含义与说明 举例 其他
color 文字的颜色,又称为“前景色” color: red; color:#ff0000; color:rgb(255, 50, 100) color:rgba(250,0,0,0.7) 颜色值可以有多种写法
font-family 文字的字体,比如宋体,黑体,微软雅黑,隶书。 font-family: 宋体; font-family: 微软雅黑,宋体; font-family: “Times New Roman”; 可以设定多个值,浏览器优先使用前面的,没有再依次找后面的,或使用内部字体。
font-size 文字的大小 font-size: 14px; px是长度单位,表示“像素”
font-style 文字的样式(决定字体是正体还是斜体) font-style: itatic; font-style: normal;(默认值) (正常字体,默认值);itatic(斜体)
font-weight 文字的粗细度 font-weight: bold; font-weight:bolder; 有4个值可用: normal, bold, bolder, lighter
font 上述所有文字属性的综合属性。 font:red 宋体 14px italic bold; 属性值依次写出,空格隔开,不分顺序

文本属性

文本属性通常指的是作为文字内容的整体性特性(而不是具体文字的表现特性)。

常用属性有:

属性名称 含义 举例 其他说明
text-align 一段文字的对齐方式 text-align: center; 可用值:left, center, right, justify , inherit
text-decoration 一段文字的”修饰线” text-decoration:underline 可用值:underline(下划线),overline(上划线),line-through(中划线)
text-indent 设置一段文本的“首行缩进”的宽度(距离) text-indent: 24px; px是长度单位,表示“像素”
line-height 设定文字的“行高” line-height: 30px; line-height: 2em; em是长度单位,表示“字高”
letter-spacing 设定文字的“字符间距” letter-spacing: 3px; 注意:中文的每个字都算一个字符
word-spacing 设定文字的“单词间距” word-spacing: 15px; 注意:单词通常是以“空格”隔开的。因此,连续的中文即使很长也只能算一个单词。
white-space 文档中的空白处 white-space:nowrap 属性值:
noraml: 默认忽略多个空格,只输出一个空格
nowrap: 强制不换行
pre:空格/缩进/换行 会给保留
pre-line:合并空表(多个空格只会输出一个空格)
pre-warp:保留空白/缩进,正常换行
text-overflow 当文本溢出包含元素时发生的事情 text-overflow:ellipsis; 属性值:
clip 修剪文本
ellipsis 显示省略符号来代表被修剪的文本
string 使用给定的字符串来代表被修剪的文本
word-spacing :控制单词间空格的距离,以空格来区分单词,中英都OK
text-transform 转换大小写 text-transform:uppercase 属性值:
none(默认) 无转换
capitalize:每个单词第一个字母为大写
upercase :转换成大写
lowercase:转换成小写
overflow-wrap 当一个不能被分开的字符串太长而不能填充其包裹盒时,为防止其溢出,浏览器是否允许这样的单词中断换行 overflow-wrap: break-word 属性值:
normal:允许内容顶开或溢出指定的容器边界
break-word:内容将在边界内换行。如果需要,单词内部允许断行
direction 文字摆放方向 direction: rtl 属性值:
ltr 默认。文本方向从左到右。
rtl 文本方向从右到左。
inherit 规定应该从父元素继承 direction 属性的值。
vertical-align 设置或检索内联元素在行框内的垂直对其方式 vertical-align:middle 属性值:
baseline:将支持valign特性的对象的内容与基线对齐
sub:垂直对齐文本的下标
super:垂直对齐文本的上标
top:将支持valign特性的对象的内容与对象顶端对齐
text-top:将支持valign特性的对象的文本与对象顶端对齐
middle:将支持valign特性的对象的内容与对象中部对齐
bottom:将支持valign特性的对象的文本与对象底端对齐
text-bottom:将支持valign特性的对象的文本与对象顶端对齐
text-emphasis 向元素的文本应用重点标记以及重点标记的前景色。 text-emphasis: text-emphasis-style text-emphasis-color; 目前主流浏览器都不支持 text-emphasis 属性。
text-shadow 规定添加到文本的阴影效果。 text-shadow: 5px 5px 5px #FF0000; text-shadow: h-shadow v-shadow blur color;
text-justify 规定当 text-align 设置为 "justify" 时所使用的对齐方法。 text-justify:inter-word 属性值:
auto 浏览器决定齐行算法。
none 禁用齐行。
inter-word 增加/减少单词间的间隔。
inter-ideograph 用表意文本来排齐内容。
inter-cluster 只对不包含内部单词间隔的内容(比如亚洲语系)进行排齐。
distribute 类似报纸版面,除了在东亚语系中最后一行是不齐行的。
kashida 通过拉伸字符来排齐内容。
text-wrap 规定文本的换行规则。 text-wrap:none 属性值:
normal只在允许的换行点进行换行。
none 不换行。元素无法容纳的文本会溢出。
unrestricted在任意两个字符间换行。
suppress 压缩元素中的换行。浏览器只在行中没有其他有效换行点时进行换行。
word-break 规定非中日韩文本的换行规则。 word-break:break-all 属性值:
normal 使用浏览器默认的换行规则。
break-all 允许在单词内换行。
keep-all 只能在半角空格或连字符处换行。
word-wrap 允许对长的不可分割的单词进行分割并换行到下一行。 word-wrap:break-word; 属性值:
normal 只在允许的断字点换行(浏览器保持默认处理)
break-word 在长单词或 URL 地址内部进行换行

其他常见用法

多行文本超出用省略号代替限制行数

{
  overflow:hidden;//必须的
  word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 3; /*限制在一个块元素显示的文本的行数*/
  -webkit-box-orient: vertical;
  text-overflow:ellipsis;
}