Skip to content

🌍 浮动

📖 概述

​ 浮动本身设计的初衷是为了实现文字环绕图片的效果,或者环绕文字(大文字)。

📏 浮动元素特点

​ 浮动元素不关注其所作用的元素到底是块、还是行内块、还是行内元素。

  1. 脱离常规文档流。
  2. 默认宽高由内容撑开,但可以设置宽高。
  3. 不会margin合并,也不会发生margin塌陷,能够完美设置四个方向上的margin。

影响

​ 对兄弟元素:不会影响前面元素的正常布局,但会影响后续元素的布局(占据原有的空间,文字甩出来环绕)。

​ 对父元素:浮动元素不能计入父元素的高度,这种现象称为父元素高度塌陷。但是父元素的宽度依然会限制浮动元素的布局,还会出现卡主的现象。

解决浮动产生的影响

  1. 后续元素如果是块级,可以使用inline-block使其与浮动元素公处一行。
  2. 父元素高度塌陷,可以手动计算高度并设置,或者可以设置父元素也浮动,或者overflow: hidden。(后两种不太推荐)

​ 还存在一种都能解决的方案。即clear: both(也可以是left和all),它可以清除浮动影响,但不建议是inline或者浮动。

​ 如果都是浮动元素,我们可以完美地解决父元素高度坍塌问题,具体方案为:添加一个空的伪类块级元素,并设置clear:both,content: '',display: block。

上次更新于: