我有一个响应式元素,它的宽度和高度都会缩放。在这里面我有一些我想要垂直居中的文本。
如果我不知道父文本的高度,如何将文本的line-height设置为与其父文本相同?
line-height: 100%是相对于字体的常规高度的,所以这没有帮助...
发布于 2012-10-02 16:00:42
这是另一种垂直居中元素的方法。我在一段时间前遇到了this technique。基本上,它使用了一个伪元素和vertical-align: Mid.
.block::before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em; /* Adjusts for spacing */
}
/* The element to be centered, can
also be of any width and height */
.centered {
display: inline-block;
vertical-align: middle;
width: 300px;
}发布于 2019-03-06 20:04:21
既然已经是2019年了,你也可以使用flexbox来实现这一点:)
为此,请将以下类添加到父元素:
display: flex;
flex-direction: column;
justify-content: center;查看此Fiddle
发布于 2012-10-02 15:37:09
我会尝试将文本放入另一个元素中,您知道(或设置)该元素的大小。然后设置它的相对位置,顶部,左侧50%和负的左右边距。
See this Fiddle
唯一的问题是,这依赖于一个已知/固定的文本块。如果文本是可变的,恐怕您将不得不求助于Javascript。
https://stackoverflow.com/questions/12686065
复制相似问题