BFC宽度自适应布局
来源:互联网 发布:苹果手机游戏优化器 编辑:程序博客网 时间:2024/05/21 10:15
BFC:块级格式化上下文,它指的是一个独立的块级渲染区域,只有Block-level Box参与,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。
BFC的生成
(1)float的值不为none;
(2)overflowd的值不为visible;
(3)display的值为inline-block, table-cell, table-caption;
(4)position的值为absolute或fixed;
BFC的约束规则
(1)生成的BFC元素的子元素会一个接一个的放置。垂直方向上他们的起点是一个包含块的顶部,两个相邻子元素之间垂直距离取决于元素的margin特性。在BFC中相邻的块级元素外边距会折叠。
(2)生成BFC元素的子元素中,每一个子元素的外边距和包含块的左边界相接处,(对于从右到左的格式化,右外边距和右边距相接触),除非这个子元素也创建了一个新的BFC(比如它自身也是一个浮动元素)。
有朋友对它做了分解,我们直接拿来:
(1)内部的BOX会在垂直方向上一个接一个的放置;
(2)垂直方向上的距离有margin决定。(完整的说法是:属于同一个BFC的俩个相邻的BOX的margin会发生重叠,与方向无关)
(3)每个元素的左外边距与包含块的左边距相接触(从左到右),即使浮动元素也是如此。(这说明BFCD子元素不会超出它的包含块,而position为absolute的元素可以超出它 包含块边界);
(4)BFC的区域不会与float的元素区域重叠;
(5)计算BFC的高度时,浮动子元素也参与计算;
(6)BFC就是页面上的一个隔离的容器,容器里面的子元素不会影响到外面的元素,反之亦然
BFC两栏自适应布局
html代码:
<div class="left"></div><div class="right"></div>css代码
.left{ width:200px; height:200px; background:red; float:left;}.right{ height:200px; background:green; overflow:hidden;}运行以上代码,伸缩页面宽度,可以发现的确是自适应
或者:
.right{ height:200px; background:green; display:table-cell; width:9000px;//宽度大于显示屏}
BFC三栏布局
<div class="left"></div><div class="right"></div><div class="middle"></div>
css代码如下:
.left{ width:200px; height:200px; float:left; background:red;}.right{ width:200px; height:200px; float:right; background:green;}.middle{ display:table-cell; width:9000px; *display:inline-block; *width:auto; height:200px; background:pink;}在这里*表示兼容IE6和IE7
- BFC宽度自适应布局
- 自适应布局---自适应宽度
- BFC两栏自适应布局
- 二列右列宽度自适应布局
- DIV 自适应宽度 布局
- CSS布局-宽度自适应
- css布局 宽度自适应
- 宽度自适应布局
- 二列宽度自适应布局
- CSS布局-DIV宽度自适应
- 两列布局宽度自适应
- 响应式布局,宽度自适应
- CSS布局之-宽度自适应
- css 布局,左边定宽右边自适应BFC,浮动原理
- 利用BFC实现左右两列自适应布局
- 三种三栏网页宽度自适应布局方法
- div + css宽度自适应(液态布局)
- 三种三栏网页宽度自适应布局方法
- 微信小程序之下拉加载和上拉刷新
- 大写金额转换成阿拉伯数字金额
- dubbo再学习
- 关于Eclipse/MyEclipsejava代码模板用法
- python 不可变量和可变量(稍微深入)
- BFC宽度自适应布局
- true launch bar 和 editplus
- spring 事务管理——回滚之service层(事务控制层)代码互调
- BZOJ 3994 莫比乌斯反演
- Java集合Hashtable源码解析
- Kafka术语解释
- Android 应用保活笔记
- spring jdbcTemplate增删改查(转)
- golang 数组(array)与切片(slice)