CSS应用:IE中img元素多出5px的空白的解决方法

嗯,开场先胡扯几句不相关地感言。最近的工作让我有了很多实践的机会,同时也让我收获颇丰。在群里聊天的时候也提到过,所有的学习过程,最好是理论-实践-再理论-再实践。。。的一个循环往复的过程。这里说的理论是个比较宽泛地概念,其中包括书本理论,也包括对实践地总结。只有理论没有实践,往往造成">眼高手低,想得好,做得差;只一味地实践却不通过理论地学习和总结,看起来好像忙忙碌碌,到头来会两手空空。

最近地实践中,越来越觉得 li 元素中包含 a img 元素的时候会比较麻烦,需要注意,当然,问题还是一如既往的出现在 IE 下。以下为其中一例:

html

以下为引用的内容:

<ul>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
</ul>css

以下为引用的内容:

ul{
width: 280px;
}
ul li{
display:block;
height:57px;
width:277px;
}

其中 temp.jpg 尺寸为 277×57

Firefox 下的正常表现:

IE6 下的非正常表现:

很明显地可以看到 IE 中,li 的表现高度,并非我们设定的 57px,而是比其要高,这是因为 img 下面多出了 5px 的空白。

解决方法 一

使 li 浮动,并设置 img 为块级元素

以下为引用的内容:

ul{
width: 280px;
}
ul li{
float:left;
display:block;
height:57px;
width:277px;
}
img{
display: block;
}

解决方法 二

设置 ul 的 font-size:0;

以下为引用的内容:

ul{
width: 280px;
font-size: 0;
}
ul li{
display:block;
height:57px;
width:277px;
}

解决方法 三

设置 img 的 vertical-align: bottom;

以下为引用的内容:

ul{
width: 280px;
font-size: 0;
}
ul li{
display:block;
height:57px;
width:277px;
}
img{
vertical-align:bottom;
}

解决方法 四

设置 img 的 margin-bottom: -5px;

以下为引用的内容:

ul{
width: 280px;
font-size: 0;
}
ul li{
display:block;
height:57px;
width:277px;
}
img{
margin-bottom: -5px;
}

时间: 2024-09-17 03:50:26

CSS应用:IE中img元素多出5px的空白的解决方法的相关文章

IE7.0以下版本列表li中的元素错位一个上一个下的解决方法

在IE7.0以下time元素与a元素错位,一个在上,一个在下.导致的原因是这种情况下span-time元素的margin-top会自动增加20px左右,具体的解决方法如下,感兴趣的朋友可以参考下   HTML: 复制代码 代码如下: <li><span class="tag">[${ross.parentName}] </span><a href="../ShowNews?id=${ross.newsID}">${ro

Windows7中U盘无法停止通用卷的原因跟解决方法

在使用U盘过程中,遇到最郁闷的问题就是使用完U盘要安全移除U盘的时候弹出"无法停止通用卷".很多时候弹出这个我们基本上就不关它了,直接把U盘拔出来了.但是如果有一次你直接这样拔出U盘,然后下次使用U盘的时候你发现数据丢失了(虽然这个概率不高我也就遇到一次),我丢失的那一次让我有哭的冲动.所以以后我要把出U盘如果弹出"无法停止通用卷",我甘愿等到我电脑不用了.关机完我再拔出U盘,也不敢直接移除了.而这篇文章是跟大家分享下我个人总结的U盘无法停止通用卷的原因跟解决方法

AngularJS 中使用Swiper制作滚动图不能滑动的解决方法_AngularJS

Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,受到很多前端开发者的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类,在swiper-wrapper里生成6个以上的滑动页,可是就是划不到第二页,尝试将longSwipesRatio的值修改到最小,仍然不起作用. <div class="swiper-wrapper" > <!-- =======循环部分======= --> &

Win10系统每次开机都会弹出msn网址导航的解决方法

最近一些Win10系统的用户反馈说每次开机都会弹出msn中文网的导航网址,每次都要手动关闭,该如何解决这种情况呢?出现这样的情况是win10系统中一个小小的设定问题,我们耗子药修改注册表即可解决.下面小编就为大家带来Win10系统每次开机都会弹出msn网址导航的解决方法.一起去看看吧! 解决步骤如下: 1.在开始菜单按钮上单击右键,点击"运行": 2.在框中输入:regedit 点击确定打开注册表编辑器: 3.在注册表左侧依次展开:HKEY_LOCAL_MACHINE\SYSTEM\C

C#中label内容显示不全、不完整的解决方法

  这篇文章主要介绍了C#中label内容显示不全.不完整的解决方法,只需要把两个属性设置一下即可解决这个问题,需要的朋友可以参考下 c# label的内容显示不全,需要设置如下属性即可: 1.将Lable的font属性的字体改成宋体; 2.将AutoSize属性改成true;

Win8.1安装iTunes软件提示“安装过程中出错,您的系统未被修改”解决方法

Win8.1安装iTunes软件提示"安装过程中出错,您的系统未被修改"解决方法   解决方法:出现这个错误是由于在win8.1中有一个"Devic Intall Service"服务没有启动引起的,只要我们正常启动他就可以了. 操作方法: 1.按下WIN+R键,然后输入 services.msc 回车; 2.在服务列表中找到"Devic Intall Service"服务;xitongcheng.com 3.双击该服务,在配置中点击"

win7系统中玩梦幻西游总是一卡一卡的解决方法

win7系统中玩梦幻西游总是一卡一卡的解决方法   故障原因: 1.显卡驱动. 2.梦幻锦衣系统的垃圾代码解决方式. 3.硬盘IO和显卡. 解决方法: 1.放弃360,或者每次上游戏之前都refresh2.0一次; 2.根据技术牛人的方法,删除梦幻西游根目录下v3d_cache文件夹中的所有文件.[这个要求每次登录游戏前都删除]. 我的解决办法是: 1.删除梦幻西游根目录下v3d_cache文件夹中v3d.dat; 2.右击新建文本文档,重命名为v3d.dat[这里注意后缀扩展名也要更改,如果你

电脑中无法启动Network List Service服务项的解决方法

  电脑中无法启动Network List Service服务项的解决方法 1.按组合键win+r打开运行,输入dcomcnfg并回车; 2.打开组件服务后,依次展开"组件服务→计算机→我的电脑→dcom配置",找到netprofm; 3.右击netprofm,打开属性; 4.切换到安全选项卡,在"启动和激活权限"中选择"自定义",并点击"编辑"按钮; 5.点击"添加"按钮; 6.输入对象名称"L

python中print的不换行即时输出的快速解决方法_python

关于Python2.x和3.x带来的print不换行的问题:昨天有发过推文,利用end = 定义,解决了横向的小问题,但是由于屏幕显示的问题,若字符串长度过大,则会引起不便.两个或多个print做分割的情况下,如何保持依然横向输出,一般的是在print尾部加上逗号(,)但是在3.x下,则不行,需要使用end = "(something)",some signs like , . ; 'also you can put a word or str in"". Exam