CSS
关于CSS实现内容居中的方式有很多种,在这里整理了8种实现内容居中的方式,希望这些方法对学习和使用CSS进行开发有帮助。
1、Flex
可能是当今最流行和最简单的居中方式,可以放心地承认,当可以使用 text-align: center 代替时,使用它来对齐段落。
.flexbox-row {display: flex;flex-direction: row; /* default value */justify-content: center; /* x-axis */align-items: center; /* y-axis */}
如果不知道自己在做什么,Flexbox 可能会有些混乱。基本上 justify-content 跨越 x 轴,align-items 跨越 y 轴。如果将 flex-direction 设置为 column,则轴将反转。
.flexbox-col {display: flex;flex-direction: column;justify-content: center; /* y-axis */align-items: center; /* x-axis */}
这不是一个 flexbox 的文章,所以,在这里不详细介绍flexbox。
2、grid
这个也是非常实用的方法。
.grid {display: grid;place-items: center;}
3、Flex/Grid + Margin auto
.margins {display: flex; /* or grid */}.margins p {margin: auto;}
4、Text align
是的,这真的很容易。
p {text-align: center;}
5、Padding
如果没有固定的高度并且想要垂直居中,这可能是最简单的方法。
p {padding: 80px 0;}
6、Text align + Padding
这个方法的前提是,没有设置固定高度,在这种场景下,使用这种方法也是非常实用简单的。
p {text-align: center;padding: 16px 0;}
7、Absolute
这个方法也是非常实用的。
.box {position: relative;}.box p {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
8、table
这个table虽然有点过时了,但是在一些表格实现文字内容居中的时候,还是非常实用的。
.table {display: table;}.table p {display: table-cell;text-align: center; /* x-axis */vertical-align: middle; /* y-axis */}
