赞
踩
包含结构,所有的子元素浮动,且父元素没有设置高度,就会触发父元素高度塌陷。
例如:
给父元素添加固定高度。
缺点:不适合高度自适应的布局。
代码:
- <style>
- *{
- margin: 0;
- padding: 0;
- }
- ul{
- /* 给父元素设置固定的高度 */
- height: 600px;
- border: 5px solid red;
- }
- li{
- list-style: none;
- width: 300px;
- height: 100px;
- float: left;
- border: 1px solid blue;
- }
- </style>
- </head>
- <body>
- <ul>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- </ul>
- </body>
给父元素添加overflow:hidden;
缺点:不适合和定位定出去的页面布局使用
代码:
- <style>
- *{
- margin: 0;
- padding: 0;
- }
- ul{
- /* 给父元素设置overflow: hidden; */
- overflow: hidden;
- border: 5px solid red;
- }
- li{
- list-style: none;
- width: 300px;
- height: 100px;
- float: left;
- border: 1px solid blue;
- }
- </style>
- </head>
- <body>
- <ul>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- </ul>
- </body>
给所有的浮动盒子最后添加一个空的标签,例如 div,且添加声明 clear:both;
缺点:多了很多空的标签,造成代码冗余。
代码:
- <style>
- *{
- margin: 0;
- padding: 0;
- }
- ul{
- border: 5px solid red;
- }
- li{
- list-style: none;
- width: 300px;
- height: 100px;
- float: left;
- border: 1px solid blue;
- }
- div{
- /* 给所有浮动标签后添加div并设置属性clear: both; */
- clear: both;
- }
- </style>
- </head>
- <body>
- <ul>
- <li></li>
- <div></div>
- <li></li>
- <div></div>
- <li></li>
- <div></div>
- <li></li>
- <div></div>
- <li></li>
- <div></div>
- <li></li>
- <div></div>
- </ul>
- </body>
万能清除浮动法。
给塌陷的父元素:after{content:"";display:block;clear:both; visibility:hidden;}
代码:
- <style>
- * {
- margin: 0;
- padding: 0;
- }
- ul {
- border: 5px solid red;
- }
- /* 在ul以后添加 */
- ul:after {
- /* 添加内容 */
- content: "";
- /* 转块元素 */
- display: block;
- /* 清除浮动 */
- clear: both;
- visibility: hidden;
- }
- li {
- list-style: none;
- width: 300px;
- height: 100px;
- float: left;
- border: 1px solid blue;
- }
- </style>
- </head>
- <body>
- <ul>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- </ul>
- </body>
以上就是高度塌陷的常用解决方法啦,码字不易点个赞吧~~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。