img在div左右垂直居中,图片撑满整个div

2017-10-09  本文已影响181人  xilong

1、img前面插入空标签,左右垂直居中

如果图片比div大,那么图片宽度会缩小到div宽度 ,但是图片比例不会变(也就是不会被拉伸,即使高度小或者大)

<div class="fiexd-box">
    <i></i><img src="white.png" alt="">
</div>

.fiexd-box{      /*如果fiexd 浮动,则垂直居中没有效果 */  
    width: 200px;
    height: 200px;
    font-size: 0;              
    display:table-cell;
    text-align:center;
    vertical-align:middle;
    border: 2px solid rebeccapurple;
}
.fiexd-box>img{
    max-width: 100%;         /*图片适配div,如果需要占满div  可以设置 height:100%(图片要被拉伸) */       
}

2、插入一个span标签,写法有点不一样(但是父元素浮动也会居中)

<div class="father-div">
    <span class="middle-span"></span>
   <img src="white.png" alt="">
</div>

.father-div{
    box-sizing: border-box;
    width: 200px;
    height: 200px;
    text-align: center;
    border: 1px solid red;
}
.father-div>span{
    height: 100%;
    display: inline-block;
    vertical-align: middle;
}
.father-div>img{
    vertical-align: middle;
    max-width: 200px;
    max-height: 200px;
}

3、图片撑满整个div (图片比div大,或者比div小都会,图片会被拉伸)

<div class="fiexd-box">
    <img src="white.png" alt="">         
</div>

.fiexd-box{
    width: 200px;
    height: 200px;
    font-size: 0;
    position: relative;
    border: 2px solid red;
}
.fiexd-box>img{
    width: 100%;
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    margin:auto;
    display:block;
}
上一篇 下一篇

猜你喜欢

热点阅读