Abh*_*bhi 0 html css css-selectors css3
我在渲染的HTML页面中有两个案例.
情况1:
<ul>
<li>A</li>
<li>B</li>
</ul>
<div class="test">Testing here</div>
Run Code Online (Sandbox Code Playgroud)
案例2:
<ul></ul>
<div class="test"></div>
Run Code Online (Sandbox Code Playgroud)
在案例1中,我想申请CSS到div,如果ul元素包含li元素).我不想要任何案例2.我想要一个没有任何jQuery/JavaScript的纯CSS方法.
使用Adjacent sibling combinator(+)和:emptyref 伪类可以实现预期的行为,例如:
ul:empty + .test
Run Code Online (Sandbox Code Playgroud)
代码片段演示:
* {
box-sizing: border-box;
}
ul:empty + .test {
background: black;
color: white;
padding: 5px;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li>A</li>
<li>B</li>
</ul>
<div class="test">Testing here</div>
<ul></ul>
<div class="test">Testing here</div>Run Code Online (Sandbox Code Playgroud)
在相邻的兄弟组合子(
+)分隔两个选择器和仅当它的第二个元素相匹配立即跟随第一元件,和两者都相同的父元素的子元素. REF
的:空 CSS 伪类代表没有孩子的任何元素.子元素可以是元素节点或文本(包括空格).注释或处理指令不会影响元素是否为空.REF