浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来。
假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。
清除浮动:clear:none | left |right |both;(这个规则只能影响使用清除的元素本身,不能影响其他元素)
Position属性:
-
Static:默认属性;
-
Relative:
- 偏离默认位置的相对定位,普通流中依然保持着原有的默认位置,并没有脱离普通流;
- 行内元素的display属性没有变(不能设置宽度和高度)
- 偏离默认位置的相对定位,普通流中依然保持着原有的默认位置,并没有脱离普通流;
-
Absolute:绝对位置会循着父(祖)元素(position属性值为relative或者absolute)来确定位置偏离;元素会脱离页面中的普通流并改变display属性;
-
Fixed:当滚动页面时,其元素与浏览器窗口之间的距离是恒定不变的;
Float属性:none、left、right;
- 只能横向浮动,没有纵向浮动;
- 会脱离普通流,父容器得不到该子容器的高度;
- Display属性会变更为block;
- 浮动元素的后一个元素会围绕浮动元素,浮动元素不会遮盖后一个元素;
- 浮动元素的前一个元素刽受到影响;
- 元素同时应用position:absolute和float属性,则float失效;