CSS元素在父元素居中显示总结
程序员文章站
2022-05-31 20:57:17
...
一.水平居中(margin:0 auto;)
注意:被包裹的元素不能有浮动属性,否则会失效。
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
}
.item{
margin:0 auto;
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
效果图:
二.水平居中(text-align:center;)
注意:没有浮动的情况下,设置display:inline-block
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
text-align:center;
}
.item{
display:inline-block;
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
三.水平垂直居中(方式1)
注意:子元素相对于父元素绝对定位,并且margin值减去自己宽高的一半(必须要知道子元素本身的宽高)
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
position: relative;
}
.item{
position: absolute;
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -50px;
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
效果图:
四.水平垂直居中(方式2)
注意:子元素相对于父元素绝对定位,并且margin值位auto(不受元素宽高所限制,比较好用)
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
position: relative;
}
.item{
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
top:0;
margin: auto;
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
五.水平垂直居中(方式3)
注意:将元素转换成表格样式,再利用表格的样式来进行居中,设置diplay:table-cell(推荐使用)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
display: table-cell;
vertical-align: middle;
}
.item{
margin:0 auto;
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
六.水平垂直居中(方式4)
注意: 用绝对定位和transfrom,css3变形,有兼容性问题
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
position:relative;
}
.item{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
七.水平垂直居中(方式5)
注意:css3中的flex属性,有兼容性问题
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
body{margin: 0;}
.box{
width: 400px;
height: 400px;
border:1px solid red;
display: flex;
justify-content: center;
align-items: center;
}
.item{
width: 100px;
height: 100px;
background: green;
}
</style>
</head>
<body>
<div class="box">
<div class="item"></div>
</div>
</body>
</html>
推荐阅读
-
子盒子在父盒子内保持垂直水平居中的多种方案--已知子元素高度、未知子元素高度
-
CSS - li 元素显示在一行____ a 元素没有下横线
-
css实现元素垂直居中显示的7种方式
-
css如何实现li元素在父元素中平均分布效果_html/css_WEB-ITnose
-
css如何实现li元素在父元素中平均分布效果_html/css_WEB-ITnose
-
子盒子在父盒子内保持垂直水平居中的多种方案--已知子元素高度、未知子元素高度
-
CSS元素在父元素居中显示总结
-
css中元素居中总结
-
垂直居中--父元素高度确定的单行文本、父元素高度确定的多行文本_html/css_WEB-ITnose
-
父元素相对定位后,子元素在ie下被覆盖的问题!_html/css_WEB-ITnose