able + margin 实现水平方向居中, table-cell + vertical-algin 实现垂直居中
者:蔷薇Nina
原文:https://www.cnblogs.com/wcwnina/p/11297630.html
在CSS里,标签位置居中一直是困扰Web前端的难题。在本文中,我对这类问题进行了探究和给出了几点建议,供读者参考。
在父级标签中使用 text-align: center。
效果:
如果是单行,则为该标签设置行高(line-height)且与其父级标签 height 相等即可。
效果:
如果是多行,稍微有点麻烦,需要在该标签设置 display: table-cell 和 vertical-align: middle,在其父级标签设置 display: table。
效果:
方法一:在父级标签中使用 flex 弹性盒子。
效果:
方法二:在该标签中使用 margin 属性。
效果:
在父级标签中使用 flex 弹性盒子。
效果:
总结:对于行内标签居中,优先考虑文本对齐(text-align)和显示单元格(table-cell);对于块标签居中,优先考虑显示弹性盒子(flex)。
、对于行内元素:
text-align:center;
二、对于确定宽度的块级元素:
(1)margin和width实现水平居中
常用(前提:已设置width值):margin-left:auto; margin-right:auto;
(2)绝对定位和margin-left: -(宽度值/2)实现水平居中
固定宽度块级元素水平居中,通过使用绝对定位,以及设置元素margin-left为其宽度的一半
.content{
width: 200px;
position: absolute;
left: 50%;
margin-left: -100px; // 该元素宽度的一半,即100px
background-color: aqua;
}
*请认真填写需求信息,我们会在24小时内与您取得联系。