此方法不再适合纯文本,毕竟居中属性是要盖在子元素上的,而文本没办法当做子元素设置布局样式!
position 居中需给父元素设置相对定位(relative),子元素使用绝对定位(absolute),然后通过 left 和 top 属性实现居中。 1、子元素大小固定
这种情况可直接使用 left 和 top 属性计算坐标实现居中:
left: (父元素宽度 - 子元素宽度) / 2;
top: (父元素高度 - 子元素高度) / 2;
复制代码
示例:
子元素文本内容
复制代码
效果:
还可以使用 position + margin 属性实现居中,具体算法:
margin-left: -(子元素宽度 / 2);
margin-top: -(子元素高度 / 2);
复制代码
示例:
子元素文本内容 margin
复制代码
效果
大小固定的子元素,还可以使用神奇的 margin: auto 实现居中,居中时需要给元素四个方向同时设置为 0,实现方式:
子元素文本内容 margin: auto
复制代码
效果
2、子元素大小不固定
子元素大小固定应用场景有限,毕竟不是每种布局都能确定元素大小,子元素的大小会受到子元素内容多少影响!
在使用 position 居中时,子元素大小不固定,则需要使用 transform 属性实现居中,具体用法: