css3如何选择有两个div的父级div

<div class="btn">
    <div>11</div>
    <div>22</div>
</div>    

.btn如果有两个div子元素就选择生效,如果是1个就不选择 不生效,如果做呢,或者scss,less等
总的意思就是如果.btn只有一个子元素,我就对.btn进行设置,否则如果不是只有一个元素,.btn设置不生效或者不设置

阅读 1.9k
3 个回答
<body>
    <div class="box2">
        <div class="btn">
            <div>11</div>
        </div>
    </div>
    <div class="box1">
        <div class="btn">
            <div>11</div>
            <div>22</div>
        </div>
    </div>
    <div class="box3">
        <div class="btn">
            <div>11</div>
            <div>22</div>
            <div>33</div>
        </div>
    </div>

    <script>
        let btn = document.querySelectorAll(".btn")
        for (let i = 0; i < btn.length; i++) {
            const item = btn[i];
            if (item.children.length == 2) {
                console.log(item.parentNode);
            }
        }
    </script>
</body>

打印结果

image.png

你看这个是你想要的效果吗?

纯用css,我觉得这不太现实,我劝你等等CSS5 🤭(捂嘴偷笑)

这跟现在浏览器的渲染机制有关系

可以看看CSS世界作者张鑫旭写的这篇博客的第一部分:

https://www.zhangxinxu.com/wo...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题