CSS3高级选择器有哪些?下面本篇文章就来给大家介绍一下css3高级选择器。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

层次选择器

页面
<body> <!--格式化代码:ctrl+shift+F--> <h2>兄弟</h2> <p>1</p> <!-- 为了说明相邻兄弟选择器,在此处添加一个类名active --> <p>2</p> <p>3</p> <ul> <li> <p>张三</p> </li> <li> <p>李四</p> </li> <li> <p>王五</p> </li> </ul> </body>
CSS
/*后代选择器:孩子的孩子...*/
body p{
/*border: 1px solid red;*/
}
/*子选择器:body的孩子*/
body>p{
/*border: 1px solid blue;*/
}
/*相邻兄弟选择器:比较近的兄弟*/
h2+p{
/*border: 2px solid yellowgreen;*/
}
/*通用兄弟选择器:找到p远近兄弟*/
h2~p{
border: 5px solid chocolate;
}
效果:

结构伪类选择器
结构伪类选择器的内容:

页面
<body> <p>1</p> <p>2</p> <p>3</p> <ul> <li> <p>张三0</p> </li> <li> <p>李四1</p> </li> <li> <p>王五2</p> </li> <li> <p>熊大3</p> </li> </ul> </body>
CSS
/*E:first-child :找父的第一个孩子 */
/*注意:不能用body作为父*/
li:first-child{
border: 2px solid darkcyan;
}
/*E:first-child :找父的最后一个孩子 */
li:last-child{
border: 2px solid brown;
}
/*E F:nth-child(n): 找到父的孩子第几个
odd:奇数 ,even:偶数(从1开始数)
*/
/*ul li:nth-child(odd){*/
ul li:nth-child(3){
/*background-color: coral;*/
}
/*E:first-of-type:父级的第一个元素*/
li:first-of-type{
background: cornflowerblue;
}
/*E:last-of-type:父级的最后一个元素*/
li:last-of-type{
background: chartreuse;
}
/*E F:nth-of-type(n):找到子孩子的第几个*/
ul li:nth-of-type(2){
border: 10px double darkgrey;
}
/*E F:nth-last-of-type(n):子孩子中的倒数第1个同级兄弟*/
li:nth-last-of-type(1){
border: 5px double red;
}
效果:

属性选择器

页面:
<body> <a href="http://www.bAIdu.com" id="first">1</a> <a href="#" title="test website" target="_blank">2</a> <a href="sites/file/test.html">3</a> <a href="sites/file/test.png" class="links item"> 4</a> <a href="sites/file/image.jpg">5</a> <a href="efc" title="website link">6</a> <a href="/a.pdf">7</a> <a href="/abc.pdf">8</a> <a href="abcdef.doc">9</a> <a href="abd.doc" id="last">10</a> </body>
CSS
a{
width: 60px;
height: 60px;
border: 0px solid red;
background: gainsboro;
display: block; /*行级转换成块级*/
float: left; /*浮动*/
margin: 5px 10px; /*外边距*/
border-radius: 20%; /* 圆角 */
text-align: center; /*水平文本居中*/
line-height: 55px; /*垂直居中*/
font-weight: bolder; /*字体加粗*/
text-decoration: none; /*去掉下划线*/
color:black; /*字体颜色*/
}
/*E[attr]: E标签的属性id*/
a[id]{
background: mediumaquamarine;
}
/*E[attr=val]:E标签的属性href=#*/
a[href='#']{
background: chocolate;
}
/*E[attr^=val]:E标签的属性href的值以s开头*/
a[href^='s']{
background: yellowgreen;
}
/*E[attr$=val]:E标签的属性href的值以f结尾*/
a[href$='f']{
background: blueviolet;
}
/*E[attr*=val]:E标签的属性href的值包含f所有的*/
a[href*='f']{
background:coral;
}
效果:


