我正在尝试找到纯 CSS 解决方案,该解决方案将使用最少数量的 DOM 元素且没有任何图像来呈现此布局。
真正的问题是让 div 的宽度为 50% 减去一些像素 - 例如 50% 宽度减去 10px
我尽我最大的努力建立了一个jsfiddle - 这很完美,但我希望有更少的 DOM 元素。
这是我的 HTML:
<div class="main"></div>
<div class="backHalf">
<div class="backLeft1"></div>
<div class="backLeft2"></div>
<div class="backLeft3"></div>
</div>
<div class="backHalf">
<div class="backRight1"></div>
<div class="backRight2"></div>
<div class="backRight3"></div>
</div>
和 CSS:
.main, .backHalf div { height: 10px; background-color: #000}
.backHalf { width: 50%; float:left}
.backMain { height: 50px; }
.backLeft1 { margin-right: 10px; }
.backRight1 { margin-left: 10px; }
.backLeft2 { margin-right: 20px; }
.backRight2 { margin-left: 20px; }
.backLeft3 { margin-right: 30px; }
.backRight3 { margin-left: 30px; }
顺便说一句,我确信如果有更好的解决方案,它不会少很多 DOM 元素,但即使丢失一个也会有所帮助。例如,如果没有'backHalf' div 有可能实现相同的结果,那将有很大帮助。