CSS中让图片垂直居中的方法

   在网页实现的过程中,经常会遇到图片垂直居中【水平居中的话,“text-align:center;”即可搞定】的情况。有时难免会遇到图片大小不同,但是要垂直居中于大小一样的容器里,这时候就比较棘手了。以前练习的时候,总是用一样的图片进行排版,避重就轻。但是今天,面对这个问题,觉得有必要挑战一下自己,同时也为有同样困惑的朋友们做一下探讨。以下内容就是我做的总结,简单又实用。

简述:

  将外部容器的显示模式设置成display:table-cell,【针对IE6/IE7】在img标签的前面插入一对空标签,这样span内部的内容就相当于表格,可以很方便的使用vertical-align属性来对齐其中的内容了。

 1 <head>
 2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 3 <title>方法-未知大小的图片居中</title>
 4 <style type="text/css">
 5     .box{display:table-cell; width:100px; height:100px; text-align:center; vertical-align:middle; border:1px solid #999;}
 6     /*万恶的IE hack代码*/
 7     .box span{display:inline-block; height:100%; vertical-align:middle;}
 8     .box img{vertical-align:middle;}
 9 </style>
10 </head>
11
12 <body>
13 <div class="box">
14     <span></span><img src="icon01.jpg" width="44" height="44"/>
15 </div>
16 </body>

  亲测可行~

    

 

时间: 2024-10-13 07:31:31

CSS中让图片垂直居中的方法的相关文章

(转)HTML&amp;CSS——background: url() no-repeat 0 -64px;CSS中背景图片定位方法

http://blog.csdn.net/oscar92420aaa/article/details/51304067 CSS中背景图片的定位,困扰我很久了.今天总算搞懂了,一定要记下来. 在CSS中,背景图片的定位方法有3种: 1)关键字:background-position: top left; 2)像素:background-position: 0px 0px; 3)百分比:background-position: 0% 0%; 上面这三句语句,都将图片定位在背景的左上角,表面上看效果是

CSS中对图片(background)的一些设置心得总结

写网页的时候很多情况需要对图片进行操作,如何在不进行专业的美工裁切操作的情况下而让自己的素材度达到最大的满意度呢,这是一个问题,对于懒得开ps切图的我,通常会直接在网络上download一张图片,直接拖到html里,这就需要对图片的css样式进行一些调整,鉴于我总是记不住一些样式属性而无法让图片按我的想法摆放,不得已每次都要百度一下,几次下来,让我很是恼火,于是专门整理了一些css中关于图片的一些属性设置,置于此,以供下次望及时查看(废话真多): css2中关于background的属性有: b

(8/24) 图片跳坑大战--css中的图片处理

前言:此节的开展是在上一节的基础上进行的,(每一节都是从无到有编写关于此节的知识),最后会附上相关完整代码.上一节 CSS中的图片处理 1.新建images文件夹 在src目录下新建一个images文件夹,把需要的图片放入images文件夹.图片下载 2.新增标签 在index.html文件中增加一个放置div的标签(需要注意的是这里修改的是src下的index.html文件,不是dist下的),代码如下: <div id="img"></div> 3.编写样式

CSS中设置DIV垂直居中的N种方法 兼容IE浏览器

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertica

通过CSS控制页面中的内容垂直居中的方法

方法一:通过行高(line-height)定位 line-height通常是用于调节一段文字的行与行之间的距离,或者说两行文字之间的距离,如果行高是500px,那么每一行中的文字距离本行的顶部就是250px,如果将文字的行高设为500px,并且外面的容器高度也设为500px,就可以实现这行文字垂直居中,这样做的缺点是如果内容过多,文字就跑到了下一行,就不是居中了,所以限制较多. 具体代码: <html> <head> <style> body { margin: 0;

WEB项目构建优化之自动清除CSS中的图片缓存

在web项目构建发布时,经常遇到css中图片的修改优化,那么如何清除图片的缓存成为必须要解决的问题.曾经有过傻傻的方法就是直接在图片后面添加随机数.今天主要是从构建自动化方式来解决这个问题,提高开发及发布的效率,让项目向工程化方向靠拢. 在解决这个前,也陆续找了许多方案,像gulp-modify-css-urls,feWorkflow,还有淘宝的一款工具,不过找不到源代码,不知是否开源,要么是不满足,要么就是太重.于是决定参考gulp-modify-css-urls,基于gulp写了一个简单又满

css样式水平居中和垂直居中的方法

水平居中(包含块中居中) 1. 定宽,左右margin为auto.(常规流块盒.弹性项目[不用定宽]) 例子:在box1盒子上设置宽,再设置margin:auto: <style> .box1 { width: 200px; height: 200px; background-color: black; margin: auto; } </style> <body> <div class="box-all"> <div class=

css中元素水平垂直居中4种方法介绍

table-cell轻松设置文本图片水平垂直居中 让一个元素垂直居中的思路:把这个元素的容器设置为table-cell,也就是具有表格单元格的特性,再使用vertical-align(这个属性对block元素不起作用,但对table-cell元素是有效的)设置元素垂直居中,即可达到我们想要的效果. IE7及以下版本不支持此方法,IE8及以上版本及大部分的主流浏览器都很好的支持. HTML代码  代码如下   <div class="img">    <img src=

CSS 中背景图片定位方法

三种: 关键字:background-position: top left; 像素:background-position: 0px 0px; 百分比:background-position: 0% 0%; 区别:前两种定位将背景图片左上角的原点放置在指定位置:第三种方式将图片本身的点(x%,y%)与背景区域的点(x%,y%)重合. 使用百分比设置的主要优势在于,当页面缩放的时候,背景图片也会跟着一起缩放.