如何根据第一个元素是否为空来更改另一个元素的样式。
<ul></ul>
<ul>
<li>....</li>
<li>....</li>
<li>....</li>
</ul>
在上面的代码中,我想给第二个ul {color:red}(更准确地说是后面的ul)的样式,只要第一个ul为空。
是否有纯CSS解决方案?
答案 0 :(得分:3)
你可以这样做,但只有当有问题的元素完全为空时 - 是的,甚至不是空格。
http://jsfiddle.net/NicoO/uTJ4N/
ul:empty + ul
{
color: red;
}
为了更准确,这是身体的第一个空<ul>
所需的选择器,以及下面的<ul>
:
body > ul:first-of-type:empty + ul
{
color: red;
}
答案 1 :(得分:0)
试试这段代码:
ul > li {
color: red;
}
它选择ul
作为子元素li
。那些颜色可以是红色的。
答案 2 :(得分:0)
http://jsfiddle.net/keypaul/KfaQv/1/
ul:not(:empty) {
color:red;
}
答案 3 :(得分:0)
我不认为纯css解决方案是可行的方法,但您可以使用预处理器,因为它们允许您传递条件语句。