IE6 IE7 hasLayout bug之li间的3px垂直间距
1、 li中仅包含a,span等内联(行内)元素2、触发条件: li元素的layout被触发(通常为设置了宽或高,设置overflow:hidden在IE7下同样触发layout),且a或span元素被设置了display: block. (即使a或span不设置dis
一、症状
三、出现条件(有两种)
第一种情况:
1、 li中仅包含a,span等内联(行内)元素
2、触发条件: li元素的layout被触发(通常为设置了宽或高,设置overflow:hidden在IE7下同样触发layout),且a或span元素被设置了display: block.
(即使a或span不设置display:block,即使不是a或span等内联元素而是用p块级元素,li也同样存在1px的垂直间距)
运行以下代码,查看BUG:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ipmtea.net下午茶</title>
<style type="text/css">
div{padding:50px;background:blue;}
*{margin:0;padding:0;}
/*以上CSS是为了方便观察*/
ul {
background:yellow;
}
ul li {
background:orange;
width:500px;/*hasLayout*/
}
a,span {
display: block;
}
</style>
</head>
<body>
<div>
<ul>
<li><span>ipmtea.net下午茶</span></li>
<li><a>下午茶ipmtea.net</a></li>
</ul>
</div>
</body>
</html>
3、解决办法:
(1) 去掉li中触发layout的样式;
(2) 触发a元素的layout, 具体做法有以下几种:
* 显式的给a元素设置一个宽或高;
* 将display: block改为display: inline-block;
* 设置zoom: 1;
1、 li中包含1个或多个子元素, 子元素类型不限(全为内联元素, 全为块元素或两者同时出现)
2、 触发条件: li元素的layout被触发(通常为设置了宽或高,设置overflow:hidden在IE7下同样触发layout),且子元素全部被设置为浮动.
运行以下代码,查看BUG:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ipmtea.net下午茶</title>
<style type="text/css">
div{padding:50px;background:blue;}
*{margin:0;padding:0;}
/*以上CSS是为了方便观察*/
ul {
background:yellow;
}
ul li {
background:orange;
width:500px;/*hasLayout*/
}
a,span {
float:left;
}
</style>
</head>
<body>
<div>
<ul>
<li><span>ipmtea.net下午茶</span></li>
<li><a>下午茶ipmtea.net</a></li>
</ul>
</div>
</body>
</html>
将li设置为float.
IE6 IE7 hasLayout bug之li间的3px垂直间距的更多相关文章
- ie6,ie7,ie8 css bug兼容解决方法
IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希 ...
- IE6/IE7/IE8 FF常见问题解决
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-04-08) <style type="text/css" > *{ margin:0px a ...
- IE6/IE7中li底部4px空隙的Bug
当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug. 代码如下: <ul class="list"> < ...
- IE6/IE7中li底部4px的Bug
当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug. XHTML <ul class="list"> < ...
- ie6,ie7,ie8 css bug兼容解决记录
ie6,ie7,ie8 css bug兼容解决记录 转载自:ie6,ie7,ie8 css bug兼容解决记录 - 前端开发 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面 ...
- ie6,ie7,ie8 css bug汇总以及兼容解决方法
1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...
- 【转】 IE6 IE7 IE8 css bug兼容性解决方法总结归纳
1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...
- IE6&IE7 bug
IE6 Bugs 1 .不支持用样式设置 <abbr> 元素 2 .不支持以连字符和下划线开头的 class 和 ID 名 3 . <select> 元素总是出现在堆叠最上面, ...
- IE6,IE7,IE8 css bug搜集及浏览器兼容性问题解决方法汇总
断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 1: ...
随机推荐
- Linux中安装Cisco Packet Tracer
Cisco Packet tracer是什么? Cisco Packet Tracer是一个强大的网络模拟工具,用于进行Cisco认证时的培训.它为我们 提供了各个路由器和网络设备的良好的接口视图,这 ...
- UVA 1252 十五 Twenty Questions
十五 Twenty Questions Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submi ...
- CodeForces 12C Fruits
Fruits Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Stat ...
- jquery 之height(),innerHeight(),outerHeight()方法区别详解
在jQuery中,获取元素高度的函数有3个,它们分别是height(). innerHeight().outerHeight(). 与此相对应的是,获取元素宽度的函数也有3个,它们分别是width() ...
- missing sdkl in .NET Core 1.0.1 - VS 2015 Tooling Preview 2
打开项目的时候,提示缺少sdk 在C:\Program Files\dotnet\sdk找不到对应的版本 解决方法: https://github.com/aspnet/Tooling/blob/ma ...
- Populating Tabular Data Block Manually Using Cursor in Oracle Forms
Suppose you want to populate a non-database data block with records manually in Oracle forms. This t ...
- scp指令的学习
http://www.cnblogs.com/hitwtx/archive/2011/11/16/2251254.html scp是linux中功能最强大的文件传输命令,可以实现从本地到远程以及远程到 ...
- uploads 上传图片
public static function upFile($r,$p='../images/link/',$type='gif,jpg,png',$named=0){ $newnames = nul ...
- struts2标签之列求和
struts2标签之列求和 <table width="100%" border="0" cellpadding="0" cellsp ...
- STRUTS2 常用标签的使用
<body> <h1>s:if标签的用法</h1> <s:set name="price" value="25"> ...