body結構css
<body> <div> <img src="1.jpg" alt="haha"> </div> </body>
方法一:html
將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>
方法二:flex
經過position定位來實現。將div設置成相對定位relative,將img設置成絕對定位absolute,left:50%,top:50%,此時圖片的左上角位於div的中心,要是圖片的中心位於div的中心,就須要將圖片向上移動圖片高度的一半,並向左移動圖片寬度的一半。.net
<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>
方法三:能夠用在不清楚圖片圖片或元素的真實寬高狀況下orm
仍是經過position定位來實現。將div設置成相對定位relative,將img設置成絕對定位absolute,left:50%,top:50%,此時圖片的左上角位於div的中心,要是圖片的中心位於div的中心,就須要將圖片向上移動圖片高度的一半,並向左移動圖片寬度的一半,若是不知道元素的寬高,能夠用transform: translate(-50%,-50%);htm
<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%; transform: translate(-50%,-50%); } </style>
方法四:blog
<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: 0; left: 0; right: 0; bottom: 0; margin: auto; } </style>
方法五:彈性佈局flex圖片
<style type="text/css"> *{margin: 0;padding:0;} div{ 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 it