1、首先先在页面里加载一张图片,代码和效果如下图所示:
2、然后设置给图片起一个class名,方便一会儿的操作。
3、然后给图片设置css样式,因为方便的原因就直接在html页面写css样式了。
4、经常使用“margin: 0 auto”来实现水平居中,而一直认为“margin: auto”是不能实现垂直居中,但是实际上,仅需要添加一些限制便能实现效果,就是通过定位:
position: absolute
top: 0
left: 0
bottom: 0
right: 0
设置定位让上下左右都为0,然后通过margin:0 auto,来让元素实现上下左右都居中。
5、设置完CSS样式之后,通过浏览查看代码的效果就可以,可以看到图片已经实现了。
6、最后给大家附上全部的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>使用CSS让图片水平垂直居中</title>
</head>
<body>
<img class="pic" src="img/timg.jpg" alt="" />
</body>
<style type="text/css">
.pic{
margin: auto
position: absolute
top: 0
left: 0
bottom: 0
right: 0
}
</style>
</html>
水平居中:
1、单独文字垂直居中只需要设置CSS样式line-height属性即可。
2、文字与图片同排,在设置div高度同时再对此css样式的图片“img”样式设置vertical-align:middle垂直居中属性,如.yangshi img{vertical-align:middle} 。
3 不确定宽度的块级元素设置水平居中的方法:
(1)、是使用table作为容器的方法来实现。当然不大推荐使用这种方法,因为添加了无意义的标签。介绍一下。Table标签本身并不是块级元素,当不设置table的宽度的话,里面的宽度是由他内部元素的宽度撑起来的。但即使没有设置table的宽度,直接设置table的外边距margin:0 auto就可以实现水平居中了!这样就可以通过设置table水平居中,间接使里面的内容居中。
(2)、相对于用table的方法的好处是不用增加无语义标签,简化标签嵌套深度。这个思路是这样的,通过改变块级元素的display属性值为inline类型,然后设置text-align:center来实现居中。这种方法也有一定不妥之处就是把块级元素改为行内元素后,行内元素比块元素少了一些功能。比如说设定长宽值等,在项目运用中可能会有一些限制,可以自行选择。
(3)、通过给父元素设置浮动float,再设置父元素的position属性为relative和left:50%子元素设置position:relative和left:-50%来实现水平居中。这个好处是可以保留块级元素仍然是以display:block的形式显示,不会添加无意义的标签,不添加嵌套深度。确点是设置了position:relative带来了一些副作用。下面是第三种方法的实例代码,放到body标签里面就可以了。
垂直居中:
1.对这个CSS居中问题,可以使用设置背景图片的方法。举例:
body {BACKGROUND: url(”图片文件”) #FFF no-repeat center}
关键就在于这个Center属性,它表示让该背景图片在容器中居中。也可以把Cener换成Top Left或者直接写上数字来调整它的位置。
2.如何使文本在DIV中垂直居中
对于文字,便不能用背景方法,可以用增高行距的办法变通实现垂直居中,示范代码如下:
#center{ MARGIN-RIGHT: auto MARGIN-LEFT: auto height:200px vertical-align:middle line-height:200px }
<div id=”center”><p>test content</p></div>
说明:
vertical-align:middle表示行内垂直居中,将行距增加到和整个DIV一样高line-height:200px然后插入文字,就垂直居中了。
图片垂直居中的实例:
CSS 代码 复制
.new_proimg{display: table-cell /*非IE的主流浏览器识别的垂直居中的方法*/
vertical-align:middle /*非IE的主流浏览器识别的垂直居中的方法*/
text-align:center /*设置水平居中*/
*display: block /* 针对IE的Hack */
*font-size: 104px /*约为高度的0.873,120*0.873 约为104*/
*font-family:Arial /*防止非utf-8引起的hack失效问题,如gbk编码*/
width:120px
height:120px
margin-bottom: 5px
border: 1px solid #eee
}
图片垂直居中建议:
1、单独文字垂直居中只需要设置CSS样式line-height属性即可。
2、文字与图片同排,在设置div高度同时再对此css样式的图片“img”样式设置vertical-align:middle垂直居中属性,
如.yangshi img{vertical-align:middle} 。
写个简单的例子给你吧
htlm如下:
<h4>图片水平居中</h4>
<div class="demo1">
<img src="你的图片" alt="">
</div>
<h4>图片垂直居中</h4>
<div class="demo2">
<div class="imgbox">
<img src="你的图片" alt="">
</div>
</div>
<h4>图片水平垂直居中</h4>
<div class="demo3">
<div class="imgbox">
<img src="你的图片" alt="">
</div>
</div>
css如下:
<style type="text/css">
.demo1{width: 200pxheight: 200pxborder: 1px solid #cccdisplay: inline-blocktext-align: center}
.demo1 img{width: 100pxheight: auto}
.demo2{width: 200pxheight: 200pxborder: 1px solid #cccdisplay: table}
.demo2 .imgbox{display: table-cellvertical-align: middle}
.demo2 .imgbox img{width: 100pxheight: auto}
.demo3{width: 200pxheight: 200pxborder: 1px solid #cccdisplay: table}
.demo3 .imgbox{display: table-cellvertical-align: middletext-align: center}
.demo3 .imgbox img{width: 100pxheight: auto}
</style>