借助display布局
- 父元素开启
display:flex
布局,并设置justify-content:center
主轴的空隙分布- 因为是单行,所以使用
align-items:center
设置侧轴上的对其方式
- 因为是单行,所以使用
<body>
<style>
.a{
width: 200px;
height: 200px;
background-color: red;
display: flex;
justify-content: center;
align-items: center;
}
.a .a1{
width: 50px;
height: 50px;
background-color: green;
}
</style>
<div class="a">
<div class="a1"></div>
</div>
</body>
借助flex布局
- 啊啊啊
<body>
<style>
.a{
width: 200px;
height: 200px;
background-color: red;
display: grid;
}
.a .a1{
width: 50px;
height: 50px;
background-color: green;
justify-self: center;
align-self: center;
}
</style>
<div class="a">
<div class="a1"></div>
</div>
</body>
借助绝对定位和盒子模型计算规则
- 借助这一条规则
margin-left + border-left + padding-lef + width + padding-right + border-right + margin-right = 父元素内容区的宽度
高度和是一样的
- 文章:
- https://www.zhihu.com/question/21644198/answer/42702524
- https://www.w3.org/TR/CSS2/visudet.html#blockwidth
<body>
<style>
.a{
width: 200px;
height: 200px;
background-color: red;
position: relative;
}
.a .a1{
width: 50px;
height: 50px;
background-color: green;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto ;
}
</style>
<div class="a">
<div class="a1"></div>
</div>
</body>
文章来源:https://www.toymoban.com/news/detail-471809.html
借助绝对定位和transform
-
top、left、right、bottom
设置百分比基于父元素 -
translate
的百分比参照自身
<body>
<style>
.a{
width: 200px;
height: 200px;
background-color: red;
position: relative;
}
.a .a1{
width: 50px;
height: 50px;
background-color: green;
position: absolute;
top: 50%;
right: 50%;
left: 50%;
bottom: 50%;
transform: translate(-50%,-50%);
}
</style>
<div class="a">
<div class="a1"></div>
</div>
</body>
文章来源地址https://www.toymoban.com/news/detail-471809.html
到了这里,关于前端div水平居中的几种实现方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!