当前位置: 首页 > 面试题库 >

如果样式中的子项带有css,则将样式应用于父项

祁宾白
2023-03-14
问题内容

我想申请stylesparent它是否有child元素。

到目前为止,我已经将样式应用于child元素(如果存在)。但我想styleparent,如果parentchild,仅使用CSS

以下是 html

<ul class="main">
    <li>aaaa</li>
    <li>aaaa</li>
    <li>aaaa</li>
    <li>aaaa</li>
    <li>aaaa
        <ul class="sub">
            <li>bbbb</li>
            <li>bbbb
                <ul>
                    <li>cccc</li>
                    <li>cccc</li>
                    <li>cccc</li>
                </ul>
            </li>
            <li>bbbb</li>
            <li>bbbb</li>
            <li>bbbb</li>
        </ul>
    </li>
    <li>aaaa</li>
    <li>aaaa</li>
    <li>aaaa</li>
</ul>

css代码

* {
    margin:0;
    padding:0;
    text-decoration:none;
}
.main li {
    display:inline-block;
    background:yellow;
    color:green;
}
.main > li > ul > li {
    background:orange
}
.main > li > ul > li > ul >li {
    background:pink;
}

问题答案:

CSS3不可能。有一个建议的CSS4选择器,$可以做到这一点,它看起来像这样(选择li元素):

ul $li ul.sub { ... }

作为替代方案,使用jQuery,您可以利用的单行代码是这样的:

$('ul li:has(ul.sub)').addClass('has_sub');

然后,您可以继续li.has_sub在CSS中设置样式。



 类似资料:
  • 问题内容: 我想将CSS文件应用于页面中的具体DIV。这是页面结构: 我试图应用CSS文件的规则来编辑它(CSS文件太大): 但是该解决方案不起作用。那么,我该怎么做呢? 问题答案: 您可以尝试: 等等,这就是您想要的吗?

  • 问题内容: 1)Css样式无法正确应用于我的HTML页面,如果我在html上添加了特定版本,例如HTML5,HTML4.1 strict等,则如果删除所有DOCTYPE语句,则效果很好。 我的HTML代码(无需DOCTYPE即可正确显示): 我的HTML代码(背景色红色不适用于DOCTYPE): 另外,我尝试使用HTML5而不是HTML5严格, 和, 但是没有任何一个。如何正确添加版本。 2)也是

  • 问题内容: 是否可以为元素定义CSS样式,仅在匹配的元素包含特定元素(作为直接子项)时才适用? 我认为最好用一个例子来解释。 注意 :我正在尝试设置 父元素的样式 ,具体取决于其包含的子元素。 注意2 :我知道我可以使用javascript来实现,但是我只是想知道是否可以使用一些(对我而言)未知的CSS功能。 问题答案: 据我所知,基于子元素设计父元素的样式不是CSS的可用功能。您可能需要为此编写

  • 问题内容: 我在反应中使用Material-ui。假设我有这些样式的组件 当我使用上述样式将鼠标悬停在externalDiv上时,我想更改addIcon的样式。 这是我的示例:https : //codesandbox.io/s/trusting- mcnulty-b1gcd?fontsize=14&hidenavigation=1&theme=dark 问题答案: 以下是正确语法的示例(嵌套在中

  • 问题内容: 我有一个现有的网站,上面有很多用表格布置的旧页面和表格,我正尝试逐步过渡到CSS。我想使用Twitter Bootstrap样式表-特别是表单样式- 但仅在我明确要求它们的页面部分中使用。例如,我可能将整个表单围绕在div中,如下所示: 我希望所有其他形式保持与现在相同,因为我将无法同时更改所有形式。有没有简单的方法可以做到这一点?我可以遍历Bootstrap CSS中的每种样式,并添

  • 问题内容: 我有一个元素。如何将CSS样式应用于此元素的所有子元素?我只想将样式应用于子元素。不是它的大孩子。 我可以用 这对所有孩子都有效,但我想对所有孩子都适用的解决方案。我以为我可以用,但是 不起作用。 编辑 该选择不使用Firefox 26应用规则,并有根据萤火没有其他规则的保证金。如果我替换为,它会起作用。 问题答案: 这些子元素的后代将(可能)继承分配给那些子元素的大多数样式。 您需要