美文网首页
详解css选择器

详解css选择器

作者: 辉夜真是太可爱啦 | 来源:发表于2019-11-21 21:19 被阅读0次

1.element,element,例如h1,p,选择所有 <h1> 元素和所有 <p> 元素。

<!DOCTYPE html>
<html>

<head>
    <style>
        h1,p {
            background-color: yellow;
        }
    </style>
</head>

<body>
    <h1>我是h1标签</h1>

    <div class="intro">
        <p>我是p标签</p>
        <p>我是p标签</p>
    </div>

    <p>我是p标签</p>

</body>

</html>
效果如图,可以看到只要是<h1>或者<p>标签,无论是否被嵌套等情况,只要标签的名字相等,都有相同的效果
image.png

2.element element,例如div p,选择div内部的所有p元素

<!DOCTYPE html>
<html>

<head>
    <style>
        div p {
            background-color: yellow;
        }
    </style>
</head>

<body>

    <div class="intro">
        <p>div标签下的p标签</p>
    </div>

    <p>body下的p标签</p>

</body>

</html>
效果如图,只有<div>元素内的<p>标签才会被选中,没有<div>标签嵌套的<p>标签则不会被选中
image.png

3.element>element,例如div>p,选择父元素为 <div>元素的所有 <p> 元素

<!DOCTYPE html>
<html>
<head>
<style>
div>p
{
background-color:yellow;
}
</style>
</head>
<body>
    <div>
        <p>父级标签为div的p标签</p>
    </div>
    <p>父级标签为body的p标签</p>
    <div>
        <span>
            <p>父级标签为span的p标签</p>
        </span>
    </div>
</body>
</html>
效果如图所示,只有父级标签为<div><p>标签才会被选中
image.png

4.element+element,例如div+p,选择紧接在 <div> 元素之后的所有 <p> 元素。

<!DOCTYPE html>
<html>

<head>
    <style>
        div+p {
            background-color: yellow;
        }
    </style>
</head>

<body>

    <div>
        <p>div内的p标签</p>
        <div>紧接着p标签的div标签</div>
        <p>紧接着div标签的p标签</p>
    </div>

    <p>紧接着div标签的p标签啦啦啦</p>

    <p>紧接着p标签的p标签</p>

</body>

</html>
效果如图所示,只有紧接着<div>标签的<p>标签才会被选中
image.png

5.element~element,例如p~ul,选择前面有 <p> 元素的每个 <ul> 元素。

<!DOCTYPE html>
<html>

<head>
    <style>
        p~ul {
            background: #ff0000;
        }
    </style>
</head>

<body>

    <div>一个 div 元素。</div>
    <ul>
        <li>ul标签前面为div</li>
    </ul>

    <p>第一段。</p>
    <ul>
        <li>前面有p标签的ul</li>
    </ul>

    <h2>另一个列表</h2>
    <ul>
        <li>前面有p标签的ul啦啦啦</li>
    </ul>

</body>

</html>
效果如图所示,只有前面有<p>标签的<ul>标签才会被选中
image.png

6.:nth-child(n),例如p:nth-child(2),选择属于其父元素的第二个子元素的每个 <p> 元素,还有一个是:nth-last-child(n),使用方法和:nth-child(n)相同,只是:nth-child是正序,而nth-last-child(n)为倒序,从后往前数

<!DOCTYPE html>
<html>

<head>
    <style>
        p:nth-child(2) {
            background: #ff0000;
        }
    </style>
</head>

<body>

    <h1>父元素body中的第1个元素</h1>
    <p>父元素body中的第2个元素</p>
    <p>父元素body中的第3个元素</p>
    <p>父元素body中的第4个元素</p>
    <p>父元素body中的第5个元素</p>

    <p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p>

</body>

</html>
效果如图所示,在父元素中,第二个子元素的标签名也刚好为<p>,所以会被选中
image.png
当我们把第二个元素改为div元素的时候呢,来看看效果
<!DOCTYPE html>
<html>

<head>
    <style>
        p:nth-child(2) {
            background: #ff0000;
        }
    </style>
</head>

<body>

    <h1>父元素body中的第1个元素</h1>
    <div>父元素body中的第2个元素</div>
    <p>父元素body中的第3个元素</p>
    <p>父元素body中的第4个元素</p>
    <p>父元素body中的第5个元素</p>

    <p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p>

