首頁  >  文章  >  web前端  >  你一定不知道div裡的圖片是如何水平垂直居中的

你一定不知道div裡的圖片是如何水平垂直居中的

烟雨青岚
烟雨青岚轉載
2020-07-01 11:35:222628瀏覽

你一定不知道div裡的圖片是如何水平垂直居中的

你一​​定不知道div裡的圖片是如何水平垂直居中的,這裡小編提供了五種居中的方法,大家一起來看看吧。

body結構

	<p>
		<img  alt="你一定不知道div裡的圖片是如何水平垂直居中的" >
	</p>

方法一:
將display設定成table-cell,然後水平居中設定text-align為center,垂直居中設定vertical-align為middle 。

<style>
	*{margin: 0;padding: 0;}
    p{
		width:150px;
		height: 100px;
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		border:1px solid #000;
	}
	img {
        width: 50px;
  		height: 50px;
	}
</style>

結果如下圖所示:
你一定不知道div裡的圖片是如何水平垂直居中的

方法二:
透過position定位來實現。 將p設定成相對定位relative,將img設定成絕對定位absolute,left:50%,top:50%,此時圖片的左上角位於p的中心,要是圖片的中心位於p的中心,就需要將圖片向上移動圖片高度的一半,並向左移動圖片寬度的一半。

<style>
	*{margin: 0;padding:0;}
	p{
		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裡的圖片是如何水平垂直居中的

方法三:可以用在不清楚圖片圖片或元素的真實寬高情況下
還是透過position定位來實現。將p設定成相對定位relative,將img設定成絕對定位absolute,left:50%,top:50%,此時圖片的左上角位於p的中心,要是圖片的中心位於p的中心,就需要將圖片向上移動圖片高度的一半,並向左移動圖片寬度的一半,如果不知道元素的寬高,可以用transform: translate(-50%,-50%);

<style>
    *{margin: 0;padding:0;}
    p{
        width:150px;
        height: 100px;
        position: relative;
        border:1px solid #000;
    }
    img {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
</style>

方法四:

<style>
    *{margin: 0;padding:0;}
    p{
        width:150px;
        height: 100px;
        position: relative;
        border:1px solid #000;
    }
    img {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
</style>

方法五:彈性佈局flex

<style>
    *{margin: 0;padding:0;}
    p{
        width:150px;
        height: 100px;
        border:1px solid #000;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    img {
        width: 50px;
        height: 50px;
    }
</style>

效果都一樣,希望能幫到大家!

本文轉自:https://blog.csdn.net/DreamFJ/article/details/68921957

推薦教學:《HTML教學

以上是你一定不知道div裡的圖片是如何水平垂直居中的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除