文字效果

font-size

em 相对当前字体大小的相对长度单位

rem 相对 <html> 元素字体大小的相对长度单位

桌面 chrome 浏览器默认 16px, 最小 12px;

font-size: 0; 可以隐藏文字

line-height 不带单位是相对于 font-size 计算的

vetical-align 百分比数值是相对于 line-height 计算的

font-family

font-family 是文字使用的字体,可以使用字体名,和字体族两种值

字体名

比如

font-family: simsun // 宋体

font-family: 'Microsoft Yahei' // 微软雅黑

font-family: simsun, 'Microsoft Yahei' // 先查找宋体,有则使用,没有则找微软雅黑,再没有则使用默认字体

字体族

主要字体

serify: 衬线字体

sans-serify 无衬线字体

monospace 等宽字体

衬线字体: 文字笔画开始和结尾额外装饰,且笔画粗细不一致

无衬线字体: 文字笔画开始和结尾无额外装饰,且笔画粗细几乎一致

字体也可以和字体族写一块,只是字体族要放在最后,因为字体族后面的字体会被浏览器忽略

font-family: 'Microsoft Yahei', sans-serify;

等宽字体: 宽度相等的字体,一般针对英文字体,比如代码一般设置等宽字体,看起来比较舒服。

CSS3 相对单位, 1 ch 等于阿拉伯数字 0 等宽度

其他

font-weight

字体的粗细,关键字有 narmal, bolder;数值有 100, 200, 300, 400, 500, 600, 700, 800, 900,依次字体越来越粗。

font-weight 的数值也是基于字体的,如果没有相应粗细的字体,也是不起作用的。

font-style

表示字体是斜还是正;

有三种值,normal, italic, oblique。其中 italic 是使用字体的斜体版本,如果字体没有斜体版本,则单纯倾斜字体。 oblique 单纯倾斜字体

font

缩写形式没有什么价值暂且不记

使用系统字体

font: menu;

font: small-caption;

font: status-bar;

@font face

@font face 定义字体的集合。

有用的几种属性

@font-face{ 
    font-family: 'example'; 
    src: url(example.ttf); 
    font-style: normal; 
    font-weight: normal; 
    unicode-range: U+0025-00FF;
}

font-family 字体名称;

src

src 可以用 local 引用本地字体,也可以用 url() 引用外部字体。

以下是常规的使用阿里字体的方法

@font-face {
    font-family: 'webfont';
    font-display: swap;
    src: url('//at.alicdn.com/t/webfont_5q7njuqdgfg.eot'); /* IE9*/
    src: url('//at.alicdn.com/t/webfont_5q7njuqdgfg.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.woff2') format('woff2'),
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.woff') format('woff'), /* chrome、firefox */
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.svg#AlibabaPuHuiTiH') format('svg'); /* iOS 4.1- */
}

上面共使用了.eot,.woff2,.woff,.ttf,.svg等 5 中字体格式,它们的特点如下

 .eot IE 专用

 .woff 转为 web 设计字体,体积小,Android 4.4 开始全面支持。

 .woff2 web 设计字体,体积更小

 .ttf 兼容老安卓 

 .svg 为了兼容 IOS 4.1 及之前版本

故可优化代码为

 @font-face {
    font-family: 'webfont';
    font-display: swap;
    src: url('//at.alicdn.com/t/webfont_5q7njuqdgfg.eot'); /* IE9*/
    src: local('😁')
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.woff2') format('woff2'),
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.woff') format('woff'), /* chrome、firefox */
    url('//at.alicdn.com/t/webfont_5q7njuqdgfg.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
}

文本控制

text-indent 文字开始的空格。

letter-spacing 文字之间的距离。

word-spacing 空格的宽度

word-break 文本断行

normal: 默认断行规则

break-all: 在任意字符间断行

keep-all: 中日韩文本不断行,非中日韩文本 normal

break-word: 文本溢出断行

word-wrap 文本断行

normal: 默认断行规则

break-word: 文本溢出断行

white-space

设置元素中出现的空白

几种值

normal 连续的空白符会被合并,换行符无效,会自动换行

nowrap 连续的空白符会被合并,换行符无效, 不会自动换行

pre 连续的空白符会保留, 换行符也换行, 不会自动换行

pre-wrap 连续的空白符会保留, 换行符也换行, 会自动换行

pre-line 连续的空白符会合并, 换行符也换行, 会自动换行

text-align

justify 文字向两侧对齐,对最后一行无效。 文字换行时使用。

text-decoration

用于设置文本下划线、顶划线、删除线或者闪烁

text-transform

自动转换英文字母大小写, uppercase, lowercase

::first-letter 和 ::first-line

::first-letter 一行的第一个字, 注意直接选中的是哪个字!

:: first-line 多行的第一行