css - 在选择嵌套的相同类元素时遇到问题

标签 css

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 3 年前

我很难找到一种干净且非 hacky 的方式来选择我的嵌套 intro-cntnr div。每个嵌套的 intro-cntnr 都有不同的转换延迟。我一直在寻找类似 nth-type-of 的东西,但它不起作用,因为它们是嵌套的。在 css 选择器方面我还能使用什么?

  <div className="intro-cntnr">
        <span className="intro-msg wht"></span>
        <div className="intro-cntnr">
            <span className="intro-msg big wht"></span>
            <div className="intro-cntnr">
                <span className="intro-msg gry">
                    <span className="neon"></span>
                </span>
                <div className="intro-cntnr">
                    <div className="intro-cntnr">
                        <span className="intro-msg gry"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>

最佳答案

特异性是一个关键的解决方案。根据选择器路径中使用的内容,选择器越长,值就越高。 具体规则是:

  • 内联样式 = 1000
  • ID = 100
  • 类 = 10
  • 标签名称/元素 = 1

您不需要进行计算,但请记住,指定越多意味着定位所需元素的机会就越大。 <强> more on Specificity

以下代码段显示了基于不同选择器的不同结果。

.intro-cntnr .intro-cntnr .intro-cntnr .intro-cntnr .intro-cntnr{
  color: red;
}

.intro-cntnr .intro-cntnr .intro-cntnr{
  color: yellow;
}

.intro-cntnr .intro-cntnr{
  color: blue;
}

.intro-cntnr{
  color: green;
}
<div class="intro-cntnr">
        <span class="intro-msg wht">Target value 10</span>
        <div class="intro-cntnr">
            <span class="intro-msg big wht">Target value 20</span>
            <div class="intro-cntnr">
                <span class="intro-msg gry">
                    <span class="neon">Target value 30</span>
                </span>
                <div class="intro-cntnr">
                    <div class="intro-cntnr">
                        <span class="intro-msg gry">Target value 40</span>
                    </div>
                </div>
            </div>
        </div>
    </div>

另外选择使用什么样的选择器也会影响结果 Here is a reference to css selectors

根据之前的规则找到适合自己的,就会得到结果。或者简单地将 ID 添加到样式所需的元素 :')

关于css - 在选择嵌套的相同类元素时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59722742/

上一篇:html - flex 元素不起作用。我怎样才能修复我的代码来解决这个问题?

下一篇:html - 尝试调整我的 Logo 的大小并在不调整导航栏大小的情况下在 Logo 的侧面添加标题

相关文章:

html - 如何在不完全删除 Zalgo 文本的情况下避免到处流血?

css - Mac 无法在浏览器中呈现字体

html - 如何在 CSS 中减少 HTML A4 尺寸边距

html - Safari 打印时不显示多列布局

jquery - 如何在 Ajax 调用中获取最新的 csv 文件?

css - 是否有 CSS 父级选择器?

css - 如何更改 Angular CDK 拖放的 z-index?

css - Birt:rptdesign 中的 CSS 条件

CSS - 填充剩余高度(动态内容)

html - 白色框出现在我的导航栏顶部