float高度塌陷问题解决方案

第一种方案 BFC(Block Formatting Context)

  块级格式化环境/布局环境

  BFC是CSS中的一个隐含属性,开启BFC该元素会变成一个独立的布局区域

  元素开启BFC的特点:

  1.开启BFC元素不会被浮动元素覆盖

  2.开启BFC元素子元素和父元素外边距不会重叠  

  3.开启BFC的元素可以包含浮动子元素

  开启BFC的方式:

  1.设置元素的浮动(不推荐)

  2.将元素设置为行内块元素(不推荐)

  3.将元素的overflow设置为一个非visible的值(副作用较小)

    常用方式为overflow:hidden/auto;

第二种方式:

  clear属性作用:消除浮动元素对当前元素所产生的影响。

  可选值:left: 消除左侧浮动元素对当前元素的影响

      right:消除右侧浮动元素对当前元素的影响

      both: 消除两侧中最大影响的那侧

  示例

  .box1::after {

  content:"“;

  display:block;

  clear:both;

}

原文地址:https://www.cnblogs.com/kukai/p/12263195.html

时间: 2024-12-31 03:52:15

float高度塌陷问题解决方案的相关文章

关于float高度塌陷问题

和所有刚入门的菜鸟一样,我发现float有高度塌陷问题,又很偶然的发现float元素后加<img/>能消除float带来的破坏性. 后来百度了一下,大部分的float高度塌陷问题都没有提及img带来的影响. 解决高度塌陷问题方法: 1.在最后一个元素后加入<div style="clear:both"> 2.father-div设置高度 3.父元素加上after伪元素: 其中第三种方法的效果是最好的,和<img/>差不多,不过好像还是after比较优

[转]CSS: inline-block的应用和float块高度塌陷

普通流高度塌陷: 当块float浮动时,不会对块布局产生影响,块仍然会按照左右或者上下的顺序排列.但是会影响文档的排列,当文档的高度超过块的高度时,块的高度会产生塌陷现象. 高度塌陷解决方法: 闭合浮动: 1.在浮动元素末尾添加一个空的标签例如 <div style=”clear:both”> 2.<br clear="all" />原理类似上面 3.父元素设置 overflow:hidden; 在IE6中需要出发hasLayout,例如zoom:1.缺点: 会

css 子元素设置float,父元素高度塌陷

以div元素为例.div元素的高度会通过内容自动撑开.也就是说,内容有多少,高度就有多高.但是当内部元素设置了float属性之后,会是父元素高度塌陷 <div class="container"> <p>Hello World!Hello World!</p> <div class="clearfix"></div> </div> 清除浮动的方法 父元素底部添加空div,然后在添加属性clear

css float父元素高度塌陷

css float父元素高度塌陷 float 使父元素高度塌陷不是BUG,反而是标准. float 原本是为了解决文字环绕才出现的. 当然有的时候要解决高度塌陷的问题 以下几个方法可以解决float 父元素高度消失/塌陷的问题 .clearfix:after{content:'';display:block;height:0;overflow:hidden;clear:both;} .clearfix {*zoom:1} 更好的方法是 .clearfix:after{content:'';dis

float浮动后,父级元素高度塌陷和遮盖问题

当子元素不浮动的时候,父元素的高度是由子元素撑起来的. 子元素A和B是两个div,独占一行 效果如图: 当子元素B浮动起来之后,父元素高度塌陷到只剩子元素A的高度 效果如图: 当给子元素A(div)设置CSS属性:display:inline 后,A的宽高将不起作用,宽高由内容撑开,即被字母A撑开.此时父级元素高度没有塌陷到和A一样,而是和B的高度一样 效果如图: 当子元素A和B同时浮动起来之后,A的CSS属性:display:inline失效,效果为float的效果,同时父级元素的高度彻底塌陷

float浮动造成高度塌陷的解决办法

Float是我们在页面布局中常用的,也是非常重要的一个属性,可以让页面布局变得更加灵活. 但是在继续学习之后,尤其是掌握了宽高自适应之后,我们常常会发现一个奇怪的现象:如果父元素没有设置高度,而子元素都浮动了的话,父元素就“瘪”了. 就像下面这样 <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css">

高度塌陷问题的解决方案

高度塌陷问题是前端新人在布局中遇到的头疼问题,然而,解决这个问题之前,我们需要先明白高度塌陷问题产生的原因. 我们知道,一个块元素在没有设置宽和高的情况下,宽度默认占满父元素全部,而高度默认被子元素撑开,如图A1父元素 没有设置宽高,而其高度被子元素a1撑开为200px,宽度默认是body的宽度,如图. 而高度塌陷问题的产生,源于子元素的浮动,而浮动,则是会脱离文档流,脱离文档流,意味着脱离常规网页布局,其他盒子在布局时会忽略浮动盒子的影响,而浮动的盒子也会默认上升一个层级,如图,在这里我设置了

高度塌陷

一.高度塌陷 (一)在文档流中,一个块级元素如果没有设置height,其height是由子元素撑开的:也就是子元素多高,父元素就多高: 但是为子元素设置浮动后,子元素会完全脱离文档流,此时会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷: 由于父元素的高度塌陷了,则父元素下的所有元素都会向上移动,这样将会导致页面布局混乱,也就是所谓的高度塌陷. (二)高度塌陷的解决办法 1.给父级div定义高度 原理:给父级DIV定义固定高度,能解决父级div无法获取高度的问题. 优点:代码简洁 缺点:高

浮动 高度塌陷

## 浮动 - 使用float设置元素浮动 - 可选值 - none 默认值. 元素不浮动 - left 元素向左浮动 - right 元素向右浮动 - 浮动的特点: - 当元素设置浮动后,元素会向页面左上或右上浮动 - 当浮动元素遇到父元素边框后, 会停止浮动 - 当浮动元素遇到其他浮动元素时,会停止浮动 - 如果浮动元素上是一个没有浮动的块元素,浮动元素不会超过它 - 浮动元素不会超过它上边浮动的兄弟元素 - 浮动元素不会覆盖文字. 文字会环绕在浮动元素周围 - **浮动元素会完全脱离文档流