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& ...
随机推荐
- linux上安装apache以及httpd.conf基本配置
1.yum安装apache #yum install httpd -y 2.随系统自启动 #chkconfig httpd on 3.开启apache #service httpd start PS: ...
- meta property=og标签含义及作用
不理解Meta Property=og标签是什么意思,以及对SEO的影响,看一下下面的介绍.Meta Property=og标签是什么呢?og是一种新的HTTP头部标记,即Open Graph Pro ...
- php生成json和js解析json
php生成json $value=array("name"=>"dfas");echo json_encode($value); js解析json var ...
- 《Programming WPF》翻译 第9章 5.默认可视化
原文:<Programming WPF>翻译 第9章 5.默认可视化 虽然为控件提供一个自定义外观的能力是有用的,开发者应该能够使用一个控件而不用必须提供自定义可视化.这个控件应该正好工作 ...
- 非索引列上的统计 <第二篇>
非索引列上的统计 有时候,可能在连接或过滤条件中的列上没有索引.即使对这种非索引列,如果查询优化器知道这些列的数据分布(统计),它也很可能做出最佳的选择. 除了索引上的统计,SQL Server可以在 ...
- mysql use mysql hang
uat-db03:/root# mysql -A -uroot -p1234567 Warning: Using a password on the command line interface ca ...
- 【转】一个从32位机器移植到64位机器时的c问题
原文网址:http://www.jiancool.com/article/96402954887/ 最近工作中遇到了一个讨厌的问题,在32位机器上运行的好好的,但是在64位机器上,出现了诡异的 Seg ...
- hdu2059 龟兔赛跑
hdu2059 龟兔赛跑 动态规划 题目描述: Problem Description 据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州 ...
- JSP 中 JSTL 页面标签的笔记
jsp头部引入使用的标签 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&g ...
- poj 3320 Jessica's Reading Problem(尺取法)
Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...