美文网首页
子div设置float后会导致父div无法自动撑开

子div设置float后会导致父div无法自动撑开

作者: 不想起床_9a42 | 来源:发表于2019-11-20 14:14 被阅读0次

原因:内部的DIV因为float:left之后,就丢失了clear:both和display:block的样式,所以外部的DIV不会被撑开。

以下是几种解决办法(假设父div的class为“container”):

方法1、使用伪类

1.container:after{2            content: ".";3            display: block;4            height: 0;5            clear: both;6            visibility: hidden;7}

1.container{2            display: inline-block;/*第一种撑开办法,底下会有部分被遮到,所以添加这行,就完美了*/3}

方法2、不撑开的原理是overflow不可见,所以给父div添加overflow:auto;就行,IE要用_height:1%;

1 .container{

2            overflow: auto;/*让主要内容区随内容自动撑开*/

3            overflow-y:hidden;/*把出现的滚动条隐藏,但是底下会被遮到一点,不完美*/

4            _height:1%;/*对IE的hack*/

5        }

方法3、可以专门最后添加一个子div用来清除浮动:<div class="clear"></div>

          设置样式.clear{clear:both; font-size:0; height:1%;}

方法4、可以设置父div的高度(也就是手动撑开,不灵活);

方法5、直接给父div设置

display: inline-block;这样也自动撑开

方法6、直接给子div设置display: inline-block;也能自动撑开,但是排版问题有待研究学习。

方法7、从网上还发现了一种方法,给父div增加属性:display:table;

相关文章

  • 子div设置float后会导致父div无法自动撑开

    注: 文章部分转载 彩泉-博客园 原因:内部的DIV因为float:left之后,就丢失了clear:both和d...

  • 子div设置float后会导致父div无法自动撑开

    原因:内部的DIV因为float:left之后,就丢失了clear:both和display:block的样式,所...

  • 界面css 调整

    子div使用了float浮动之后,如何撑开父元素,让父元素div自动适应高度 下拉菜单被遮挡 下拉菜单被遮挡

  • css清除浮动clearfix:after

    如果外部有一个div容器,内部div设置了float样式,则外部的容器div因为内部没有clear,导致不能撑开外...

  • h1

    div (0) div /div (1)设置了float div /div (2)设置了f...

  • div居中

    设置子元素div 和 父级div 宽高一样使得子元素div在父级的div里面居中

  • 在父div中居右显示

    子div要在父div中居右显示,父div要设置属性text-align:right,

  • h5笔记

    div中嵌套div,如果子div显示范围超出父div,子div超出部分仍然正常显示,父div也保持其设置的宽高 n...

  • 清除浮动clear:both

    (1)、父级div定义 height原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问...

  • 清浮动方法总结

    清楚浮动方法 1.父级div定义 height 原理:父级div手动定义height,就解决了父级div无法自动获...

网友评论

      本文标题:子div设置float后会导致父div无法自动撑开

      本文链接:https://www.haomeiwen.com/subject/ujtrictx.html