常见定宽不定宽布局

左列定宽,右列自适应

该布局方式非常常见,适用于定宽的一侧常为导航,自适应的一侧为内容的布局

1、利用float+margin实现

.left{float:left;width:100px;}

.right{margin-left:100px;}

2、利用float+margin(fix)实现


3、使用float+overflow实现

.left{width:100px;float:left;}

.right{overflow:hidden;}

overflow:hidden,触发bfc模式,浮动无法影响,隔离其他元素,IE6不支持,左侧left设置margin-left当作left与right之间的边距,右侧利用overflow:hidden 进行形成bfc模式

如果我们需要将两列设置为等高,可以用下述方法将“背景”设置为等高,其实并不是内容的等高


4、使用table实现

.parent{display:table;table-layout:fixed;width:100%;}

.left{width:100px;}

.right,.left{display:table-cell;}

5、实用flex实现

.parent{display:flex;}

.left{width:100px;}

.right{flex:1;}

右列定宽,左列自适应

1、实用float+margin实现

.parent{background:red;height:100px;margin:0 auto;}

.left{background:green;margin-right:-100px;width:100%;float:left;}

.right{float:right;width:100px;background:blue;}

2、使用table实现

.parent{display:table;table-layout:fixed;width:100%;}

.left{display:table-cell;}

.right{width:100px;display:table-cell;}

3、实用flex实现

.parent{display:flex;}

.left{flex:1;}

.right{width:100px;}

两侧定宽,中栏自适应

1、利用float+margin实现

.left{width:100px;float:left;}

.center{float:left;width:100%;margin-right:-200px;}

.right{width:100px;float:right;}

2、利用table实现

.parent{width:100%;display:table;table-layout:fixed}

.left,.center,.right{display:table-cell;}

.left{width:100px;}

.right{width:100px;}

3、利用flex实现

.parent{display:flex;}

.left{width:100px;}

.center{flex:1;}

.right{width:100px;}

参考文献:利用HTML和CSS实现常见的布局

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • display:设置元素的显示方式 display:block(块级元素) 默认为父元素宽高,可设置宽高相对前序换...
    bluishwhiteC阅读 670评论 0 0
  • 水平居中布局 首先我们来看看水平居中 1.margin + 定宽 Demo.child{width:100px;m...
    xiaotao123阅读 331评论 0 1
  • 窝在 角落 一人 走过 抛下世界的落寞 最后 一次 未知 来电 以后或不会再见 来不及放下行李 总很任性 我管你睡...
    拾年姑娘阅读 294评论 1 3