文档章节

IE CSS Bug系列:图片上没有line-height垂直居中

王尘宇
 王尘宇
发布于 2017/09/06 23:48
字数 515
阅读 2
收藏 0
点赞 0
评论 0
图片上没有line-height垂直居中 影响的IE版本 这个bug影响IE7, IE6 表现 使用line-height方法时图片没有垂直居中 教程编写时间 2009.7.18 11:39:56 描述 这个bug杀死了我好多脑细胞。我常常在做“产品页面”时,把很多的不同尺寸的图放到相同尺寸的盒子里,使它们看上去更美观。即使是我找到了这个bug的解决办法之后,我依然痛恨它,因为我找到的仅有的解决办法需要添加额外的标记元素。不管怎样,我们来看一下示例。 示例( 英文原文中查看) HTML Code:
  1. <div><img src="hl_logo.png" alt="" width="95" height="115"></div>
  2. <!-- NOTE: no white-space in the <div> also triggers bug in IE7 -->
CSS Code:
  1. div {
  2.     width: 150px;
  3.     height: 155px;
  4.     line-height: 155px;
  5.     text-align: center;
  6. }
  7. img {
  8.     vertical-align: middle;
  9. }
在IE8以下版本的IE中,瓢虫的图片没有在垂直方向上居中。(嗨,起码还显示了好么!) 解决方案 以下是上述bug的解决方法(以类型排序) 解决方法 (干净的标记方法) 该方法的时间 2009.7.18 11:52:58 可修复的的版本 所有受该bug影响的版本 描述 我得说明,既然这个解决方法被标记为“干净的标记方法”,如果你支持的最低IE版本为7,那么仅需在div中添加空格。(也就是说,<span>元素只在IE7以下版本的中需要) 示例( 英文原文中查看) HTML Code:
  1. <div>
  2.     <img src="hl_logo.png" alt="" width="95" height="115">
  3.     <span></span>
  4. </div>
  5. <!-- NOTE: <span> is not needed for IE7; whitespace is enough -->
CSS Code:
  1. div {
  2.     width: 150px;
  3.     height: 155px;
  4.     line-height: 155px;
  5.     border: 1px solid #000;
  6.     background: #f00;
  7.     text-align: center;
  8. }
  9. img {
  10.     vertical-align: middle;
  11. }
  12. span {
  13.     display: inline-block;
  14. }
注意我们添加了一个额外的span从而在7以下版本的IE中修复该bug;我们还将display属性设置为inline-block来使我们关键的span拥有“layout”。最后结果:一切都正常了。 原文链接:  haslayout   翻译:  伯乐在线 nighca 译文链接:  http://blog.jobbole.com/49703/

© 著作权归作者所有

共有 人打赏支持
王尘宇
粉丝 1
博文 450
码字总数 469557
作品 0
西安
css行高line-height的一些深入理解及应用

二、一些字面意思 “行高”顾名思意指一行文字的高度。具体来说是指两行文字间基线之间的距离。基线实在英文字母中用到的一个概念,我们刚学英语的时使用的那个英语本子每行有四条线,其中底...

manlianman ⋅ 2013/10/22 ⋅ 0

学习CSS你必须踩得那些坑(六)

这里加了边框方便调试: · 为了能够设置在垂直方向上的高度(padding-top/bottom, margin-top/bottom, height):我们设置行内元素<a> display为inline-block 行内元素是就像水一样,垂直方向...

博为峰教研组 ⋅ 2016/12/26 ⋅ 0

html5 图片与文字中间对齐处于同一行、或者图片与按钮处于同一行

在日常开发中,经常会使用到图片与文字或图片与按钮对齐。 1.图片与按钮 处于同一行,并居中对齐,长使用的方法如下: <div> <img src="" style="vertical-align:middle"/> <button type="bu...

突然很想飞 ⋅ 2015/12/08 ⋅ 0

IE下css bug集合-翻译自haslayout.net

概述 IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug。 本页列举了IE下的一些问题,实例样本和一些我们已知的解决方法。 尽管我已经尽力按照它们本来的性质对它...

山哥 ⋅ 2012/06/15 ⋅ 0

CSS 兼容总结及面试问题

CSS 兼容总结及面试问题 +1、如何定义高度很小的容器? 原因:在IE6下无法定义小高度的容器,是因为有一个默认的行高。 解答:列举2种解决方案:overflow:hidden 或 line-height:0 +2、图片下...

南宫天明 ⋅ 2012/08/30 ⋅ 1

【前端Talkking】CSS系列——CSS深入理解之line-height

1.写在前面 两个多周的时间没有写文章了,手好痒好痒,趁着公司在装修,从上周末到本周都在家办公,同时公司的项目并不紧急,于是抽着时间梳理了一下CSS中关于行高的理解,今天发布出来,大家...

micstone ⋅ 06/08 ⋅ 0

彻底搞定vertical-align垂直居中不起作用疑难杂症

原本我的文章标题是深入探讨line-height与vertical-align的疑难杂症,但这样似乎没能针对性的抛出一个问题,故改成“彻底搞定vertical-align垂直居中不起作用疑难杂症”。因此,本文讲解的还...

阿K1225 ⋅ 02/12 ⋅ 0

小结一下前端html+css的经验(一)

1、不要使用过小的图片做背景平铺,这就是为何很多人都不用 1px 的原因,这才知晓。宽高 1px 的图片平铺出一个宽高 200px 的区域,需要 200*200=40, 000 次,占用资源。 2、无边框,推荐的写...

Rella ⋅ 2012/03/15 ⋅ 12

DIV垂直居中的各种方法

在前面的文章中我简单总结了一个“CSS在页面布局中实现div水平居中的方法”,其实水平居中实现还是比较简单的,反而垂直居中有点麻烦,因为我们设计页面的时候往往水平宽度都是固定的。因此我...

alexian ⋅ 2010/10/28 ⋅ 0

元素水平居中和垂直居中的几种简单方法

一、如何使元素在水平方向上居中 1. 使用text-align:center。 在父级元素的CSS样式设置text-align:center。把内部嵌套一个div把它当作文本来对待,不过这个方法有时候是不管用的。 2.在需要居...

小陈同学 ⋅ 2014/05/07 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Greys Java在线问题诊断工具

Greys是一个JVM进程执行过程中的异常诊断工具。 在不中断程序执行的情况下轻松完成JVM相关问题排查工作 目标群体 有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志。回...

素雷 ⋅ 21分钟前 ⋅ 0

git从远程仓库拉取代码的常用指令

一种(比较麻烦的)拉代码的方法 git clone //克隆代码库,与远程代码库的主干建立连接,如果主干已经在就不用再clone啦,克隆路径为当前路径下的新创建的文件夹 git checkout -b //本地建立...

Helios51 ⋅ 35分钟前 ⋅ 0

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 40分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 今天 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部