两栏布局,左侧固定宽度,右侧自适应大小

来源:互联网 发布:远洋数据 编辑:程序博客网 时间:2024/04/29 17:51

html代码如下:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>CSS布局</title></head><body>    <div id="left"></div>    <div id="right"></div></body></html>

第一种方式

*{margin:0; padding: 0;}html,body{        height: 100%;/*高度百分百显示*/}#left{    width: 300px;    height: 100%;    background-color: #ccc;    float: left;}#right{    height: 100%;    margin-left: 300px;    background-color: #eee;}

第二种方式

*{margin:0; padding: 0;}html,body{        height: 100%;/*高度百分百显示*/}#left{    width: 300px;    height: 100%;    background-color: #ccc;    float: left;}#right{    height: 100%;    overflow:hidden;    background-color: #eee;}

第二种方法,我利用的是创建一个新的BFC(块级格式化上下文)来防止文字环绕的原理来实现的。BFC就是一个相对独立的布局环境,它内部元素的布局不受外面布局的影响。它可以通过以下任何一种方式来创建:
float 的值不为 none
position 的值不为 static 或者 relative
display 的值为 table-cell , table-caption , inline-block , flex , 或者 inline-flex 中的其中一个
overflow 的值不为
visible

关于BFC,在w3c里是这样描述的:在BFC中,每个盒子的左外边框紧挨着 包含块 的 左边框 (从右到左的格式化时,则为右边框紧挨)。即使在浮动里也是这样的(尽管一个包含块的边框会因为浮动而萎缩),除非这个包含块的内部创建了一个新的BFC。这样,当我们给右侧的元素单独创建一个BFC时,它将不会紧贴在包含块的左边框,而是紧贴在左元素的右边框。

0 0
原创粉丝点击