CSS-布局笔记摘抄

2019-11-22  本文已影响0人  TinkleJane

[浮动]

使用float来设置元素浮动

可选值

特点

  1. 元素浮动以后会完全脱离文档流
  2. 浮动以后元素会一直向父元素的最上方移动
  3. 直到遇到父元素的边框或者其他的浮动元素,会停止移动
  4. 如果浮动元素的上边是一个块元素,则浮动元素不会覆盖块元素
  5. 浮动元素不会超过他上边的浮动的兄弟元素,最多一边齐
  6. 浮动元素不会覆盖文字,文字会自动环绕在浮动元素的周围,可以通过浮动来实现文字环绕的效果

浮动以后元素的特点

块元素

块元素脱离文档流以后不会独占一行,宽度和高度被内容撑开

内联元素

内联元素脱离文档流以后变成块元素

高度塌陷

父元素在文档流中高度默认是被子元素撑开的,当子元素脱离文档流以后,将无法撑起父元素的高度,也会导致父元素的高度塌陷。父元素的高度一旦塌陷所有元素的位置将会上移,导致整个页面的布局混乱。

解决办法

方法一:
开启父元素的BFC(Block Formatting Context 块级格式化环境)

  1. 设置元素浮动
  2. 设置元素绝对定位
  3. 设置元素的类型为inline-block
  4. 设置overflow为一个非默认值,如overflow: hidden
  1. 父元素的垂直外边距不会与子元素重叠
  2. 开启BFC的元素不会被浮动元素所覆盖
  3. 开启BFC的元素可以包含浮动子元素
    开启hasLayout,在IE6中开启hasLayout来解决高度塌陷的问题
上一篇下一篇

猜你喜欢

热点阅读