怎样解决子div设定float后会致使父div没法主动撑开的题目
缘由:内部的p由于float:left之后,就丧失了clear:both和display:block的样式,所之外部的p不会被撑开。
以下是几种解决方法(假设父p的class为“container”):
办法1、使用伪类
container::after{ display: block; height:0; content: ''; clear: both; } container{ display: inline-block; /*第一种撑创办法,底下会有部分被遮到,所以增加这行,就完善了*/ }
办法2、不撑开的道理是overflow不成见,所以给父p增加overflow:auto;就行,IE要用_height:1%;
container{ overflow: auto;/*让主要内容区随内容主动撑开*/ overflow-y:hidden;/*把显现的滚动条潜藏,但是底下会被遮到一点,不完善*/ _height:1%;/*对IE的hack*/ }
办法3、可以专门最后增加一个子p用来清除浮动:
<p class="clear"></p>
设定样式.clear{clear:both; font-size:0; height:1%;}
办法4、可以设定父p的高度(也就是手动撑开,不灵敏);
办法5、直接给父p设定
display: inline-block;
这样也主动撑开办法6、直接给子p设定
display: inline-block;
也能主动撑开,但是排版问题有待研讨学习办法7、从网上还发明了一种办法,给父p增添属性:
display:table;
办法8、 子p浮动我就套不住你?OK,我让父p也浮动: 父p设定
float: left;
也可以
相关引荐:
tinymce与prism实现高亮的代码乃至汉化的配置办法历程
怎样动态生成html元素乃至为元素追加属性的办法介绍(附代码)
以上就是怎样解决子div设定float后会致使父div没法主动撑开的问题的具体内容,更多请关注百分百源码网其它相关文章!