当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug。

代码如下:

<ul class="list">
<li><div>vapour</div></li>
<li><div>百度</div></li>
<li><div>淘宝</div></li>
<li><div>迅雷</div></li>
</ul>

经过测试发现:li的子元素浮动是这个bug产生的必要条件,这个bug产生的充要条件是li的子元素浮动并且li设置了 以下CSS属性之 一:width、height、zoom、padding-top、padding-bottom、margin-top、margin-bottom。

知道了这个bug的产生条件,所以解决方法也就有了:
方法1 :
#list div设置clear:left|both,这时#list li不能设置width、height、zoom。

方法2 :
#list li设置float:left,这时#list li可以设置width、height、zoom。
#list li设置clear:left|both,这时#list li不能设置width、height、zoom。

方法3 :
IE6/IE7的这个Bug可以通过给li中的div设置vertical-align:top|middle|bottom解决。太怪异了,只要加上vertical-align的值是三者之一即可。

代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>IE6/IE7中li底部3px的Bug</title>
<style type="text/css">
ul { margin: 0; padding: 0; list-style: none; }
hr { clear: both; }
.list li { width: 420px; }
.list div { float: left; width: 400px; height: 24px; background: red; }
.v-top div { vertical-align: top; }
.v-middle div { vertical-align: middle; }
.v-bottom div { vertical-align: bottom; }
</style>
</head>
<body>
<ul class="list">
<li><div>vapour</div></li>
<li><div>百度</div></li>
<li><div>淘宝</div></li>
<li><div>迅雷</div></li>
</ul>
<hr />
<ul class="list v-top">
<li><div>vapour</div></li>
<li><div>百度</div></li>
<li><div>淘宝</div></li>
<li><div>迅雷</div></li>
</ul>
<hr />
<ul class="list v-middle">
<li><div>vapour</div></li>
<li><div>百度</div></li>
<li><div>淘宝</div></li>
<li><div>迅雷</div></li>
</ul>
<hr />
<ul class="list v-bottom">
<li><div>vapour</div></li>
<li><div>百度</div></li>
<li><div>淘宝</div></li>
<li><div>迅雷</div></li>
</ul>
</body>
</html>

IE6/IE7中li底部4px空隙的Bug的更多相关文章

  1. IE6/IE7中li底部4px的Bug

    当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug. XHTML <ul class="list"> < ...

  2. IE6,IE7上设置body{overflow:hidden;}失效Bug

    IE6,IE7下设置body{overflow:hidden;}失效Bug 最近做项目发现在IE7下设置body{overflow:hidden;}后还是会出现纵向滚动条,所以上网查查了,在这里记录一 ...

  3. 解决document.getElementById("")在IE7中误读成name的bug

    <!DOCTYPE html>      <html lang="en">      <head>          <meta char ...

  4. IE6 IE7下li间距、高度不一致问题(转)

    http://www.phpddt.com/dhtml/926.html 问题描述:li的高度在IE6 IE7间距高度和其他浏览器不一致,即便设定了高度,IE6,7中,仍比其他浏览器要高. 解决方法: ...

  5. IE6/IE7中display:inline-block解决办法

    IE6/IE7下对display:inline-block的支持性不好. 1.inline元素的display属性设置为inline-block时,所有的浏览器都支持: 2.block元素的displ ...

  6. IE6/7中li浮动外边距无法撑开ul的解决方法

    昨天群里有人提出了这样的问题: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 < ...

  7. span 右浮动折行 解决ie6/7中span右浮动折行问题

    A floated box is shifted to the left or right until its outer edge touches the containing block edge ...

  8. span 右浮动折行 解决ie6/7中span右浮动折行问题

    RM8005: IE6 IE7 IE8(Q) 中行内元素后相邻的浮动元素在某些情况下会折行放置在之前行内元素所在行框的底部 标准参考 W3C CSS 2.1 规范文档里对于浮动元素与非浮动行内元素相邻 ...

  9. inline-block和text-indent在IE6,IE7下同时使用的兼容问题解决方法

    在实际应用中,考虑到seo,很多button,icon都要用到inline-block和text-indent来处理,例如: <a href="#">Button< ...

随机推荐

  1. Excel 导入到Datatable 中,再使用常规方法写入数据库

    首先呢?要看你的电脑的office版本,我的是office 2013 .为了使用oledb程序,需要安装一个引擎.名字为AccessDatabaseEngine.exe.这里不过多介绍了哦.它的数据库 ...

  2. C#中日期记忆日期的格式化,日期格式化说明

    参数format格式详细用法:格式字符 关联属性/说明 d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePa ...

  3. Netbeans配置Xdebug

    1.进入 http://xdebug.org/wizard.php 页面,新建一个php页面,里面输入 echo phpinfo(); 然后在运行的页面,复制页面内容到里面, 这个网站会分析出,当前运 ...

  4. Rust初步(一):介绍

    最近在研究Rust这个新的语言.那么Rust是什么呢? Rust是一个注重安全与速度的现代系统编程语言,通过在没有垃圾回收的情况下保证内存安全来实现它的目标,这使它成为一个在很多其它语言不适合的用例中 ...

  5. react+redux教程(三)reduce()、filter()、map()、some()、every()、...展开属性

    reduce().filter().map().some().every()....展开属性   这些概念属于es5.es6中的语法,跟react+redux并没有什么联系,我们直接在https:// ...

  6. 1Z0-053 争议题目解析700

    1Z0-053 争议题目解析700 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 700.Which two statements are true about a duplica ...

  7. CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener冲突

    当RadioGroup与CompoundButton同时存在且都要监听事件时CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedCha ...

  8. cookie相关

    参考百度百科: Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109和2965都已废弃, ...

  9. 理解领域模型Domain Model

    定义 业务对象模型(也叫领域模型 domain model)是描述业务用例实现的对象模型.它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象.业务对象模型从业务角色内部的观点定义了业务 ...

  10. mybatis入门基础(四)----输入映射和输出映射

    一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 1.1.1.需求描述 完成用户信息的综合查询, ...