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

核心提示:使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中

在曾经的 淘宝UED 招聘 中有这样一道题目:

“使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。”

当然出题并不是随意,而是有其现实的原因,垂直居中是 淘宝 工作中最常遇到的一个问题,很有代表性。

题目的难点在于两点:

      1.垂直居中;

      2.图片是个置换元素,有些特殊的特性。

至于如何解决,下面是一个权衡的相对结构干净,CSS简单的解决方法:

.box {

 /*非IE的主流浏览器识别的垂直居中的方法*/

 display: table-cell;

 vertical-align:middle;

 /*设置水平居中*/

 text-align:center;

 /* 针对IE的Hack */

 *display: block;

 *font-size: 175px;/*约为高度的0.873,200*0.873 约为175*/

 *font-family:Arial;/*防止非utf-8引起的hack失效问题,如gbk编码*/

 width:200px;

 height:200px;

 border: 1px solid #eee;

}

.box img {

 /*设置图片垂直居中*/

 vertical-align:middle;

}

 " />

 

时间: 2024-09-20 00:08:01

CSS中如何实现图片垂直居中的相关文章

css中不确定高度垂直居中2种方法

  例子1 不确定高度垂直居中  代码如下   /* center < */ .vetically {     vertical-align: middle;     display: table-cell;     *position: relative; } .vetically_C {     display: block;     margin: 0 auto;     text-align: center;     *position: absolute;     *top: 50%;

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

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

css中解决vertical-align: middle垂直居中无效方法

 div水平居中很容易,设置css样式 text-align: center;  就可以了. 垂直居中也有个属性 vertical-align: middle; 这个属性普通设置是没有效果的. 第一种方法:通过一个空白图片可以达到垂直居中的效果.    代码如下 复制代码 <html>  <title>图片居中</title>  <style> /*定义垂直居中*/ #test * {  margin: 0px;  padding: 0px;  vertic

CSS List Grid Layout 图片垂直居中_经验交流

CSS List Grid Layout Compatible and tested with IE6, IE7, Safari 2, Safari 3, Firefox 2, Opera 9.21 List Grid View sodales porta libero.n sodales porterat. Nunc eu risus ut dolor bibendum adipiscing. Proin sodales porta libero. Integerdum adipiscing.

CSS中背景图片定位方法

CSS中背景图片的定位,困扰我很久了.今天总算搞懂了,一定要记下来. 在CSS中,背景图片的定位方法有3种: 1)关键字:background-position: top left; 2)像素:background-position: 0px 0px; 3)百分比:background-position: 0% 0%; 上面这三句语句,都将图片定位在背景的左上角,表面上看效果是一样的,实际上第三种定位机制与前两种完全不同. 前两种定位,都是将背景图片左上角的原点,放置在规定的位置.请看下面这张图

CSS解决图片垂直居中的方法

图片垂直居中是DIV+CSS布局中经常碰到的问题,下面就这个问题我们进行研究并给出一个解决方法! 目的是为了使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中. 难点在于两点: 1.垂直居中: 2.图片是个置换元素,有些特殊的特性. 至于如何解决,下面是一个权衡的相对结构干净,CSS简单的解决方法: .box {         /*非IE的主流浏览器识别的垂直居中的方法*/         display: table-cell;        

css实现body背景图片水平垂直居中方法

 <style type="text/css"> *{margin:0; padding:0;} html,body{ width:100%; height:100%;} body{ background:#fff url(/eg/eg_2014_01_02_14_50.jpg) center no-repeat;} </style>   <div class="wrap"> <h2>让body标签中的背景图片水平垂直

css中水平垂直居中对齐布局实例总结

 水平居中,如果知道元素的宽度,则可以使用 代码如下 .cell{width:300px; margin:0 auto; text-align:center;}   如果是内联元素居中,那么直接用text-align:center则行 如果未知元素宽度,并且非内联元素,那么下面给出的几种方案也适合你. 用CSS来实现元素的垂直居中效果是件苦差事,虽然说实现方法有多种,但有很多方式在某些浏览器下可能无法正常的工作.接下来我们就一起来看看这些不同方法实现垂直居中的各自优点和其不足之处. 方法一: 这

css实现在div水平垂直居中与图片水平居中的效果

div居中的完美解决方案! (水平垂直居中) 1,关于居中使用css为:  代码如下 复制代码 position:fixed;left:50%;top:50%;margin-left:width/2;margin-top:height/2; 对于ie6,只能把position:改成absolute; 图片在div中居中 利用图片的margin属性将图片水平居中,利用div的padding属性将图片垂直居中. 方法一: css代码如下:  代码如下 复制代码 div {width:300px; h