CSS浮动
clear:向哪边浮动,清除哪边
clear:left;在左侧不允许浮动元素。
clear:right;在右侧不允许浮动元素。
clear:both;在左右两侧均不允许浮动元素
clear:none;默认值。允许浮动元素出现在两侧。
clear:inherit;规定应该从父元素继承 clear 属性的值。
CSS定位
position:absolute;生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
position:fixed;生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
position:relative;生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
position:static;默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
posintion:inherit;规定应该从父元素继承 position 属性的值。
固定定位相对窗口
绝对定位是按照第一个父元素来定位
相对定位是按照原来的位置来定位
固定定位、绝对定位后的元素位置被清空,相对定位不请空
bfc
bfc:(block formatting context)块级格式化上下文(环境)
布局规则:
1.在bfc环境中所有元素在垂直方向上一个接一个的放置。
2.相邻盒子(box)在垂直方向上的margin值会 重叠
3.内部盒子会以bfc的左边(右边)线接触,浮动也是一样
4.bfc区域不会与浮动盒子重叠
5、bfc环境中的子元素与外界分离,不会影响到外面的元素,而外面的元素也不会影响到里面的元素
6、bfc中浮动元素会参与计算
bfc触发方式:
float值不为none,
position:absolution,fixed;
display:inline-block,table-cell,table-caption,flex,inline-flex,overflow:不为visible
ifc
ifc:inlineformatting context 行级格式化上下文(环境)
1、ifc中的元素会在一行上从左到右排列
2、在一行上的所有元素会在该区域形成一个行框
3、行框的宽度为包含框的宽度,高度为行框最高元素的高度
4、浮动的元素不会再行框中,并且浮动元素会压缩行框的宽度
5、行宽的宽度容纳不下子元素时,子元素会换到下一行显示,并会产生新的行框
6、行框内的元素遵循text-align和vertical-align