li浮动引起ul高度坍陷的解决方法
我们都知道float在CSS中的作用是使元素脱离正常的文档流并使其移动到其父元素的“最左边”或“最右边”。元素浮动之后,它脱离当前正常的文档流,所以无法撑开其父元素,造成父元素的高度塌陷。如下的代码就是li向左浮动后,ul高度坍陷,所以border就显示为一条线。代码、效果如下:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>li浮动引起ul高度坍陷的解决方法</title>
- <style type="text/css">
- *{
- margin: 0;
- padding:0;
- font-size: 14px;
- list-style: none;
- }
- ul{
- margin: 100px auto;
- width: 505px;
- border: 1px solid #FC8403;
- }
- li{
- float: left;
- }
- a{
- text-decoration: none;
- display: block;
- height: 30px;
- line-height: 30px;
- background-color: #ccc;
- width: 100px;
- margin-right: 1px;
- text-align: center;
- }
- a:hover{
- background-color: #f60;
- color: #fff;
- }
- .clearfix {
- *zoom: 1;
- }
- .clearfix:before, .clearfix:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .clearfix:after {
- clear: both;
- }
- </style>
- </head>
- <body>
- <ul>
- <li>
- <a href="##">首    页</a>
- </li>
- <li>
- <a href="##">新闻资讯</a>
- </li>
- <li>
- <a href="##">产品展示</a>
- </li>
- <li>
- <a href="##">售后服务</a>
- </li>
- <li>
- <a href="##">联系我们</a>
- </li>
- </ul>
- </body>
- </html>
下面我们就来看一下float浮动因起此问题的几种解决方法:
1、最直接简单的方法就是给ul加一个高度。
- ul{
- margin: 100px auto;
- width: 505px;
- border: 1px solid #FC8403;
- height: 30px; /*添加高度,解决float浮动引起的高度坍陷*/
- }
2、在最后一个li后加上一个div,给div加上clear:both的样式。
- <li>
- <a href="##">联系我们</a>
- </li>
- <div style="clear:both;"></div><!--添加一个空div,用clear:both清除浮动造成的影响-->
3、给ul加上overflow: hidden;zoom:1;的样式。
- ul{
- margin: 100px auto;
- width: 505px;
- border: 1px solid #FC8403;
- overflow: hidden;/*添加高度,解决float浮动引起的高度坍陷*/
- zoom:;
- }
4、给ul加class="clearfix"的样式。
- .clearfix {
- *zoom:;
- }
- .clearfix:before, .clearfix:after {
- display: table;
- line-height:;
- content: "";
- }
- .clearfix:after {
- clear: both;
- }
以上任意一种方法,都可以解决此问题。
li浮动引起ul高度坍陷的解决方法的更多相关文章
- li浮动时ul高度为0,解决ul自适应高度的几种方法
网址:http://www.gxchina.com/edu/11208.html 1.给ul元素设置高度height最直接的办法是给ul元素设置一个高度,即ul标签添加height属性,代码如下: u ...
- 浮动引发的高度塌陷问题及其解决方法(BFC相关概念及性质)
浮动引发的高度塌陷问题 高度塌陷问题的产生 BFC(Block Formatting Context)的引入 元素开启BFC后的特点 开启BFC的元素不会被其他浮动元素所覆盖 开启BFC的元素不会发生 ...
- float过后 高度无法自适应的解决方法
float过后 高度无法自适应的解决方法: 在float层最外面包一层div即可.
- CSS设置浮动导致背景颜色设置无效的解决方法
float浮动会使父元素高度塌陷,父级元素不能被撑开,所以导致背景颜色不能被撑开 解决方法: 对父元素设置高度 对父元素设置 overflow:hidden清除浮动 把父元素也设置为float浮动 结 ...
- 谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!
谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个 ...
- 新浪微博 page应用 自适应高度设定 终于找到解决方法
我做的是PAGE应用,无法自适应高度.找了好久解决方法. 用js 设置父窗口 iframe 也不好用,有的浏览器不兼容. 官方上说发是这样的: 应用动态高度自适应 Iframe高度:开发者可以使Ifr ...
- HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法(高度欺骗)
元素浮动定义 float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 如果浮 ...
- html 关于内部是float元素的外部div高度为0的解决方法!
最近编写一个页面的时候遇见一个问题,外部div是block的,而内部元素是float的,大家应该都知道float的元素是没有实际高度的,就算你设置了float元素的高度他也不会撑开外部block元素的 ...
- IE7下浮动元素的内容自动换行的BUG解决方法
有时候我们想写个浮动得到这样的效果: 代码: <!doctype html> <html> <head> <meta charset="utf-8& ...
随机推荐
- Masonry + Ajax 实现无限刷新瀑布流
效果就如我的个人站yooao.cc,把我实现的思路分享给大家. Masonry渲染页面如果有图片时需要imagesLoaded辅助,不然有可能会造成布局重叠. 一个大体的思路:前端取得最后一篇文章的i ...
- php的一些小笔记-文件函数(3)
文件的写入和读取 1 . 文件的读取 1, file_get_contents 函数是用来将文件的内容读入到一个字符串中的首选方法 结果
- open_basedir restriction in effect. File() is not within the allowed path(s)
目前发现eaccelerator安装之后如果php.ini中设置open_basedir将导致open_basedir的一些报错(open_basedir restriction in effect. ...
- 启动两个tomcat
因为项目的种种原因,必须启动两个tomcat测试 于是复制tomcat,改端口,报错,到日志看,发现shutdow端口也需要改 总结 server.xml改两个地方的端口 <Server por ...
- 安装python3.4
1.http://www.python.org下载适合自己机型的镜像文件 2.一路“next”到底,安装python到C盘上 3.计算机-属性-高级系统设置-环境变量,将刚刚安装的python路径添加 ...
- hdu 3047 Zjnu Stadium
http://acm.hdu.edu.cn/showproblem.php?pid=3047 带权并差集 #include <cstdio> #include <cstring> ...
- C# 知识点收集
1. 数组复制 byte[] source; byte[] dest; int srcOffset = 0; int dstOffset = 0; int count = 10; System.Buf ...
- QQ聊天界面的布局和设计(IOS篇)-第二季
QQChat Layout - 第二季 本来第二季是快写好了, 也花了点功夫, 结果gitbook出了点问题, 给没掉了.有些细节可能会一带而过, 如有疑问, 相互交流进步~. 在第一季中我们完成了Q ...
- RTP 协议
转载http://www.cnblogs.com/qingquan/archive/2011/07/28/2120440.html 概述: 实时传送协议(Real-time Transport Pro ...
- Linux系统守护进程详解ntsysv 可以关掉那些服务
acpid, haldaemon, messagebus, klogd,network, syslogd 以上几个服务必须开启!其他的分析如下: 1.NetworkManager,NetworkMa ...