CSS高度塌陷问题及清除浮动的三种方式

简介: 在父元素最后增加一个空的块级子元素,并且让它设置clear: both

高度塌陷问题


  • 由于浮动元素脱离了标准流,变成了脱标元素,所以不再向父元素汇报高度
  • 父元素计算总高度时,就不会计算浮动子元素的高度,导致了高度坍塌的问题
  • 解决父元素高度坍塌问题的过程,一般叫做清浮动(清理浮动、清除浮动)
  • 清浮动的目的是
  • 让父元素计算总高度的时候,把浮动子元素的高度算进去


清除浮动的三种方式


方式一:


给父元素设置固定高度


扩展性不好(不推荐)


方式二:


在父元素最后增加一个空的块级子元素,并且让它设置clear: both


  • 会增加很多无意义的空标签,维护麻烦
  • 违反了结构与样式分离的原则(不推荐),因为你这是样式问题,却添加了一个标签,相当于借助结构来实现。


方式三:


给父元素增加::after伪元素


  • 纯CSS样式解决,结构与样式分离(推荐)


.clear-fix::after {
  content: "";
  display: block;
  visibility: hidden;
  height: 0;
}
.clear-fix {
  /* IE6/7 兼容性,现在一般不需要这个了,都淘汰了*/
  *zoom: 1;
}


目录
相关文章
|
7月前
|
前端开发
CSS布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
CSS布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
38 0
|
1月前
|
前端开发
CSS清除浮动的八种方法
CSS清除浮动的八种方法
|
1月前
|
前端开发
css清除浮动的几种办法
css清除浮动的几种办法
23 0
|
1月前
|
前端开发
CSS 清除浮动的几种方法
CSS 清除浮动的几种方法
11 0
|
6月前
|
前端开发 容器
Web前端 — CSS之盒模型 以及margin负值、塌陷重叠问题
Web前端 — CSS之盒模型 以及margin负值、塌陷重叠问题
31 0
|
6月前
|
前端开发
|
9月前
|
前端开发 JavaScript
link和@import的区别?css塌陷是怎么产生的? var、let、const有什么区别?
var、let、const都可以声明变量,var声明的范围是函数作用域,let和const声明的范围是块级作用域。let和const声明的变量不能在声明之前使用,因为它们有暂时性死区,而var可以。
link和@import的区别?css塌陷是怎么产生的?  var、let、const有什么区别?
|
9月前
|
人工智能 前端开发 图形学
CSS基础浮动和清除浮动的分享
CSS的定位机制有3种: 标准文档流、浮动和定位。 标准文档流实际上就是一个网页内标签元素正常从上到下,从左到右排列顺序的意思,比如块级元素会独占一行,行内元素会按顺序依次前后排列。浮动(float) 浮动是个很有意思的事情:就是让任何盒子可以一行排列。
60 1
CSS基础浮动和清除浮动的分享
|
前端开发
css常见的两种清除浮动方法
css中的浮动以及清除 1. 浮动的概念 浮动是网页布局中最古老的方式,但是这种方式最开始并不是为了网页布局而生的。浮动是为了让文字环绕图片而生的。在css中,浮动是通过float属性来实现的,float属性有left和right两个值,分别表示向左浮动和向右浮动。正是因为浮动并不是为网页布局而生的,导致我们在后面在使用的时候会有很多出乎意料的方式。
|
前端开发
CSS基础-塌陷及定位
clear:right; 右侧不允许有浮动元素
91 0