CSS 由多个规则组成,每个规则包含了选择器和声明块,一个声明块中包含了很多声明,一个声明就对应了一种样式,或者说 CSS 属性,以下介绍常见的声明。
color
如果我要改变元素内部的文字颜色,那么就应该使用 color 属性
css
.test{
color:red;
}class 属性为 test 的元素,文字颜色会变成红色。
在 chrome 调试工具中的以下位置可以快速测试样式
颜色的属性值有很多写法
- 预设值:CSS 标准中预定义的单词,比如 red 表示正红,blue 表示正蓝,skyblue 表示天蓝色,诸如此类。
- rgb:通过 rgb 三原色来表示颜色,三原色每一种都有 256 个取值,取值范围为 0-255,一共可以组成 256*256*256=16777216 种颜色,这是一个绝对够用的颜色数量 (数值越低表示这个颜色越浅)。rgb 表示法的表示方式有两种,下分述。
rgb(红色,绿色,蓝色):例如rgb(255,0,0)表示正红#红色绿色蓝色:这种方式叫做 HEX 表示法,这里的红绿蓝均为 16 进制。例如#ff4400表示淘宝红,#ff0000表示正红。
常用颜色
- 淘宝红:
#ff4400- 黑色:
#000000- 白色:
#ffffff- 正红:
#ff0000- 正绿:
#00ff00- 正蓝:
#0000ff- 紫色:
#ff00ff- 青色:
#00ffff- 黄色:
#ffff00- 灰色:
#cccccc
颜色的简写
#ff4400 可以简写为 #f40,同理,#cab 表示的就是 #ccaabb,即如果 RGB 的 HEX 表示法中每两位数字都相同,可以直接简写为一位。
background-color
当我们要设置背景颜色的时候,使用 background-color 属性
css
h1{
background-color:red;
}这里表示把所有 h1 元素的背景颜色设置为正红。
font-size
当我们要改变文字大小的时候,使用 font-size,改属性直接设置文字的尺寸。
font-size 最常见的单位是像素,即 px,和尺寸相关的 CSS 属性都可以使用 px 作为单位。
css
h1{
font-size:10px;
}将所有 h1 元素的字体大小设置为 10 px。
在 CSS 中,常见的大小单位除了 px 以外,还有 em,em 是一个相对单位,相对于父元素的字体大小,1 em 相当于父元素的字体大小,2 em 表示父元素的字体大小的两倍。
在 CSS 中字体或者字符大小均为字体高度,而非宽度。
不管用何种单位,最终渲染到浏览器上的单位均为 px,em 这种相对单位也只是基于父元素的字体大小,最终也会换算为 px 再进行渲染。
每个元素都有字体大小,如果一个元素并没有设置字体大小,则会继承父元素的字体大小,对于 HTML 元素来说,其为根元素,没有父元素,若 HTML 元素没有设置字体大小,则会使用基准字号,浏览器可以设置这个基准字号。
font-weight
改属性可以设置文字粗细,可以取数字或者预设值。
css
h1{
font-weight:bold;
}以上 CSS 规则就将 h1 元素字体加粗,bold 为一个预设值。
由于加粗操作需要字体适配,也就是说并不是所有字体都可以加粗,只有字体本身具备加粗版本才可以加粗。一般来说我们使用
font-weight只会选择normal或者bold两个属性之一,基本不会用到数字。
strong
strong 表示重要内容。这个元素默认字体样式为加粗。b 元素也有同样的功能。
font-family
改属性用于设置字体。
css
h1{
font-family:微软雅黑;
}以上 CSS 规则就将 h 1 元素的字体均设置为微软雅黑。
必须是用户系统中存在的取值才会生效,也就是说这个字体其实是调用的用户电脑里安装的字体,只有用户电脑里安装了这个字体,这个字体才会生效。
在 font-family 中可以设置多个字体,当用户电脑中有第一个字体的时候显示第一个字体,如果没有就显示第二个字体,以此类推。
css
h1{
font-family:consolas,微软雅黑,sans-serif;
}以上 CSS 规则就设置了,默认使用 consolas 字体,如果用户没有这个字体,则使用微软雅黑。最后的 sans-serif 表示非称线字体,这是为了防止用户电脑中啥字体都没有,写上这个字体就相当于让操作系统自行选择一个非称线字体。arial 也是一个非常常见的网页字体。
非称线字体和称线字体
非称线字体就是字体边缘没有修饰的字体,比较圆滑方正,比如微软雅黑。称线字体就是字体边缘有修饰的字体,比如宋体。非称线字体在网页上比较好看,但打印效果不是很理想。称线字体打印很好看,但网页上显示并不理想。
font-style
这个属性用于设置字体样式,通常用于设置斜体。
css
h1{
font-style:italic;
}改 CSS 规则就可以让所有 h 1 元素字体倾斜
i 元素和 em 元素
i 元素的默认样式就是倾斜字体。i 元素的倾斜样式就是通过这个 CSS 属性来实现的。i 元素虽然是倾斜字体,但更常用其表示图标,因为 i 是 icon 的首字母。除此之外,em 元素默认样式也是斜体,表示强调。
text-decoration
改属性表示文本修饰,例如下划线,中划线,上划线,就可以通过这个属性来设置。
css
h1{
text-decoration:line-through;/*中划线*/
}这个属性常用的值有三个
- line-through: 中划线
- overline: 上划线
- underline: 下划线
- none:无修饰
a 元素的下划线就是通过这个属性设置的,大多数情况下我们都要修改这个属性以去掉 a 元素默认的下划线。
del 元素和 s 元素
del 元素表示被删除的内容,这个元素的默认样式就是中划线。s 元素表示过期的内容,默认样式也是中划线。
text-indent
该样式用于设置首行文本缩进
css
p{
text-indent:2em;
}以上就设置了所有 p 元素首行缩进 2 字符。
line-height
改属性用于设置行高,行号表示每行文本的高度。该值越大,每行文本的高度就越大。
css
p{
line-height:30px;
}以上设置了所有 p 元素每行文本占 30 个像素。
改属性最常见的用途为单行文本的垂直居中,把行高设置为容器的高度,就可以让单行文本垂直居中。
如果我们的用途是设置行高,那么一般使用相对单位,设置绝对的 px 一般是用于垂直居中。
行高应该是随着元素自身文本自身文字大小变化的,一般使用纯数字,表示基于当前元素的字体大小的比例。
行高的取值
行高为什么不设置为 em 呢?因为行高我们一般设置在父元素上,由子元素继承父元素的行高。如果在父元素上设置 em 的行高,那么子元素继承过来的是父元素行高的计算属性。但如果行高使用数字,也是相对单位,则子元素继承过来的并不会是父元素的计算属性,还是这个数字,此时就会根据子元素自身的字体大小来计算。
也就是说,设置为 em,是先根据父元素字体大小计算父元素的行高,子元素再继承。设置为纯数字,是先继承,再根据子元素自己的字体大小再计算。
width 和 height
分别设置元素的宽高
css
h1{
height:100px;
width:100px;
}以上就把 h 1 元素设置成了正方形。
letter-spacing
改属性用于设置文字间隙,表示两个文本字符之间间隔多少。
css
p{
letter-spacing:5px;
}以上设置了所有 p 标签每两个文本之间间隔 5 像素。
text-align
改属性表示文字的水平对齐方式
css
p{
text-align:center;/* 文本居中对齐 */
}一般取值就这三个:
- center:居中对齐
- right:靠右对齐
- left:靠左对齐

