三种方式实现div垂直水平居中

起因是因为一个人问我怎么实现水平垂直居中,我回答说margin:0 auto然后再align-item:center,额结局就是他说我说错了,还说我是不是没做过,啊啊啊啊啊啊很不开心,很羞耻,所以马上就百度了一下。后来总结了一下三种。
1.用display中的table-cell

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>div居中</title>
		<link rel="stylesheet" type="text/css" href="test.css">
    </head>
    <style>
        .father{
            width: 800px;
            height: 300px;
            border: 1px solid red;
            display: table-cell;
            vertical-align: middle;      
        }
        .div_con{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            background-color: yellow;
            margin: 0 auto;
        }
    </style>
	<body>
		<div class="father">
            <div class="div_con">
            
            </div>
        </div>
	</body>
</html>

2.用定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>div居中</title>
		<link rel="stylesheet" type="text/css" href="test.css">
    </head>
    <style>
        .father{
            width: 800px;
            height: 300px;
            border: 1px solid red;
            position: relative;
        }
        .div_con{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            position: absolute;
            left: 50%;
            top:50%;
            background-color: yellow;
            margin-left: -50px;/*子div宽度的一半*/
            margin-top: -50px; /*子div高度的一半*/
            
        }
    </style>
	<body>
		<div class="father">
            <div class="div_con">

            </div>
        </div>
	</body>
</html>

3.另外一种定位(最常用)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>div居中</title>
		<link rel="stylesheet" type="text/css" href="test.css">
    </head>
    <style>
        .father{
            width: 800px;
            height: 300px;
            border: 1px solid red;
            position: relative;

           
        }
        .div_con{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            position: absolute;
            margin: auto;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            background-color: yellow;
        }
    </style>
	<body>
		<div class="father">
            <div class="div_con">

            </div>
        </div>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_43719616/article/details/109622173