</body>

</html>
效果如图所示,在父元素中,第二个子元素的标签名为<div>,不是<p>的时候,就不会被选中
image.png
不仅如此,不光可以填写数字,还可以填写运算,例如:nth-child(2n+1),可以选择属于其父元素的所有顺序为奇数的 <p> 元素
<!DOCTYPE html>
<html>

<head>
    <style>
        p:nth-child(2n+1) {
            background: #ff0000;
        }
    </style>
</head>

<body>

    <h1>父元素body中的第1个元素</h1>
    <p>父元素body中的第2个元素</p>
    <p>父元素body中的第3个元素</p>
    <p>父元素body中的第4个元素</p>
    <p>父元素body中的第5个元素</p>
    <p>父元素body中的第6个元素</p>
    <p>父元素body中的第7个元素</p>
    <p>父元素body中的第8个元素</p>

    <p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p>

</body>

</html>
效果如图所示,在父元素中,所有次序为奇数的<p>标签都会被选中
image.png
当我们打算选中从第三个开始的p标签时(包括第三个),我们可以这样子写,:nth-child(n+3)
<!DOCTYPE html>
<html>

<head>
    <style>
        p:nth-child(n+3) {
            background: #ff0000;
        }
    </style>
</head>

<body>

    <h1>父元素body中的第1个元素</h1>
    <p>父元素body中的第2个元素</p>
    <p>父元素body中的第3个元素</p>
    <p>父元素body中的第4个元素</p>
    <p>父元素body中的第5个元素</p>
    <p>父元素body中的第6个元素</p>
    <p>父元素body中的第7个元素</p>
    <p>父元素body中的第8个元素</p>

    <p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p>

</body>

</html>
效果如图所示,在父元素中,从第三个子元素开始算起,包括第三个子元素,只要为<p>标签都会被选中
image.png

7.:only-child,例如p:only-child,选择属于其父元素的唯一子元素的每个 <p> 元素

<!DOCTYPE html>
<html>

<head>
    <style>
        p:only-child {
            background: #ff0000;
        }
    </style>
</head>

<body>

    <div>
        <p>唯一子元素的p标签</p>
    </div>

    <div>
        <div>唯一子元素的div标签</div>
    </div>

    <div>
        <span>这是一个 span。</span>
        <p>不是唯一子元素的p标签</p>
    </div>

    <p><b>注释:</b>Internet Explorer 不支持 :only-child 选择器。</p>

</body>

</html>
效果如图所示,在父元素中,只有唯一子元素的p标签才会被选中
image.png

相关文章

  • CSS选择器

    CSS 元素选择器CSS 选择器分组CSS 类选择器详解CSS ID 选择器详解CSS 属性选择器详解CSS 后代...

  • CSS选择器

    元素选择器 类选择器详解 ID选择器详解 属性选择器详解 后代选择器 子元素选择器 相邻兄弟选择器 CSS派生选择器:

  • web前端基础案例-鼠标悬停图文切换效果

    效果知识点: html/css布局思维,定位,浮动详解,css3动画详解,css3选择器详解, 通用样式与封装,企...

  • CSS3属性选择器

    CSS3中属性选着器增加了3个 结构性伪类选择器 CSS3结构性伪类选择器 CSS3选择器详解二 第二部分小节 、...

  • CSS选择器

    目录: CSS派生选择器 CSS元素选择器 CSS Id 和 Class选择器 CSS 属性选择器 CSS 派生选...

  • css选择器

    css选择器】 1.css属性选择器 2.css伪类选择器 3.css层次选择器

  • CSS 选择器

    CSS 选择器 CSS 基本选择器及其扩展 CSS 基本选择器 通配符选择器 * 元素选择器 使用标签的名称...

  • Sublime 学习web的css

    html + css + js css引用 css外部样式 css优先级 css的选择器 标签选择器 类选择器 i...

  • css flex布局详解

    css flex布局详解 css flex布局详解1css flex布局详解2

  • CSS选择器

    CSS选择器的作用 CSS 选择器用于定位我们想要给予样式的 HTML 元素。 CSS选择器的类型 CSS选择器大...

网友评论

      本文标题:详解css选择器

      本文链接:https://www.haomeiwen.com/subject/iohxwctx.html