CSS3结构选择器

CSS3结构性伪类

<section>
    <div>我是一个普通的div标签</div>
    <span>我是一个普通的span标签</span>
    <p>我是第1个p标签</p>
    <p>我是第2个p标签</p>  <!-- 希望这个变红 -->
</section>

这样的话p:nth-child(2)将不会选择任何元素。

  • p:nth-child(odd){background:red;} //表示匹配奇数行

  • p:nth-child(even){background:red;} //表示匹配偶数行

  • p:nth-child(2n){background:red;} //里面是公式,n从0开始计算但是nth-child(0)他找不到。所以从1才开始了

  • E:nth-last-child(n)表示E父元素中的第n个子节点,从后向前计算

  • E:nth-of-type(n) 表示E父元素中的第n个子节点,且标签是E

这个和nth-child(n)不一样。他先找到的E标签然后再找到对应的个数

  • E:nth-last-of-type(n)表示E父元素的第n个节点,且类型是E从后向前计算
  • E:empty表示E元素中没有子节点.注意子节点包含文本节点
  • E:first-child 表示E元素中第一个子节点
  • E:last-child表示E元素中最后一个子节点
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv='Content-Type' content="text/html; charset=utf-8">
    <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
    <title>CSS3结构</title>
</head>
<style>
    *{margin:0px;padding:0px;}
    p:nth-child(1){background:red;}
    p:nth-child(2){background:red;} /*这样就找不到因为第二个元素不是P而是h1*/
    p:nth-of-type(3){background:red;} /*这个就是找到P元素的父元素下面P标签的第三个*/
    p:nth-last-child(1){background:blue;}  /*这个表示倒数第一个*/
    h1:nth-last-of-type(1){background:yellow;} /*这个表示找到里面的h1倒数第一个*/
</style>
<body>
<p>p1</p>
<h1>h1</h1>
<p>p2</p>
<h1>h2</h1>
<p>p3</p>
<h1>h3</h1>
<p></p>
<p>p5<span></span></p>
<p><span></span><a href="#">链接</a></p>
</body>
</html>

实例新浪头部导航

2017-05-03_115109.jpg
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>新浪头部导航</title>
    <style>
        .list {margin: 0; padding: 0; list-style: none;}
        .list li {width: 150px; border-right: 1px solid #000; float: left;}
        .list li:last-of-type {border: none;}
        .list a {float: left; width: 40px; margin: 0 5px; font: 12px/30px "宋体"; text-align: center;}
        .list li a:nth-of-type(3n+1) {font-weight: bold;}
        .list li:nth-child(3) a:nth-child(2) {color: red;}
    </style>
</head>
<body>
<ul class="list">
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
    <li>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
        <a href="#">导航</a>
    </li>
</ul>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、属性选择器 Element[attr]只使用属性名,但没有确定任何属性值p[cxy]{background: ...
    EndEvent阅读 3,085评论 0 0
  • 1.class 和 id 的使用场景? 两者都能选取DOM节点并给DOM节点添加样式,但是W3C标准里规定页面中只...
    饥人谷_米弥轮阅读 3,251评论 0 1
  • (1). 阴影模糊半径与阴影扩展半径的区别:阴影模糊半径:此参数可选,其值只能是为正值,如果其值为0时,表示阴影不...
    Leisure_blogs阅读 5,426评论 0 6
  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 5,583评论 0 7
  • E:�nth-child(n) :表示 E 父元素中的第n 个子节点。 . p:nth-child(odd){b...
    tiGress阅读 2,839评论 0 2

友情链接更多精彩内容