本文摘自PHP中文网,作者不言,侵删。
本篇文章分享给大家的内容是关于子div设置float后会导致父div无法自动撑开,内容很详细,接下来我们就来看看具体的内容,希望可以帮助到大家。原因:内部的p因为float:left之后,就丢失了clear:both和display:block的样式,所以外部的p不会被撑开。
以下是几种解决办法(假设父p的class为“container”):
方法1、使用伪类
1 2 3 4 5 6 7 8 9 |
|
方法2、不撑开的原理是overflow不可见,所以给父p添加overflow:auto;就行,IE要用_height:1%;
1 2 3 4 5 |
|
方法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无法自动撑开的问题的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
如何解决子div设置float后会导致父div无法自动撑开的问题
更多相关阅读请进入《子div设置float后会导致父div》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者