Css未知高度图片垂直居中实例

方法一:

该方法是将外部容器的显示模式设置成display:table,img标签外部再嵌套一个span标签,并设置span的显示模式为display:table-cell,这样就可以很方便的使用vertical-align象表格元素那样对齐了,当然这只是在标准浏览器下,IE6/IE7还得使用定位。
HTML结构部分:

 代码如下 复制代码

<div id="box">
    &nbsp;&nbsp;&nbsp;&nbsp;<span><img src="images/demo.jpg" alt="" /></span>
</div>

CSS样式部分:

 代码如下 复制代码
<style type="text/css">
#box {
    width:500px;height:400px;
    display:table;
    text-align:center;
    border:1px solid #d3d3d3;background:#fff;
}
#box span {
    display:table-cell;
    vertical-align:middle;
}
#box img {
    border:1px solid #ccc;
}
</style>
<!--[if lte IE 7]>
<style type="text/css">
#box {
    position:relative;
    overflow:hidden;
}
#box span {
    position:absolute;
    left:50%;top:50%;
}
#box img {
    position:relative;
    left:-50%;top:-50%;
}
</style>
<![endif]-->

方法二:
标准浏览器还是将外部容器#box的显示模式设置为display:table-cell,IE6/IE7是利用在img标签的前面插入一对空标签的办法。
HTML结构部分:

 代码如下 复制代码

<div id="box">
    &nbsp;&nbsp;&nbsp;&nbsp;<i></i><img src="images/demo.jpg" alt="" />
</div>

<style type="text/css">
#box{
    width:500px;height:400px;
    display:table-cell;
    text-align:center;
    vertical-align:middle;
    border:1px solid #d3d3d3;background:#fff;
}
#box img {
    border:1px solid #ccc;
}
</style>
<!--[if IE]>
<style type="text/css">
#box i {
    display:inline-block;
    height:100%;
    vertical-align:middle
}
#box img {
    vertical-align:middle
}
</style>
<![endif]-->

方法三:
该方法针对IE6/IE7,将图片外部容器的字体大小设置成高度的0.873倍就可以实现居中,标准浏览器还是使用上面的方法来实现兼容,并且结构也是比较优雅。
HTML结构部分:

 代码如下 复制代码

<div id="box">
    &nbsp;&nbsp;&nbsp;&nbsp;<img src="images/demo.jpg" alt="" />
</div>

CSS样式部分:

 代码如下 复制代码

#box {
    width:500px;height:400px;
    text-align:center;
    border:1px solid #d3d3d3;background:#fff;
 
    /* 兼容标准浏览器 */
    display: table-cell;
    vertical-align:middle;
 
    /* 兼容IE6/IE7 */
    *display:block;
    *font-size:349px; /* 字体大小约为容器高度的0.873倍 400*0.873 = 349 */
    *font-family:Arial; /* 防止非utf-8引起的hack失效问题,如gbk编码 */
}
 
#box img {
    vertical-align:middle;
}

时间: 2024-08-01 06:34:33

Css未知高度图片垂直居中实例的相关文章

CSS中未知高度水平垂直居中实例

关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题

CSS未知高度元素垂直居中问题解决方法

首先我们来看这样一段HTML:  代码如下 复制代码 <ul> <li> <a href=""><img src="" alt="" /></a> </li> </ul> 类似这样的结构,是我们在实际应用中常遇到的,其中,li的宽和高都是固定的,但图片的宽和高可能是不确定的,例如商城的商品列表. 此时,如果希望图片水平居中,只需要给li应用text-align:

CSS解决未知高度的DIV垂直居中

css|解决 原文标题:Vertical Centering in CSS副标题:Yuhu's Definitive Solution with Unknown Height 尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下). 标准浏览器如Mozilla, Opera, Safari等.,可将父级元素显示方式设定为TABLE(display: table;) ,内部子元素定为table-cell (dis

CSS解决未知高度垂直居中的问题_CSS/HTML

除特别说明外,本站内容采用创作共用授权署名和非商业用途,请尊重劳动成果. 原文标题:Vertical Centering in CSS 副标题:Yuhu's Definitive Solution with Unknown Height 翻译:forestgan 尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下). 标准浏览器如Mozilla, Opera, Safari等.,可将父级元素显示方式设定为TA

三款css div 图片垂直居中代码

本文章收集了三款css教程 div 图片垂直居中代码哦,他可以对div进行垂直居中同时也可以对图片垂直居中哦,好了下面我们来看看这款垂直居中实例代码吧. cssbox{  /* 非ie内核浏览器识别垂直居中 */  display:table-cell;  vertical-align:middle;  /* ie内核浏览器识别垂直居中 */  *display:block;  /* 约为高度的0.873,200*0.873 约为175 */  *font-size:175px;  text-a

未知宽高图片垂直居中&amp;amp;&amp;amp;CSS垂直居中总结

http://www.cnblogs.com/dojo-lzz/p/4419596.html DIV    水平垂直居中 <style> #one { width: 500px; height: 300px; background: green; border: 1px solid red; text-align: center; vertical-align: middle; display: table-cell; } #vd { width: 400px; height: 30px; b

css 图片水平垂直居中实例小结

图片水平垂直居中是老梗,大部分人都做过,或者被面试时问过.但是下面这种0.873方法我是刚知道~~ mark一下.font-size:105 = 120*0.873 提供方法人: shenshenyan span{display:table-cell;text-align:center; vertical-align:middle;*display:block;*font-family:aiarl;width:120px;height:120px;*font-size:105px;} span

网页制作实例:用CSS实现图片垂直居中方法

网页制作,用CSS实现图片垂直居中方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><style type="text/css"><!--body {margin:0;padding:0}div {width:500px;

CSS中如何实现图片垂直居中

核心提示:使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中 在曾经的 淘宝UED 招聘 中有这样一道题目: "使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中." 当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性. 题目的难点在于两点:       1.垂直居中:       2.图片是个置换元素,有些特殊的特性. 至于如何解决,下面是一个权衡的