HTML css3选择器小总结
1 层级选择器:
(1)E>F:子代选择器:选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
(2)相邻兄弟选择器:E+F:选中同级元素中紧挨着的兄弟元素
(3)通用选择器:E~F :选中同级元素中E之后的所有兄弟元素
2属性选择器:
1、E[attr]:只使用属性名,但没有确定任何属性值;
2、E[attr=“value”]:指定属性名,并指定了该属性的属性值;
3、E[attr~=“value”]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写`
4、E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的;
5、E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的
6、E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value;
<style>
p[title]{
/* */
background-color: antiquewhite;
}
/* */
p[title="p2"]{
background-color: aquamarine;
}
/* 选中属性值p2开始的属性的元素 在本例中是第五和第三*/
p[title^="p2"]{
background-color: cha选中属性值p2结束的属性的元素 在本例中是第五和第四rtreuse;
}
/* */
p[title$="p2"]{
background-color: pink;
}
/* 所有包含属性title并且属性值是p2的元素 */
p[title*="p2"]{
background-color:black;
}
</style>
三、伪类选择器
1、结构性伪类选择器
X:first-child 匹配子集的第一个元素。IE7就可以支持
X:last-child匹配父元素中最后一个X元素
X:nth-child(n)用于匹配索引值为n的子元素。索引值从1开始
X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。
X:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML
X:empty匹配没有任何子元素(包括包含文本)的元素X
<style>
p:nth-of-type(2){
/*选中同级中同类型的第二个元素 */
background-color: aqua;
}
p:nth-last-of-type(2){
/* 选中同级中同类型的倒数第二个元素 */
border: 2px black solid;
}
a:first-of-type{
/* 选中同级中同类型的的第一个元素 */
background-color: burlywood;
}
a:last-of-type{
/* 选中同级中同类型的的最后一个元素 */
background-color:pink;
}
img:only-of-type{
/* 选中同级中同类型的唯一一个元素 */
border: 5px solid gray;
}
</style>
</head>
<body>
<!-- 混搭 一个模块里面有很多不同的标签 -->
<div>
<p>p1 结构伪类选择器第二类:一般于元素类型多种多样的情况下</p>
<p>p2</p>
<a href="">a1</a>
<a href="">a2</a>
<p>p3</p>
<p>p4</p>
<a href="">a3</a>
<img src="../day06/Image.png" alt="">
<a href="">a4</a>
</div>
</body>
2、目标伪类选择器
E:target 选择匹配E的所有元素,且匹配元素被相关URL指向
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width: 200px;
height: 200px;
border: 2px solid black;
}
div:target{
background-color: blueviolet;
}
</style>
</head>
<body>
<!-- 适用于处于激活状态下的锚点 -->
<!-- 设置两个锚点 -->
<a href="#box1">阿莫定1</a>
<a href="#box2">阿莫定2</a>
<div id="box1">盒子1</div>
<div id="box2">盒子二</div>
</body>
</html>
3、UI 元素状态伪类选择器
E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E
E:selection 匹配E元素中被用户选中或处于高亮状态的部分
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
input[type="text"]:enabled{
background-color: aqua;
}
/* 表单控件处于禁用状态下的样式,注意是已经处于禁用状态下 */
input[type="password"]:disabled{
background-color: brown;
}
input[type="checkbox"]:checked{
background-color: bisque;
width: 20px;
height: 20px;
}
</style>
</head>
<body>
<p><input type="text">文本</p>
<p><input type="password" disabled>密码</p>
<input type="checkbox">晋中学院
<input type="checkbox">杭州电子科技大学
<input type="checkbox">千峰
</body>
</html>
4、否定伪类选择器
E:not(s) (IE6-8浏览器不支持:not()选择器。)
匹配所有不匹配简单选择符s的元素E
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
li{
width: 300px;
height: 50px;
text-align: center;
line-height: 50px;
/* list-style: none; */
}
li:not(:last-of-type){
border-bottom: 2px solid black;
}
</style>
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</body>
<!-- E:not(s) (IE6-8浏览器不支持:not()选择器。()里是选择器)
匹配所有不匹配简单选择符s的元素E -->
</html>