Open JackWong992 opened 6 years ago
垂直居中在我们网页开发中见到的很多,今天我们就来简单的介绍几种垂直居中的方式: 我们都知道居中其实很好控制,例如:text-align: center可以实现居中。但是对于垂直来说,所以需要分别来针对不同模型进行做出改变。
margin-top: -1/2 hegiht; margin-left: -1/2 widht;
.middle{ text-align: center; } .middle::before{ content: ' '; display: inline-block; height: 100%; vertical-middle: middle; }
这里我们可以看到: 第一,使用text-align: center;实现水平居中。 第二,加入伪元素,设置元素的高度为100%。 第三,我们都知道vertical-align都是针对于行内元素或者表格元素,这里需要改变display的实现。 第四:vertical-middle:middle 实现水平居中。
.box { width: 300px; height: 200px; border: 1px solid #ccc; display: table-cell; vertical-align: center; text-align: center; }
但是这里需要注意的是使用了display: table-cell;就改变了box的展现方式,对于以后的重构可能会埋下bug。 关于更多的垂直居中的方式,未完待续...
垂直居中在我们网页开发中见到的很多,今天我们就来简单的介绍几种垂直居中的方式: 我们都知道居中其实很好控制,例如:text-align: center可以实现居中。但是对于垂直来说,所以需要分别来针对不同模型进行做出改变。
margin-top: -1/2 hegiht; margin-left: -1/2 widht;
当然也可以通过transform: translate(-50%,-50%);代替margin-top,margin-left但是使用之前要考虑好兼容性的问题。 好处: 适合实现复杂的内容弹窗。这里我们可以看到: 第一,使用text-align: center;实现水平居中。 第二,加入伪元素,设置元素的高度为100%。 第三,我们都知道vertical-align都是针对于行内元素或者表格元素,这里需要改变display的实现。 第四:vertical-middle:middle 实现水平居中。
但是这里需要注意的是使用了display: table-cell;就改变了box的展现方式,对于以后的重构可能会埋下bug。 关于更多的垂直居中的方式,未完待续...