父元素有子元素,其中一些位于一行,一些位于另一行。
.box {
display: flex;
flex-wrap: wrap;
border: 2px solid blue;
padding: 2px;
}
.el {
height: 50px;
border: 2px solid red;
margin: 2px;
}
.el:nth-child(1), .el:nth-child(2), .el:nth-child(3) {
flex-grow: 3;
}
.el:nth-child(5), .el:nth-child(6) {
flex-grow: 2;
}
.break {
width: 100%;
}
<div class="box">
<div class="el"></div>
<div class="el select"></div>
<div class="el"></div>
<div class="break"></div>
<div class="el"></div>
<div class="el"></div>
</div>
如何确定一个元素在同一行中是否有右邻居或左.el.select邻居?.el
即应该显示右边有吸:
.box {
display: flex;
flex-wrap: wrap;
border: 2px solid blue;
padding: 2px;
}
.el {
height: 50px;
border: 2px solid red;
margin: 2px;
}
.el:nth-child(1), .el:nth-child(2), .el:nth-child(3) {
flex-grow: 3;
}
.el:nth-child(5), .el:nth-child(6) {
flex-grow: 2;
}
.el.select {
border-color: green;
}
.break {
width: 100%;
}
<div class="box">
<div class="el"></div>
<div class="el select"></div>
<div class="el"></div>
<div class="break"></div>
<div class="el"></div>
<div class="el"></div>
</div>
这里 - 不在右边的是:
.box {
display: flex;
flex-wrap: wrap;
border: 2px solid blue;
padding: 2px;
}
.el {
height: 50px;
border: 2px solid red;
margin: 2px;
}
.el:nth-child(1), .el:nth-child(2), .el:nth-child(3) {
flex-grow: 3;
}
.el:nth-child(5), .el:nth-child(6) {
flex-grow: 2;
}
.el.select {
border-color: green;
}
.break {
width: 100%;
}
<div class="box">
<div class="el"></div>
<div class="el"></div>
<div class="el select"></div>
<div class="break"></div>
<div class="el"></div>
<div class="el"></div>
</div>
这是缺少的东西:
.box {
display: flex;
flex-wrap: wrap;
border: 2px solid blue;
padding: 2px;
}
.el {
height: 50px;
border: 2px solid red;
margin: 2px;
}
.el:nth-child(1), .el:nth-child(2), .el:nth-child(3) {
width: calc(33.33333333% - 8px);
}
.el:nth-child(4), .el:nth-child(5) {
width: calc(50% - 8px);
}
.el.select {
border-color: green;
}
<div class="box">
<div class="el"></div>
<div class="el"></div>
<div class="el select"></div>
<div class="el"></div>
<div class="el"></div>
</div>
我写了一个小脚本来确定给定行中的所有相邻元素