1、第一种css代码如图所示。display设置成table-cell,text-align为center,垂直居中设置vertical-align为middle。
2、打开浏览器查看结果,图片已处于正中状态。
3、第二种方法css代码如图。div设置成相对定位,img设置成绝对定位,然后left:50%,top:50%,此时图片的左上角将位于div的中心。重点:图片向上移动图片高度的一半,并向左移动图片宽度的一半。正好为与div正中间。
4、在浏览器查看结果,图片水平,垂直均居中。
首先创建一个div,以及对有图片的div设置样式,给img的父级添加一个diaplay,并且属性为table,并且把包含图片的div中的display属性设置成table-cell,最后给有图片的div设置成vertical-align:
middle属性,代码如下:
.tablebox{
width: 300px
height: 250px
background: #fff
display: table
}
#xxx{
display: table-cell
vertical-align: middle
}
#xxx img{
width: 100px
}
可以多看看黑马程序员的课程,多学学这些基础知识。
在css中,我们可以使用flex去实现垂直居中,但是flex并不是一个很好的方法,现在很多浏览器并不支持flex,例如IE8,9。首先我们要先给图片添加一个div,并且定义为宽度为100px,高度也是100px,并且给它定义一些基本的属性,其中我们把div中的display元素设置成flex,然后把另外一条添加align-items:center属性。
css代码:
body{background:#999}
.flexbox{width:300pxheight:250pxbackground:#fffdisplay:flexalign-items:center}
.flexboximg{width:100pxheight:100pxalign-items:center}
如果情况容许的话,可以用以下方法,兼容性更好:
body{background:#ccc}
.posdiv{width:300pxheight:250pxbackground:#fffposition:relativemargin:0auto}
.posdivimg{width:100pxposition:absolutetop:50%margin-top:-50px}