我有要求間隔一套li
元素equaly。需要注意的是,某些元素可以通過類CSS隱藏。空間相鄰的兒童同樣使用CSS
<ul class="list-spacing">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
</ul>
的CSS我有如下:
.list-spacing > li + li {
margin-top:10px;
}
輸出看起來不錯。見小提琴這裏: https://jsfiddle.net/njphghpa/
現在,當我提到的一些li
可以通過一類被隱藏如下:
<ul class="list-spacing">
<li class='hidden'>One</li>
<li>Two</li>
<li>Three</li>
<li class='hidden'>Four</li>
<li>Five</li>
<li>Six</li>
</ul>
現在,我們得到的10px的不必要的上邊距第二01(含兩個)。 見小提琴這裏:https://jsfiddle.net/mL11uogw/
所以我這樣做:
.list-spacing > li:first-child.hidden + li {
margin-top:0;
}
在這裏看到小提琴:https://jsfiddle.net/zuLhome9/ 再次看起來不錯。
但問題是當前兩個或三個li
被隱藏時,上述不起作用。 - https://jsfiddle.net/arryv6go/
我嘗試了不同的方法 - 在ul
的上邊距設置爲-10px
和所有兒童10px
的上邊距和發生這種情況:https://jsfiddle.net/yzbnvmez/,這是隻要ul
沒有邊界確定。但我想要一個。
有什麼辦法解決這個問題嗎?
尼斯建議!這樣,不需要父元素。 +1 –
優秀。謝謝! – Arun