[英]How to skip an element in nth-child?
我想跳過對帶有:not屬性的nth-child中的一個元素的計數,但是它不起作用或者甚至無法執行。 還有其他方法嗎?
這是代碼:
.layout { float: left; width: 100px; height: 60px; border: 2px solid red; margin-right: 10px; margin-bottom: 10px; } .hidden { display: none; } .layout:not(.hidden):nth-child(2n+1) { clear: both; }
<div class="layout"></div> <div class="layout"></div> <div class="layout hidden"></div> <div class="layout"></div> <div class="layout"></div> <div class="layout"></div> <div class="layout"></div> <div class="layout"></div>
即使類.hidden的元素不可見,仍將其計為nth-child
我認為:nth-child
不能應用於:not
的評估結果。 但我建議您先行一步以達到相同的效果:
container
DIV中: <div id="container"> <div class="layout"></div> <div class="layout"></div> <div class="layout hidden"></div> <div class="layout"></div> </div>
.layout { /*float: left;*/ display: inline-table; width: 100px; height: 60px; border: 2px solid red; margin-right: 10px; margin-bottom: 10px; } div#container { width: 232px; /* See the note below */ } div.layout:first-child { display: block; clear: both; } .hidden { display: none; } /* .layout:not(.hidden):nth-child(2n+1) { clear: both; } */
為了精確計算容器的確切寬度,您應該首先去除layout
DIV之間的換行符,因為它們在渲染時會添加任意數量的空間。
的HTML
<div class="content">
<div class="layout"></div>
<div class="layout"></div>
<div class="layout hidden"></div>
<div class="layout"></div>
<div class="layout"></div>
<div class="layout"></div>
<div class="layout"></div>
<div class="layout"></div>
</div>
的CSS
.content{
display: flex;
flex-wrap: wrap;
width: 224px
}
.layout {
width: 100px;
height: 60px;
border: 2px solid red;
margin-right: 10px;
margin-bottom: 10px;
flex: 1 0 30%;
}
.hidden {
display:none;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.