将行高设置为相对于父元素的百分比

我有一个响应元素,它的宽度和高度都将缩放。 在里面,我有一些文字,我想垂直居中。

如果我不知道父母的身高,那么如何将文字的line-height设置为与父母相同呢?

line-height: 100%是相对于字体的常规高度,所以这没有帮助…

这是另一种垂直居中元素的方法。 我前段时间碰到过这种技术 。 基本上它使用一个伪元素和vertical-align:middle。

 .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; } 

我会尝试把文本放在另一个元素中,其中你知道(或设置)的大小。 然后设置相对位置,顶部,左侧50%,左侧和右侧边距。

看这个小提琴

唯一的问题是这依赖于已知/固定的文本块。 如果文本是可变的,恐怕你将不得不诉诸使用JavaScript ..