web前端Html5開發(fā)CSS之元素五大居中方式,實用又簡單!
時間:2023-07-03 19:30:01 | 來源:網(wǎng)站運營
時間:2023-07-03 19:30:01 來源:網(wǎng)站運營
web前端Html5開發(fā)CSS之元素五大居中方式,實用又簡單?。捍蠹沂遣皇菍υ鼐又械闹R點很是模糊?是不是苦于找不到一個總結(jié)的通俗易懂的說明?是不是自己懶得去總結(jié)?今天小編在前端的學(xué)習(xí)與實踐中總結(jié)出的元素的五大居中方式,黏貼了代碼并對代碼做了解釋,希望對迷茫的有所幫助!
下面的居中示例中,統(tǒng)一使用了同一個div作為父元素和p作為子元素
設(shè)置一個div,并且設(shè)置了div的寬高邊框,div里面設(shè)置一個塊元素p,設(shè)置了它的寬高和背景色
css居中方式1
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中1</title>
<style>
*{margin:0;}
div{width:200px;height:300px;border:2px solid #000;margin:200px auto;
text-align:center;font-size:0;
}
div p{width:100px;height:100px;background:#666;
display:inline-block;vertical-align:middle;
}
div:after{content:"";display:inline-block;height:100%;vertical-align:middle;}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
這里利用了偽元素讓子元素p在div盒子里左右水平居中只需要在它的父元素div里加text-align:center;垂直方向居中需要在父元素后面加了一個偽元素,并使得樣式為inline-block;height:100%;就是和父元素一樣高,vertical-align:middle;垂直居中,也就是p元素相對與偽元素居中,由于偽元素和div一樣高,所以相當(dāng)于p元素在div里垂直居中。
css居中方式2
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中2</title>
<style>
*{margin:0;}
div{position:relative;width:300px;height:400px;border:1px solid #000;margin:100px auto;}
p{position:absolute;left:0;bottom:0;right:0;top:0;margin:auto;width:100px;height:100px;background:#f99;}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
這里利用了定位居中
子元素p設(shè)置position:absolute脫離文檔流,默認以html作為父元素,所以我們給父元素div設(shè)置position:relative;使得p以div為父元素做位置的變動,left:0;tight:0;top:0;bottom:0;(只有設(shè)置了定位的元素才可以使用這種方式來移動),最后margin:auto;就會水平和垂直都居中。
css居中方式3
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中3</title>
<style>
*{margin:0;}
div{display:flex;justify-content:center;align-items:center;width:300px;height:400px;border:1px solid #000;margin:100px auto;}
p{width:100px;height:100px;background:#f99;}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
這里利用了彈性盒居中
父元素div設(shè)置成彈性盒樣式,justify-content:center;主軸居中
align-items:center;垂直居中(而且這兩個只能設(shè)置在父元素上,彈性盒知識)
css居中方式4
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中4</title>
<style>
*{margin:0;}
div{position:relative;width:300px;height:400px;border:1px solid #000;margin:100px auto;}
p{width:100px;height:100px;background:#f99;position:absolute;
left:50%;top:50%;margin:-50px 0 0 -50px;}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
利用定位線左上角居中,然后左移子元素寬度的一半,再上移子元素高度的一半。
css居中方式5
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中5</title>
<style>
*{margin:0;}
div{position:relative;width:300px;height:400px;border:1px solid #000;margin:100px auto;}
p{position:absolute;width:100px;height:100px;background:#f99;left:50%;top:50%;
transform:translate(-50%,-50%);}
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
利用動畫移動屬性transform
結(jié)語
相信看了上面的有關(guān)Html5、css的元素五大居中方式,你們就可以解決自己的小問題了,但是也要養(yǎng)成一個總結(jié)的好習(xí)慣。好記性不如爛筆頭!以前留下來的話語總是有他的道理。Come on!