4. 元素选择器详解
4.1 元素选择器
4.2 选择器分组
用英文逗号","相连,使用相同的样式表
使用通配符对所有元素进行通用设定。
4.3 类选择器详解
4.3.1. 类选择器允许以一种独立于文档元素的方式来指定样式
.class{}
4.3.2. 结合元素选择器
a.class{} (只指定a标签内的class类)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>选择器</title> <style> a.div{ color:red; } /*只改变a标签下类为div的元素样式*/ </style> </head> <body> <div class="div"> hello world! </div> <a href="#" class="div"> hello world! </a> </body> </html>
4.3.3 多类选择器
.class.class{} (设置两个类的共同的独有的特性)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .p1{ color:blue; } .p2{ font-size:30px; } .p1.p2{ font-style:italic; } </style> </head> <body> <p class="p1"> p1p1p1p1p1p1p1 </p> <p class="p2"> p2p2p22p2p2p2p2 </p> <p class="p1 p2"> p3p3p33p3p33p3p </p> </body> </html>
4.4 id选择器详解
4.4.1. ID选择器类似于类选择器,不过也有一些重要差别
例如:#id{}
4.4.2. ID只能在文档中使用一次,而类可以多次使用
ID选择器不能结合使用
当使用js的时候,需要使用到id
4.5 属性选择器详解
4.5.1 简单属性选择
[title]{}
4.5.2 根据具体属性进行选择
4.5.3 属性和属性值必须完全匹配
4.5.4 根据部分属性值选择
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> [title]{ color:aqua; } /*title不指定具体的值就是默认 让所有的title元素都是用这个样式表 */ [href="http://www.baidu.com"]{ font-size: 30px; } [title~="hello"]{ font-size: 50px; } /*~=符号是用来进行模糊选择的,只要类名中有提供的字眼就可以。*/ </style> </head> <body> <p title="hello"> hello; </p> <p title="hel"> hello; </p> <p title="world hello"> hello; </p> <p title="hello"> hello; </p> <a href="http://www.baidu.com">百度</a> </body> </html>
4.6 后代选择器
后代选择器可以选择作为某元素后代的元素
在4.7中查看代码
4.7 子元素选择器
与后代选择器相比,子元素选择器只能选择作为某元素子元素的元素。
后代选择器不能隔代选择元素,只能一代挨着一代选择
例如:h1>strong{}
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>选择器</title> <style> p strong{ color:red; } p strong i{ color:aqua; } /*后代选择器可以隔代选择元素*/ p>b{ color: deepskyblue; } /* p>strong>b{ color: deepskyblue; } 子元素选择器必须这样写才可以实现效果 子元素选择器不能隔代选择元素 */ </style> </head> <body> <p><strong> p strong后代选择器; </strong></p> <p> <strong> <i> p,strong,i后代选择器; </i> </strong> </p> <p> <strong> <b> p,strong,i后代选择器设置蓝色不起作用; </b> </strong> </p> </body> </html>
4.8 相邻兄弟选择器
可选择紧接在另一个元素后的元素,且二者有相同的父元素
例:h1+p{};
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> li+li{ font-size: 50px; color:blanchedalmond; } /*让同一父元素之下的第一个li标签下的其他li标签样式更改。 最终效果是两个列表下的除了第一个的li其他的li样式都会更改。 */ </style> </head> <body> <div> <ul> <li>item1</li> <li>item2</li> <li>item3</li> </ul> <ol> <li>item11</li> <li>item22</li> <li>item33</li> </ol> </div> </body> </html>