伪类 :nth-child和:nth-of-type的顺序问题

发布于 2022-09-13 00:43:00 字数 1316 浏览 11 评论 0

html代码:

<body>
    <header>
        <h1>知识</h1>
        <!-- 设置下边阴影 -->
    </header>
    <main>
        <section>
            <div>
                <p>1</p>
                <p>2</p>
                <p>3</p>
            </div>
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
            <div>
                <p>1</p>
                <p>2</p>
                <p>3</p>
                <p>4</p>
            </div>
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
        </section>
        <aside>
            <!-- 侧栏目录 -->
        </aside>
    </main>
    <footer>
    </footer>
</body>

</html>

css代码:

/* div :nth-of-type(odd) {
    background-color: green;
} */

section :nth-child(odd) {
    background-color: green;
}

p:nth-child(odd) {
    color: red;
}

问题就在与排序的问题,
顺序分为了两段进行渲染,我搞不懂。。。选择的原理,只知道nth-child如果确定第几个子元素,但不是该tag就会渲染失效,但是这里显然不是这个问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无尽的现实 2022-09-20 00:43:00

section :nth-child(odd) {
background-color: green;
}

这段就是 <section> 里面每个元素第odd个背景是绿色(包括section元素),相当于加了*(通配符)

p:nth-child(odd) {
color: red;
}

这段就是p下第odd个元素,把上面的*变成p

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文