同时设置float属性不起做用javascript
生成相对定位的元素,相对于其正常位置进行定位css
生成绝对定位的元素,相对于浏览器窗口进行定位html
默认值。没有定位,元素出如今正常的流中java
生成绝对定位的元素,相对于 static 定位之外的第一个父元素进行定位,若是元素没有拥有position属性的父级元素会根据<html>标签也就是页面的根节点进行定位浏览器
杀了个回马枪,仍是说说position:sticky吧wordpress
语法:code
clear: none | left | right | both
取值:htm
none: 默认值。容许两边均可以有浮动对象 left: 不容许左边有浮动对象 right: 不容许右边有浮动对象 both: 不容许有浮动对象
由于float会破坏inline-box,因此致使父元素高度为0。
额外标签法
<div style="clear:both;"></div>(缺点:不过这个办法会增长额外的标签使HTML结构看起来不够简洁。)
使用after伪元素
该方法中必须为须要清除浮动元素的伪对象中设置 height:0,不然该元素会比实际高出若干像素对象
.parent{ zoom: 1 } .parent:after { content:"."; height:0; line-height: 0; visibility:hidden; display:block; clear:both; }
overflow + zoom方法(zoom, IE独有属性)ip
.fix{ overflow:hidden; zoom:1; }
有问题的,就是这个overflow:hidden,要是里面的元素要是想来个margin负值定位或是负的绝对定位,岂不是直接被裁掉了,因此此方法是有不小的局限性的
float稍微复杂点