- Web前端学习笔记:HTML5+CSS3+JavaScript
- 王涛 杨延成 姜浩
- 1815字
- 2020-06-24 22:37:59
6.1 CSS常用文本属性
首先介绍CSS的文本属性,使用CSS属性不仅可以控制文字的大小、颜色和字体等,还可以设置整个段落的行高、对齐方式等属性,大大提高网页的可读性。
6.1.1 字体、字号与颜色属性
1.字体
(1)font-family:字体族,设置字体
可以同时设置多个字体,多个字体样式间用逗号分隔,浏览器解析时,会从左往右依次查找。选择可用字体,当浏览器找不到可用字体时,将使用系统默认字体。
一般情况下,前面使用具体字体名称,最后一个使用字体族类名称。表6-1是常用字体族名称及说明。图6-1所示为衬线体与非衬线体。
表6-1 常用字体族名称及说明
图6-1 衬线体与非衬线体
基本语法如下:
(2)font-style:设置字体样式
通常使用其中的两个属性值:正常(normal)和斜体(italic)。
基本语法如下:
font-style:italic;
(3)font:缩写形式
font的缩写形式依次为font-style、font-weight、font-size/line-height、font-family,分别是字体样式、字体粗细、字号/行高、字体族。
在使用font属性时须注意以下问题:
1)使用时必须严格按照上述顺序。
2)多个样式之间用空格分隔,且font-size/line-height必须作为一对用/分隔。
3)font-size和font-family必须指定,其他样式不指定将采用默认样式显示。
基本语法如下:
2.字号
(1)font-weight:设置字体粗细
可选属性值:bold加粗、lighter细体或者填写100~900的数字(其中400为正常,700为加粗)。
(2)font-size:设置字体大小
属性值通常为**px或**%(其中百分比代表浏览器默认字体大小的百分比,绝大部分浏览器默认为16px)。
3.字体颜色
(1)color:设置字体颜色
属性值有3种表达方式。
1)直接写颜色的英文名字:red、green、blue等。
2)十六进制写法:#FFFFFF,#后每位可选值为数字0~9以及英文的a~f,每两位表示一种颜色,分别对应红绿蓝的比例(最常用,推荐)。
3)rgb写法:
rgb(0~255,0~255,0~255)
rgba(0~255,0~255,0~255,0~1)第4位数表示透明度,0表示全透明,1表示不透明。
(2)opacity:设置透明度
属性值为0~1的数字。
注意:使用opacity时当前元素以及子元素均会透明;而使用rgba调整时,只会使当前元素透明,不会改变子元素透明度。
代码示例如下:
6.1.2 文本属性
1.line-height
设置行高,属性值表达方式有以下3种。
1)像素单位,如48px。
2)纯数值,表示正常行高的倍数。
3)百分数,表示正常行高的百分数。
line-height有一个典型应用,就是可以调整元素中文本垂直居中,设置方式为让控件的height等于控件的line-height。
代码示例如下:
height:100px;
line-height:100px; /*设置行高等于高度,则当前元素中文字垂直居中*/
2.text-align
设置块级元素中文字的水平对齐方式,属性值有left、center、right。
代码示例如下:
代码运行效果如图6-2所示。
图6-2 文字对齐方式效果
3.letter-spacing
设置字符间距,即字与字之间的间距,属性值通常为**px。
4.text-decoration
文本修饰属性,常用属性值有四个,分别为下画线underline、删除线line-through、上画线overline、不做修饰none。
代码示例如下:
代码运行效果如图6-3所示。
图6-3 文本修饰效果
5.overflow(overflow-x和overflow-y)
控制超出范围文本的显示方式,常用属性值有以下三个。
1)auto:根据文字多少自动显示滚动条。
2)scroll:始终显示滚动条。
3)hidden:超出范围文本隐藏,可以通过overflow-x和overflow-y分别设置水平垂直方向的隐藏。
注意:这个属性已经在第4章中进行详细讲解,此处不再赘述。
6.text-overflow
设置多余文字的显示方式,常用属性值有两个。
1)clip:裁剪文本;
2)ellipsis:使用省略号代替多余文字。
7.white-space
设置元素内的空白符怎样处理。常见属性值如下:
1)normal:默认,空白会被浏览器忽略。
2)nowrap:设置中文行末不断行显示。
3)pre:空白会被浏览器保留。作用类似HTML中的<pre>标签。
【重点】如何让每行多余文字显示省略号?
1)white-space:nowrap;如果是中文,需设置行末不断行。
2)overflow:hidden;设置控件超出范围隐藏。
3)text-overflow:ellipsis;设置多余文本省略号显示。
8.text-shadow
文本阴影,有4个属性值。
1)水平阴影距离:必写,数值越大,阴影右移。
2)垂直阴影距离:必写,数值越大,阴影下移。
3)阴影模糊距离:可写,数值越大,阴影越模糊。默认为0,不模糊。
4)阴影颜色:可写,默认为黑色。
代码示例如下:
代码运行效果如图6-4所示。
图6-4 文字阴影效果
这里还需要补充,文本阴影可以同时设置多个阴影,每个阴影效果之间以逗号分隔即可。例如,将上述阴影代码改为下述语句:
代码运行效果如图6-5所示。
图6-5 多个文字阴影效果
9.text-indent
首行缩进,可以使用像素值调整段落文字的首行缩进大小。
代码示例如下:
text-indent:32px;//首行缩进32px,默认字体大小16px的情况下,将首行缩进两个字
10.text-stroke
设置文字描边,需要注意的是text-stroke只能在webkit内核浏览器中使用,所以必须使用“-webkit-”前缀,共接收两个属性值分别为描边的粗细,描边的颜色。
代码示例如下:
代码运行效果如图6-6所示。
图6-6 文字描边效果