CSS的语法规则由两个主要的部分构成:CSS选择器(selector),以及一条或多条声明(declaration),如下:
selector {declaration1; declaration2; ... declarationN }
选择器标明了我们要操作的HTML元素。 每个声明用分号隔开,最后一个声明不用。
而每一个声明由一个属性名和一个值组成。属性名和值被冒号分开。如下:
selector {property: value}
property是希望设置的样式属性的名字,也就是上边所说属性名。每个属性有一个值。这种匹配的方式又被成为键值对(key-value)的方式;
举例说明:
注:按照编程范式分,CSS属于声明式。与之相比更常见的是命令式。比如我们刚学js的时候写的代码大都符合命令式风格。但是不代表js不能写出声明式风格的代码.
接下来重点介绍选择器
元素选择器
元素选择器就是以HTML标签(又叫HTML元素)作为目标的选择器。 这种选择器的目的,是改变某类元素的默认样式。比如
h1 { font-size: 12px;}
所有的h1标签的font-size属性都会设置为12px。
但是CSS属性的影响有的不是只面对这个元素,比如color,当我们设置一个元素的color为一个值的时候,他所有子元素的color都会变成这个值。这就涉及到样式继承了(博客地址)://www.greatytc.com/p/d0c035ae63dd
后代选择器
类选择器
类选择器(Class Selector)是一种独立于HTML元素来指定样式的选择器。形如:
.warning{ color: red;}
我们通过class属性,将这个类与HTML元素关联在一起。
<h1 class="warning">我是警告标题</h1>
<p class="warning">我是警告内容</p>
这样h1元素和p元素的样式就可以设置color属性为red了。
类选择器可以与其他选择器搭配使用,比如还是上面的HTML代码,但是css我们写成:
h1.warning{ color: red;}
这样就只有h1元素样式的color属性被设置成red了。p元素没变化。
当我们期望类选择器是适用于所有元素的时候除了最开始的我们不加任何前缀的方式,还是可以加一个*
的前缀,如
*.warning{ color: red;}
这跟不加*
表达的含义是一样的,*
在软件开发的各种表达式里都有通配(通用适配,即适用于所有)的意思。在CSS里又称通配选择器。
注意: css中,类选择器是大小写敏感的。 但是强烈不建议使用大写。在CSS传统中几乎所有单词大都使用小写。
类选择器也不支持空格,如有多个单词组成类名,单词间一般使用"-"链接,比如 .warning-title
ID选择器
CSS的第三个重要的选择器是ID选择器。 ID 选择器前面有一个#
号, 英语中叫hash或sharp。形如:
#warn-ing-title { font-weight: bold;}
这个ID对应着HTML标签的ID属性
注意:
ID选择器也是大小写敏感的,而且也不支持空格,相关原则与类选择器一样;
虽然ID选择器也可以与其他选择器配合使用,但是ID是用来标记html元素的唯一记号,所以请不要这样使用,同时请不要在一个页面使用超过一个同名ID。