奥斯特里茨

秦人不暇自哀,而后人哀之,后人哀之而不鉴之,亦使后人而复哀后人也!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

前几天被问的一种布局方式,三列布局左右两列固定宽度,中间一列自适应的布局方案:

1.当然css3里面的flex是可以实现这种情况的,但是这个属性实在是兼容性太差,这里就说一种自己查的普适方案;

2.当时第一次看到这个题目的时候我想到的是float的方式,可是后来一想不行啊,浮动的话中间不能自适应啊,因为页面宽度降低,浮动的元素就会被挤压到下一层:废话少说这里的解决方案是,左右两列使用绝对定位的两边,中间元素使用百分比布局,然后再加上margin-left=左边元素的宽度,margin-right=右边元素的宽度,或者是使用padding-left和padding-right;

3、使用浮动其实也是可以的,刚才一百度,发现鑫旭大神的方案float+margin=clear:both也是可以的,自己思维太死板了。

4、flex方案的总觉的有自己的一些瑕疵或者得加上很多限制比如:http://www.111cn.net/cssdiv/css/77415.htm,对了,差点忘了js也是可以控制的。

ps:

鑫旭大神:http://www.zhangxinxu.com/wordpress/2009/11/%E6%88%91%E7%86%9F%E7%9F%A5%E7%9A%84%E4%B8%89%E7%A7%8D%E4%B8%89%E6%A0%8F%E7%BD%91%E9%A1%B5%E5%AE%BD%E5%BA%A6%E8%87%AA%E9%80%82%E5%BA%94%E5%B8%83%E5%B1%80%E6%96%B9%E6%B3%95/

 

其实这个解决方案是受到了另外一个布局方案的启发的,高度自适应div,有一个高度固定100px,另一个自适应高度,该如何实现?

这里我就不班门弄斧了,直接贴上答案:https://segmentfault.com/q/1010000000762512/a-1020000000762933

我的理解:1、方法和上面的三列相同

2、使用border-sizeing+绝对定位

 

posted on 2016-03-16 15:08  找寻的千寻  阅读(1380)  评论(0编辑  收藏  举报