浮动
浮动(float):用于元素"水平"方向的布局
属性:
- none:默认值,不开启浮动
- left:元素浮动到其容器的左侧
- right:元素浮动在其容器的右侧
- inherit:元素继承其父级的float值
特点:
- 1、浮动元素会脱离文档流,不会占用文档流中的位置
- 2、元素浮动之后,浮动元素下的块元素会自动向上移动
- 3、浮动元素智能用在左侧或者右侧移动
- 4、浮动元素左浮或右浮时不会超过其父容器的边框
- 5、浮动元素不会超过其相邻的浮动元素
- 6、如果浮动元素上边有块元素,浮动元素不会上移
- 7、浮动元素不会覆盖文字,可适用于文字环绕图片
应用:多应用于网页菜单
定位
position属性
static(静止定位)
元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
relative(相对定位)
元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
属性:
- top:上偏移量
- bottom:下偏移量
- left:左偏移量
- right:右偏移量
特点:
- 元素开启相对定位后,如果不设置偏移量,元素不会有任何变化
- 参照与元素自身在文档流汇中的位置进行偏移
absolute(绝对定位)
元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
属性:
- top:上偏移量
- bottom:下偏移量
- left:左偏移量
- right:右偏移量
特点:
- 当元素设置绝对定位后,元素会脱离文档流,不占用文档流的位置
- 如果当前元素没有祖先元素,就参照根元素进行定位;如果当前元素有祖先元素,就参照于最近一个开启了定位的祖先元素。
- 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位