详解CSS盒子塌陷的5种解决方法

  发布时间:2019-10-28 16:08:09   作者:kirinlau   我要评论
这篇文章主要介绍了详解CSS盒子塌陷的5种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一,盒子塌陷是什么?

本应该在父盒子内部的元素跑到了外部。

二,为什么会出现盒子塌陷?

当父元素没设置足够大小的时候,而子元素设置了浮动的属性,子元素就会跳出父元素的边界(脱离文档流),尤其是当父元素的高度为auto时,而父元素中又没有其它非浮动的可见元素时,父盒子的高度就会直接塌陷为零, 我们称这是CSS高度塌陷。

下图下方两个子元素的盒子分别设置了左浮动和右浮动,顶端的长条盒子出现了塌陷

ex :

三,关于盒子塌陷的几种解决方法

最简单,直接,粗暴的方法就是盒子大小写死,给每个盒子设定固定的width和height,直到合适为止,这样的好处是简单方便,兼容性好,适合只改动少量内容不涉及盒子排布的版面,缺点是非自适应,浏览器的窗口大小直接影响用户体验。

给外部的父盒子也添加浮动,让其也脱离标准文档流,这种方法方便,但是对页面的布局不是很友好,不易维护。

给父盒子添加overflow属性。

  1. overflow:auto; 有可能出现滚动条,影响美观。
  2. overflow:hidden; 可能会带来内容不可见的问题。

父盒子里最下方引入清除浮动块。最简单的有:

<br style="clear:both;"/> 

有很多人是这么解决的,但是我们并不推荐,因为其引入了不必要的冗余元素 。

after伪类清除浮动。

外部盒子的after伪元素设置clear属性。

#parent:after{
                clear: both;
                content: "";
                width: 0;
                height: 0;
                display: block;
                visibility: hidden;
            }

这是一种纯CSS的解决浮动造成盒子塌陷方法,没有引入任何冗余元素,推荐使用此方法来解决CSS盒子塌陷。

备注:第五种方法虽好,但是低版本IE不兼容,具体选择哪种解决方法,可根据实际情况决定。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 深入理解CSS中的盒子模型

    下面小编就为大家带来一篇深入理解CSS中的盒子模型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-25
  • CSS盒子模型是什么

    什么是CSS盒子模型?CSS盒子模型是为了让我们充分理解div+css模型的定位功能,盒子模型在学习div+css布局方式中必须要学习的一个模型
    2016-05-10
  • css盒子模型图解

    这篇文章主要介绍了css盒子模型的使用方法,需要的朋友可以参考下
    2014-04-22
  • css盒子模型详解加示例

    这篇文章主要介绍了css盒子模型详解加示例,W3C组织建议把所有的网页上的对象都放在一个盒子中,在定义盒子宽高的时候,要考虑到内填充,边框,边界的存在,这里讲了一个盒子
    2014-04-15
  • CSS3盒子模型详解

    本章将介绍CSS3中各种盒的知识点;主要包含以下内容:CSS3中各种各样盒的类型概念、浏览器支持情况
    2013-04-24
  • CSS3盒子模型详解

    本章将介绍CSS3中各种盒的知识点;主要包含以下内容:CSS3中各种各样盒的类型概念、浏览器支持情况
    2013-04-24
  • CSS 理解盒子模型

    盒子模型,是XHTML+CSS布局页面中的核心!要想学会用CSS布局页面,就首先要理解盒子模型!
    2010-01-07

最新评论