总结一下web六大居中方式

第一种

利用伪类元素居中

<!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>

这种居中方式适合两个元素套在一起,然后居中子元素的方式

第二种

定位居中

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中2</title>
<style>
*{margin:0;}
div{width:200px;height:300px;border:2px solid #000;position:absolute;
left:0;right:0;top:0;bottom:0;margin:auto;
}


</style>
</head>
<body>

<div>
	<p></p>
</div>

</body>
</html>

个人比较喜欢这种居中方式,配合margin使用,简单粗暴。

第三种

定位居中2

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中3</title>
<style>
*{margin:0;}
div{width:200px;height:300px;border:2px solid #000;position:absolute;
left:50%;top:50%;margin:-150px 0 0 -100px;
}


</style>
</head>
<body>

<div>
	<p></p>
</div>

</body>
</html>

这种居中方式也还挺好用,但是前提是要知道元素的属性,个人不太喜欢这个。

第四种

定位居中3

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中4</title>
<style>
*{margin:0;}
div{width:200px;height:300px;border:2px solid #000;position:absolute;
left:50%;top:50%;transform:translate(-50%,-50%);
}


</style>
</head>
<body>

<div>
	<p></p>
</div>

</body>
</html>

这个居中方式的话是有一定的兼容性的,因为要用到transform 这个属性,但是同样很简单。

第五种

弹性盒居中1

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中5</title>
<style>
*{margin:0;}
html,body{height:100%;}
body{display:flex;justify-content:center;align-items:center;}
div{width:200px;height:300px;border:2px solid #000;}


</style>
</head>
<body>

<div>

</div>

</body>
</html>

弹性盒居中方式,给父元素设置弹性盒模型,配合justify-content:center;align-items:center。

第六种

弹性盒居中2

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>五大居中5</title>
<style>
*{margin:0;}
html,body{height:100%;}
body{display:flex;}
div{width:200px;height:300px;border:2px solid #000;margin:auto;}


</style>
</head>
<body>

<div>

</div>

</body>
</html>

这也是我最喜欢的居中方式,直接给父元素设置弹性盒,子元素margin:auto。

你可能感兴趣的:(总结一下web六大居中方式)