来自 的解决方案, 做了简化处理,看原文更明白了。随时E文,不过作者并没有使用比较复杂的句子。
直觉利用浮动写一个三列布局:效果如下,这就是背景。
基于此提供了一个解决方案,来使得三列均按照最高的内容的那个一列的高度为高度。因此问题的关键是为三列的高度提供一个高度的参考点。可以为三列增加一个容器试试看。
code;
效果:
这个时候,高度已经一致了,就是背景差一些。我们再弄个背景层。那么大概是这个样子来拼这个页面的:
这个时候再看,若是能够把红色的背景按比例分层三种颜色就好了。然后和文字刚好配上,就达到想要的效果了。
三种颜色,那么应该需要三个div,而且div应该高度和内容最高的列高度一致。基于上面已经得出的结论,那么设置三个嵌套的div即可。
代码如下:
效果如下:
然后,看到了,其实是各个背景层的div 以此向左移动了,那么只要把文字相应的位置补偿回来就OK了。
.left{ width:25%; float:left; position:relative; left:75%; } .center{ width:50%; float:left; position:relative; left:75%; } .right{ width:25%; float:right; position:relative; left:75%; }
改动下js,即可看到效果了。
原文中有关于增加padding的部分是如何做的,以及作者的2列,多列的做法。点击去吧。
这个思路实在是太牛了。对js的定位和高度的理解出神入化,尤其是使用多层div的背景的做法,令人拍案叫绝。