<li><img>标签之间空隙解决办法
2015-10-29 09:26
274 查看
第一,给图片img标签display:block。
Example
Source Codeimg{display:block}
第二,定义容器里的字体大小为0。
Example
Source Codediv {
width:110px;
border:1px solid #000000;
font-size:0
}
第三,定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top
Example
Source Codeimg{vertical-align:bottom}
其他还有把图片下边距设为负值和改写HTML标签的排列。我觉得前三种就完全可以解决了。
造成图片在IE下与容器下边界有空隙的原因
在网上搜了一下,发现old9说的
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。
至于这里的HTML属性align="center"(对于图片浏览器会处理成align="middle"),就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。
IE下图片与容器下边界有空隙的解决方法
解决方法
一、将图片转换为块级对象
即,设置img为“display:block;”。在本例中添加一组CSS代码:“#sub img {display:block;}”。
二、设置图片的垂直对齐方式
即设置图片的vertical-align属性为“top,text-top,bottom,text-bottom”也可以解决。如本例中增加一组CSS代码:“#sub img {vertical-align:top;}”。
三、设置父对象的文字大小为0px
即,在#sub中添加一行:“font-size:0;”可以解决问题。但这也引发了新的问题,在父对象中的文字都无法显示。就算文字部分被子对象括起来,设置子对象文字大小依然可以显示,但在CSS效验的时候会提示文字过小的错误。
四、改变父对象的属性
如果父对象的宽、高固定,图片大小随父对象而定,那么可以设置“overflow:hidden;”来解决。如本例中可以向#sub中添加以下代码:“width:88px;height:31px;overflow:hidden;”。
五、设置图片的浮动属性
即在本例中增加一行CSS代码:“#sub img {float:left;}”。如果要实现图文混排,这种方法是很好的选择。
六、取消图片标签和其父对象的最后一个结束标签之间的空格。
这个方法要强调下,在实际开发中该方法可能会出乱子,因为在写代码的时候为了让代码更体现语义和层次清晰,难免要通过IDE提供代码缩进显示,这必然会让标签和其他标签换行显示,比如说DW的“套用源格式”命令。
原因分析
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。
至于这里的HTML属性align=”center”(对于图片浏览器会处理成align=”middle”),就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。
相关信息
IE的显示有几种模式,在html文档的开始部分声明<!DOCTYPE ….> 如果声明为strict模式,ie以w3c的方式显示文档,而w3c的标准里面<img />默认是一个inline的标签,除非自己显式的声明为block。
那个空隙是ie针对盒模型默认的line-height和font-size。给img desplay:block;虽然能解决问题,但没从结构上来考虑.可谓治标不治本。
原文链接:点击打开链接
Example
Source Codeimg{display:block}
第二,定义容器里的字体大小为0。
Example
Source Codediv {
width:110px;
border:1px solid #000000;
font-size:0
}
第三,定义图片img标签vertical-align:bottom,vertical-align:middle,vertical-align:top
Example
Source Codeimg{vertical-align:bottom}
其他还有把图片下边距设为负值和改写HTML标签的排列。我觉得前三种就完全可以解决了。
造成图片在IE下与容器下边界有空隙的原因
在网上搜了一下,发现old9说的
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。
至于这里的HTML属性align="center"(对于图片浏览器会处理成align="middle"),就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。
IE下图片与容器下边界有空隙的解决方法
解决方法
一、将图片转换为块级对象
即,设置img为“display:block;”。在本例中添加一组CSS代码:“#sub img {display:block;}”。
二、设置图片的垂直对齐方式
即设置图片的vertical-align属性为“top,text-top,bottom,text-bottom”也可以解决。如本例中增加一组CSS代码:“#sub img {vertical-align:top;}”。
三、设置父对象的文字大小为0px
即,在#sub中添加一行:“font-size:0;”可以解决问题。但这也引发了新的问题,在父对象中的文字都无法显示。就算文字部分被子对象括起来,设置子对象文字大小依然可以显示,但在CSS效验的时候会提示文字过小的错误。
四、改变父对象的属性
如果父对象的宽、高固定,图片大小随父对象而定,那么可以设置“overflow:hidden;”来解决。如本例中可以向#sub中添加以下代码:“width:88px;height:31px;overflow:hidden;”。
五、设置图片的浮动属性
即在本例中增加一行CSS代码:“#sub img {float:left;}”。如果要实现图文混排,这种方法是很好的选择。
六、取消图片标签和其父对象的最后一个结束标签之间的空格。
这个方法要强调下,在实际开发中该方法可能会出乱子,因为在写代码的时候为了让代码更体现语义和层次清晰,难免要通过IDE提供代码缩进显示,这必然会让标签和其他标签换行显示,比如说DW的“套用源格式”命令。
原因分析
图片文字等inline元素默认是和父级元素的baseline对齐的,而baseline又和父级底边有一定距离(这个距离和 font-size,font-family 相关,不一定是 5px),所以设置 vertical-align:top/bottom/text-top/text-bottom 都可以避免这种情况出现。而且不光li,其他的block元素中包含img也会有这个现象。
至于这里的HTML属性align=”center”(对于图片浏览器会处理成align=”middle”),就相当于vertical-align:middle; 所以道理也是一样的,只要vertical-align不取baseline,这个空隙就消失了。
相关信息
IE的显示有几种模式,在html文档的开始部分声明<!DOCTYPE ….> 如果声明为strict模式,ie以w3c的方式显示文档,而w3c的标准里面<img />默认是一个inline的标签,除非自己显式的声明为block。
那个空隙是ie针对盒模型默认的line-height和font-size。给img desplay:block;虽然能解决问题,但没从结构上来考虑.可谓治标不治本。
原文链接:点击打开链接
相关文章推荐
- 需求,刚做android,这个布局想请加各位大神如何写
- The Graveyard Book
- ps cs6破解
- bigNum(大整数)
- shell批量增删改查百库百表(mysql)
- 基于SpringMVC+Hibernate4.0+Spring3.X的一个很简单的cms系统,适合于初学者
- 【读书笔记】iOS网络-Web Service协议与风格
- 【读书笔记】iOS网络-Web Service协议与风格
- Spring3.1+ JpaDaoSupport被deprecated后的研究
- AFN 框架使用总结
- Leetcode-134-Gas Station C#
- Win10将改善对4K等高分辨率显示屏的支持
- Sql Server数据库彻底删除用户
- win7计划任务
- 学习笔记之JQuery 的$("#nav > li")中>的意思
- oracle行转列函数WMSYS.WM_CONCAT 用法
- LINQ to SQL快速上手 step by step
- exuberant ctags、ctags、ptags等标签工具介绍
- poj题目分类记录
- C# 最简单实现文件附件在线预览的方法