子div有内容,父div高度为0的解决方法
来源:互联网 发布:rbac java 实现 编辑:程序博客网 时间:2024/06/05 10:37
原始代码:
<html> <head> <title>Float</title> <style type = "text/css"> ul { list-style-type: none; width: 800px; background: blue; } li { float: left; } </style> </head> <body> <ul> <li><img src = "1.jpg" /></li> <li><img src = "2.jpg" /></li> <li><img src = "3.jpg" /></li> <li><img src = "4.jpg" /></li> <li><img src = "5.jpg" /></li> <li><img src = "6.jpg" /></li> </ul> </body> </html>
子div有内容,父div高度为0是因为子元素设置了 float属性的缘故。
解决方法
1 给包含元素设置高度height 值。
ul { list-style-type: none; width: 800px; background: blue; height: 300px; /*添加高度属性*/ }
2 利用overflow属性
可以包含元素设置overflow属性,并设置属性值为auto或者hidden。
ul { list-style-type: none; width: 800px; background: blue; overflow: hidden; /*添加overflow属性,可以设置为auto或者hidden*/ }
3 添加一个空的div
这种方法是添加一个空的div,这个div和浮动元素同一级别,且位于浮动元素的最后。这种方法要改动两个地方,一个是html代码,另一个是必须要为这个div添加一个clear属性:
<html> <head> <title>Float</title> <style type = "text/css"> ul { list-style-type: none; width: 800px; background: blue; } li { float: left; } /*为添加的空div设置的样式*/ .clearDiv { clear: both; } </style> </head> <body> <ul> <li><img src = "1.jpg" /></li> <li><img src = "2.jpg" /></li> <li><img src = "3.jpg" /></li> <li><img src = "4.jpg" /></li> <li><img src = "5.jpg" /></li> <li><img src = "6.jpg" /></li> <div class = "clearDiv"></div> <!--新添加的空div,它和浮动元素同一级别,且位于最后--> </ul> </body> </html>
4 利用伪元素:after
用这种方法时要为包含元素先添加一个类名,这里为ul标签设置的类名.clearUl,代码如下:
<html> <head> <title>Float</title> <style type = "text/css"> ul { list-style-type: none; width: 800px; background: blue; } li { float: left; } /*利用:after伪元素*/ .clearUl:after { content:""; display: block; clear: both; } </style> </head> <body> <ul class = "clearUl"> <!--为包含的外围元素设置类--> <li><img src = "1.jpg" /></li> <li><img src = "2.jpg" /></li> <li><img src = "3.jpg" /></li> <li><img src = "4.jpg" /></li> <li><img src = "5.jpg" /></li> <li><img src = "6.jpg" /></li> </ul> </body> </html>
在:after为元素里面用到了content属性,这样这条样式的意思是在ul元素后面生成指定的内容,这里生成的内容是一个空字符串,因为只是让它来消除ul标签的高度折叠,并不让它显示出来。还有,这条样式里有display属性,要将他设置成block,这样clear属性才会起作用,因为清除操作只作用于块级元素,它的原理是为要执行清除操作的元素添加上边距,以此让元素降到浮动元素的下面,而操作行内元素的上边距不起作用。
(参考: http://www.jb51.net/css/74450.html )
当我们没有给父div设置高度的时候,子div的高度,就会撑开父div,而在另一个方面,当我们给父div加上一个高度值,那么无论子div的高度是多少,父div高度都是我们设定的值。而当子div的高度超过父div的高度的时候,超出的部分就会被隐藏。
0 0
- 子div有内容,父div高度为0的解决方法
- CSS中父div与子div——子div有内容,父div高度却为0?
- CSS中父div与子div——子div有内容,父div高度却为0?
- IE6下DIV最小高度不能为0的解决方法
- IE6 下 DIV 最小高度不能为 0 的解决方法
- IE6 下 DIV 最小高度不能为 0 的解决方法
- 解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法
- div 高度为0
- 父DIV不能适应子DIV高度的解决办法
- 父DIV的高度不能根据子DIV自动变化
- 父div随着子div的高度改变而改变
- div根据内容自动调节高度的解决方法
- div根据内容自动调节高度的解决方法
- Div即父容器不根据内容自适应高度的解决方法
- HTML div即父容器不根据内容自适应高度的原因及解决方法
- css 父div高度为0
- 父亲div的高度随子div高度变化关系
- 父div内有浮动的子div,父div的宽度不会被子div撑开
- 各类分析函数调用关系图的工具
- K64使用寄存器控制GPIO
- [树上LIS 线段树合并] Codeforces 490F #279 (Div. 2) F. Treeland Tour
- Java线程创建有两种方式
- HttpUploadFile模拟前台POST上传图片和后台获取上传图片并上传至服务器
- 子div有内容,父div高度为0的解决方法
- 消息队列基础 RabbitMQ与AMQP协议详解——超大规模高可用OpenStack核心技术深入解析系列(二)
- touch事件(监听手机屏幕触摸事件)
- jenkins 部署例子 git
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- Java Rxtx 串口通讯配置
- 05 JS函数归纳总结
- Android-gridview使用技能
- Linux定期数据备份脚本