Skip to content

CSS 由多个规则组成,每个规则包含了选择器和声明块,一个声明块中包含了很多声明,一个声明就对应了一种样式,或者说 CSS 属性,以下介绍常见的声明。

color ​

如果我要改变元素内部的文字颜色,那么就应该使用 color 属性

css
.test{
	color:red;
}

class 属性为 test 的元素,文字颜色会变成红色。

在 chrome 调试工具中的以下位置可以快速测试样式
1915e7a375bc33e0f25db5cb90b2cafa_MD5

颜色的属性值有很多写法

  • 预设值: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 元素没有设置字体大小,则会使用基准字号,浏览器可以设置这个基准字号。
c85c1045bc49e216422ce52ad61ce478_MD5
c927087a82fd86b4e5bd55bad37e56a2_MD5

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:靠左对齐

以笔记为镜,可以知得失