每一条css样式声明(定义)由两部分组成,形式如下:
选择器{
样式;
}
在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。
1.标签选择器
标签选择器其实就是html代码中的标签。如右侧代码编辑器中的<html>、<body>、<h1>、<p>、<img>。
例如下面代码:
p{font-size:12px;line-height:1.6em;}
代表为p标签设置12px字号,行间距设置1.6em的样式。
2.类选择器
语法:
.类选器名称{css样式代码;}
1、英文圆点开头
2、其中类选器名称可以任意起名(但不要起中文噢)
使用方法:
第一步:使用合适的标签把要修饰的内容标记起来,
如下:<span>胆小如鼠</span>
第二步:使用class="类选择器名称"为标签设置一个类,
如下:<span class="stress">胆小如鼠</span>
第三步:设置类选器css样式,如下:
.stress{color:red;}/类前面要加入一个英文圆点/
3.ID选择器
1、使用ID选择器,必须给标签添加上id属性,为标签设置id="ID名称",而不是class="类名称"。
2、ID选择符的前面是井号(#)号,而不是英文圆点(.)。
3、id属性的值既为当前标签的id,尽量见名思意,语义化。
类选择器和ID选择器的区别
相同点:可以应用于任何元素
不同点:
1、在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。
2、可以使用类选择器词列表方法为一个元素同时设置多个样式。我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以的(不能使用 ID 词列表)。
例如:
.stress{
color:red;
}
.bigsize{
font-size:25px;
}
<span class="stress bigsize">
4.子选择器
子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素。
举例:
.food>li{
border:1px solid red;
}
这行代码会使class名为food下的子元素li(水果、蔬菜)加入红色实线边框
5.后代选择器
加入空格,用于选择指定标签元素下的后辈元素
例如:
.first span{color:red;}
这行代码会使第一段文字内容中的字体颜色变为红色
与子选择器的区别:
作用于元素的第一代后代,空格作用于元素的所有后代。
1.子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。
2.后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。
6.通用选择器
通用选择器是功能最强大的选择器,它使用一个(*)号指定,它的作用是匹配html中所有标签元素
举例:
- {color:red;}
代表将html中任意标签元素字体颜色全部设置为红色
7.伪类选择器
允许给html不存在的标签(标签的某种状态)设置样式
举例:
我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:
a:hover{color:red;} ( 重点是 :hover)
上面一行代码就是为 a 标签鼠标滑过的状态设置字体颜色变红。这样就会使第一段文字内容中的“胆小如鼠”文字加入鼠标滑过字体颜色变为红色特效。
注意点::关于伪类选择符,到目前为止,可以兼容所有浏览器的“伪类选择符”就是 a 标签上使用 :hover 了(其实伪类选择符还有很多,尤其是 css3 中,但是不能兼容所有浏览器)。其实 :hover 可以放在任意的标签上,比如说 p:hover,但是它们的兼容性也是很不好的,所以现在比较常用的还是 a:hover 的组合。
8.分组选择器
分组选择符(,),为html中多个标签元素设置同一个样式
举例:
h1,span{color:red;}
相当于
h1{color:red;}
span{color:red;}
代表为h1、span标签同时设置字体颜色为红色
选择器的优先级
1、如果一个元素使用了多个选择器,则会按照选择器的优先级来给定样式。
2、选择器的优先级依次是: 内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器
权值计算
有的时候我们为同一个元素设置了不同的CSS样式代码,浏览器是根据权值来判断的,哪种css样式的权值高的就使用哪种css样式。
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。
例如:
p{color:red;} /权值为1/
p span{color:green;} /权值为1+1=2/
.warning{color:white;} /权值为10/
p span.warning{color:purple;} /权值为1+1+10=12/
footer .note p{color:yellow;} /权值为100+10+1=111/
选择器最高层级!important
有些特殊的情况需要为某些样式设置具有最高权值,使用!important。
举例:p{color:red!important;}
注意:!important要写在分号的前面