【发布时间】:2016-03-29 17:29:00
【问题描述】:
我尝试在使用 nth-child(odd) 和 nth-child(even) 时跳过隐藏的子项,但它不会跳过那些隐藏的记录。
我有以下 HTML 和 CSS 代码。
<style>
ul {
list-style-type: none;
}
li {
height: 2em;
border: 1px solid black;
}
/* li:not(.hidden):nth-child(odd) { */
li:nth-child(odd) {
background: khaki;
}
li:nth-child(even) {
background: indianred;
}
.hidden {
display: none;
}
</style>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li class="hidden">4</li>
<li class="hidden">5</li>
<li class="hidden">6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
</ul>
我想在浏览器上显示的列表应该有替代颜色,而不管隐藏子项的数量。
【问题讨论】:
-
你会接受 javascript 解决方案吗?
-
不,我不想使用 java 脚本,我知道 js 中的解决方案,但我只能使用 js,我必须使用 css。
-
这在 CSS 中是不可能的,你可能需要修改你的 HTML 或者去 jquery 解决方案
-
你能插入额外的 LI 虚拟元素吗?
-
@Musarrat Hussain 由于这个问题已经结束,我还有另外两个选择要提出,你最好再问一次,避免提及“nth-child”:说你只是想给偶数行/奇数行有不同的颜色,而其中一些是不可见的。