元素选择器(元素就是标签,标签就是元素)
作用:通过元素选择器可以选中页面中的所有指定元素
语法:标签名{}
id选择器
-通过我们的元素的id属性值选中唯一的一个元素
-语法:
#id属性值{}
类选择器
(我们可以为元素设置class属性,和id属性类似,
只不过class属性可以重复
拥有相同class属性值的元素,我们可以说他们是一组元素
可以同时为一个元素设置多个class属性值,多个值之间用空格隔开)
-通过元素的class属性值选中一组元素
-语法:
.class属性值{}
选择器分组(并集选择器)
-通过选择器分组可以同时选中多个选择器对应的元素
-语法:选择器1,选择器2,选择器3...选择器N{}
通配选择器
-可以选择页面中的所有元素
-语法:*{}
复合选择器(交集选择器)
-作用:
可以选中同时满足多个选择器的元素
-语法:
-选择器1选择器2选择器N{}
注:对于我们的id选择器来说,不建议使用我们的复合选择器
元素之间的关系
父元素:直接包含子元素的元素
子元素:直接被父元素包含的元素
祖先元素:直接或间接包含后代元素的元素,父元素也是祖先元素
后代元素:直接或间接被祖先元素包含的元素,子元素也是后代元素
兄弟元素:拥有相同父元素的叫做兄弟元素
后代元素选择器
-作用:选择指定元素的指定后代元素
-语法:祖先元素 后代元素{}
子元素选择器
-作用:选中指定父元素的指定子元素
-语法:父元素>子元素
IE6及以下的游览器不兼容
伪类选择器
伪类专门用来表示元素的一种特殊的状态,比如:访问过的超链接,比如普通的超链接,比如获取焦点的文本框
当我们需要为处在这些特殊状态的元素设置样式的时候,就可以用伪类
:link
-表示普通的链接(没有访问过的链接)
:visited
-表示访问过的链接
浏览器是通过历史记录来判断我们的一个链接是否被访问过,
由于涉及到了我们的用户的隐私问题,所以使用visited伪类只能设置字体的颜色(这里只有IE6可以设置字体的背景颜色)
:hover
-表示鼠标移入的一个状态
:active
-表示超链接被点击的一个状态
以上两者也可以为其他元素设置(IE6不支持对超链接以外的元素设置这两个伪类)
以上两者也可以为其他元素设置(IE6不支持对超链接以外的元素设置这两个伪类)
:focus
-获取焦点
:selection
-选择的内容使用样式
注意:这个伪类在火狐里面需要采取另一种方式编写::-moz-selection{}
-moz-火狐专用标识
如果需要兼容多个游览器的话,这里我们可以同时采用这两个语句
伪元素选择器
使用我们的伪元素来表示元素中的一些特殊的位置
:first-letter
-为p中第一个字符元素来设置一个特殊的样式(首字母)
:first-line
-为p中的第一行元素设置一个特殊样式(首行)
:before
-表示元素最前面的位置(部分)
-一般我们的before都需要结合content这个样式一起使用,
通过content也可以向before或after的位置添加一些内容
:after
-表示元素最后面的位置(部分)结束标签的前面
属性选择器
作用:可以根据元素中的属性或属性值来选取指定元素
语法:
[属性名]选取含有指定属性的元素
[属性名="属性值"]选取含有指定属性值的元素
[属性名^="属性值"]选取属性值以指定内容开头的元素
[属性名$="属性值"]选取属性值以指定内容结尾的元素
[属性名*="属性值"]选取属性值以包含指定内容的元素
title属性,这个属性可以给任何标签指定,当标签移入到元素上时,元素的title属性的值将会作为提示文字显示
子元素的伪类
:first-child 可以选中第一个子元素
:last-child 可以选中最后一个子元素
:nth-child(n)可以选择任意位置的子元素(n代表的是第几个元素)
该选择器的后面还可以指定一个参数,选定要选中的第几个子元素
even 表示偶数位置的子元素
odd 表示奇数位置的子元素
:first-of-type
:last-of-type
:nth-of-type
上面三个和:first-child这些非常类似,只不过child,是在所有的子元素中进行排列,而type,是在当前的类型的子元素中进行排列
兄弟元素选择器
后一个兄弟选择器(相邻兄弟选择器)
作用:可以选中一个元素后紧挨着的指定的兄弟元素
语法:前一个+后一个
选中后面的所有兄弟元素(兄弟选择器)
作用:选中该元素后面的所有兄弟元素
语法:前一个~后面所有
否定伪类
作用:可以从已选中的元素中剔除出某些元素
语法: :not(选择器)