我现在有一个三列布局,暂且以左侧A、中间B和右侧C三个区间来表示。现有要求如下:
演示效果请猛戳
解决思路2
一样,C的宽度不是刚好包裹住的不知道各位有没有什么更好的方法,我的测试代码如下
双飞翼布局,支持IE5.5+
Main
dddd
left
right
display:table布局,支持IE8+
运行效果如下:
2015/03/24日更新
感谢@dianmiao童鞋的回答,也感谢@canrz同学提供的链接,问题解决了。其实没有那么复杂,直接左侧float:left
, 右侧float:right
,然后中间overflow:hidden
即可,但是要注意下DOM结构的顺序即可。
更新后的样例可以猛戳
右侧宽度也不固定?宽高起码得固定一个吧,不然怎么根据内容进行自适应?
三栏布局可以参考文章:
http://www.zhangxinxu.com/wordpress/2009/11/我熟知的三种三栏网页宽度自适应布局方法/
可以利用创建了新的BFC的元素不会和浮动元素重叠
来做。简单来说,左侧左浮动,右侧右浮动,中间是创建了新的BFC的元素即可。示例代码:
html<style>
.co
.left {background:red;width:150px;float:left;}
.right {background:blue;margin-right:15px;float:right;}
.center {background:green;overflow:hidden;text-align:center;}
</style>
<p class="left">left</p>
<p class="right">right</p>
<p class="center">center</p>