我试图找到纯粹的CSS解决方案,该解决方案将使用最少数量的DOM元素呈现此布局,并且没有任何图像。包含DOM元素数量最少的像素宽度减去像素数
Desired layout http://oi39.tinypic.com/2mza5ht.jpg
真正的问题是得到一个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的情况下达到相同的结果,那将会有很大帮助。
较少的dom元素?现在不要贪婪,你现在做得很好 – Ibu
如果你不需要老版本的浏览器,box-sizing是你的朋友 –
我不确定你是否可以在没有CSS预处理器的情况下做到这一点,但我不是专家。 – wootscootinboogie