div里面的照片垂直居中(怎么让图片在div中垂直居中)
div+css,图片怎么设置在DIV中垂直居中?
div+css,图片设置在DIV中垂直居中:
方法一:
思路:利用text-align属性将图片水平居中,然后设置padding-top的值使其垂直居中。
结构如下:
div
img src="images/tt.gif" width="150" height="100" /
/div
CSS样式如下:
div {width:300px; height:150px; background-color:#CCC; border:#000 1px solid; text-align:center; padding-top:50px;}
释义:
图片的尺寸为150x100px,DIV的大小为300x200px;
background-color:#CCC; border:#000 1px solid;为DIV加个边框和背景色,便于观察效果。
text-align:center,实现图片的水平居中;padding-top:50px,50px这个数值是经过计算得到的,padding-top的值具体算法如下:(DIV的高度 – 图片的高度)/2,但这里要注意,根据盒模型原理,我们还要将DIV原来的高度200减去padding-top的值,这样显示的才是正确的,否则DIV会变高。
方法二:
思路:只用padding属性,通过计算求得居中
结构代码同上;
CSS样式如下:
div {width:225px; height:150px; background-color:#eee; border:#000 1px solid; padding-top:50px; padding-left:75px;}
备注:这里DIV的宽高计算都遵循盒模型原理,计算方法同上。
方法三:
思路:
利用图片的margin属性将图片水平居中,利用DIV的padding属性将图片垂直居中。
结构代码同上;
CSS代码如下:
div {width:300px; height:150px; background-color:#eee; padding-top:50px; border:#000 1px solid;}
img {display:block; margin:0 auto;}
备注:
Img是内联元素,要设置其margin属性使其居中,就要将其转换为块元素display:block;然后利用margin:0 auto;实现图片的水平居中;(有的设计师为图片再加个div标签,然后通过div标签的margin实现居中
怎样让图片在DIV中垂直居中
例子:div
class="ac"
style="width:1000px;height:500px;position:relative;
z-index:9;"
img
width="200px"
height="200px"
style="position:absolute;
top:150px;
left:400px;
z-index:9"
/
/div
这里的top和left需要数学天赋了,一般top=外div总高height/2+需要垂直居中内容总高height/2;left同理。

图片水平垂直居中的四种方法
第一种:相对定位+margin:auto
div class="Pic"img src="images/img.png" alt="” //div
.Pic { position:relative; }
.Pic img { position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; }
第二种:利用flexbox里面的垂直居中属性( align-items:center)?和水平居中属性(justify-content:center)
div class="Pic”img src="images/img.png" alt="" //div
.Pic { display:flex; align-items:center; justify-content: center; /*新版本写法*/ text-align:center; }
第三种:利用dispay:table-cell +?图片vertical-align:middle
div class="Pic"span class="icenter"img src="images/img.png" alt="" //span/div
.Pic .icenter { display:table-cell; vertical-align:middle; text-align:center; width:60px; height:60px; }
.Pic img {?vertical-align:middle; display:inline-block; }
第四种:增加一个空白标签
div class="Pic"img src="images/img.png" alt="" /i class="iblock"/i/div
.Pic { text-align:center; }
.Pic img { vertical-align:middle; }
.Pic .iblock { display:inline-block; vertical-align:middle; height:100%; width:0; }
怎么让img在div里垂直居中
body结构
body
div
img src="1.jpg" alt="haha"
/div
/body
方法一:
将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。
style type="text/css"
*{margin: 0;padding: 0;}
div{
width:150px;
height: 100px;
display: table-cell;
vertical-align: middle;
text-align: center;
border:1px solid #000;
}
img {
width: 50px;
height: 50px;
}
/style
方法二:
通过position定位来实现。将div设置成相对定位relative,将img设置成绝对定位absolute,left:50%,top:50%,此时图片的左上角位于div的中心,要是图片的中心位于div的中心,就需要将图片向上移动图片高度的一半,并向左移动图片宽度的一半。
style type="text/css"
*{margin: 0;padding:0;}
div{
width:150px;
height: 100px;
position: relative;
border:1px solid #000;
}
img {
width: 50px;
height: 50px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -25px; /* 高度的一半 */
margin-left: -25px; /* 宽度的一半 */
}
/style
如何让div中的图片垂直居中对齐?
给div设定text-align:center;可使图片水平居中,再给图片img设定
vertical-align:middle;即可达到垂直居中(切记,是给图片加,不是div,很多人容易搞错)
还有一个方法,就是用table布局,td默认是水平方向居左的,但是垂直方向是居中的,所以你套一个table后再插入图片的话,也能很好的达到垂直居中