长度单位
em 与 ex
大多数浏览器,取 ex=0.5em
字体
CSS 制订了 5 种字体系列
- Serif : 字体成比例,不等宽,有上下短线.例如
Times
- Sans-Serif : 字体成比例,不等宽,没有上下短线,如
Arial Verdana Helvetica
- monospace : 不成比例,等宽,如
Courier New
- Cursive : 模仿人的手写体
- Fantasy : 其他不容易归类字体
font-family : 具体值,字体系列如 sans-serif;
当具体值包含空格、#、@字符时,加上引号
font-size
字体大小
可取值有
xx-small
,small
,normal
,medium
,large
,x-large
等语义值
还有相对大小larger
,samller
.相对于父元素的字体大小.- length 值,如 18px,绝对大小会继承(传递)给子元素.
- percentage,百分值,如
font-size : 90%;
,不会被继承
注意,font-size
继承的是计算值
1 | <style> |
那么 div#son 的 font-size 就是继承的10px * 120% = 12px
font属性
简写
font : font-style font-weight font-size/line-height font-family;
在 font-size 与 line-height 之间有一个斜线分隔,后面是字体名称
文本
行高line-height
: 指示文本行基线之间的距离
取值 : length 如 18px 、percentage 如 20% 、number 如 2 、normal|inherit;
- 取百分值时,同取一定数值
- 取 em 时:
line-height : 1.5em;
时,从父元素继承字体大小 px,乘以这个 1.5 - 取数值时:
line-hright : 2;
时,当前元素&子元素 都乘以 2
text-indent
文本缩进
取值
- px,em 很好理解
- 50%,100%,-100%,取值为百分数的时候,这个百分数基于父元素的宽度,文本替换的时候,不需要 text-indent : 9999em,写成百分数就可以.
text-align
横向对齐,只应用于块级元素
取值 left/right/cneter/justify(两端对齐)|inherit;
==注意手动指定 inherit,是继承值,但是它的特殊性变了==
vertical-align
垂直对齐 : 只应用于 行内元素 和 替换元素(如 img 表单)
display : table-cell 可以使普通 div 使用该功能.
取值:
- super/sub 字面意思是上下标,使该元素基线比父元素基线还远
- baseline 基线与父元素基线对齐
- top/bottom 行框与父元素行框对齐
- percentage 百分数*自己的 line-height,以父元素的基线为起点平移自己的基线
- middle 垂直居中, 该元素中点与框中点对齐,也就是父元素的基线+0.5ex
一般认为 1ex = 0.5em,0.5ex 也就是文字高度的一半
所谓基线/行框,看这个
基线,也就是下划线那个位置,是可见部分的最下面
text-transform
文本转换
取值:uppercase/lowercase/capitalize/normal/inherit
capital+ize 驼峰化,每个单词首字母大写
text-decoration
文本装饰
前面 CSS 彻底研究也说过,补充:
text-decoration 值不能继承,但父元素的 text-decoration 会贯穿子元素,设置子元素 text-decoration:none,关掉的只是子元素的 text-decoration,父元素的样式还存在,只能覆盖,无法关闭.
看实例
1 | <style> |
- 将 span 的 text-decoration:none
- 将 span 的 text-decoration:overline
而且 text-decoration 的颜色,chrome 不支持定制,和 color 属性文字颜色一致
white-space
处理空白
取值 noraml/pre/nowrap/pre-wrap/pre-line/inherit
- normal 做法,去掉多余的空白,换行符转换为空白,多个空白转换为一个空格
- pre,同 pre 标签,不会去掉
- nowrap,防止元素中的文本换行
- pre-wrap,在 pre 的基础上可以自动换行,不合并空格
- pre-line,在 pre-wrap 基础上,合并空白
示例 : http://meyerweb.com/eric/css/tests/white-space.html