在一般情況下利用css在對標籤進行水平與垂直居中的時候利用彈性盒佈局可以輕易解決,只需設置父級標籤的主軸與交叉軸居中即可,代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.out {
width: 500px;
height: 300px;
background: red;
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
}
.out .in {
width: 100px;
height: 100px;
background: white;
}
</style>
</head>
<body>
<div class="out">
<div class="in">
</div>
</div>
</body>
</html>
效果圖如下:
但在很多時候,在做水平與垂直居中時常常伴隨着定位的存在,而定位的存在往往使彈性盒佈局的效果清除掉,而在很多情況下,我們的網頁又是響應式的,對標籤做到絕對居中,單靠定位很難實現,或者實現起來很複雜,而這裏有一種很方便的方法,其中用到了定位,也用到了彈性和佈局的一些內容,具體實現方式如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body {
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
display: flex;
}
.out {
width: 20%;
height: 20%;
background: red;
margin: auto;
}
</style>
</head>
<body>
<div class="out">
</div>
</body>
</html>
效果圖如下:
此例子是以body爲父級標籤,且子標籤爲流式佈局,實現方式即是對父級標籤進行定位,且設置:display:flex;在子級標籤的設置就相對來說更加簡單隻需設置margin: auto;即可,原理我也不是太懂,卻能實現此效果(是我無意間試出來的,嘿嘿��),具體原理可能還需要我對css有更深入的瞭解,有誰知到的可以私信或在評論中指出,大家相互學習,共同進步哦��!
—–覺得有用的記得關注哦!!