为了账号安全,请及时绑定邮箱和手机立即绑定

四十二章经 浮动DIV撑开父类

标签:
PHP CSS3

一、出现错误的解决方法
分解法
a.先分解为独立小项目
b.保证每个项目正确
c.合成项目
切记如果不能保证每个小项目完全正确,那么调试就是白做。
原因:内部的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;

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消