Html 垂直居中的文本没有下一个?

Html 垂直居中的文本没有下一个?,html,css,Html,Css,假设我有一行全部大写的文本(例如带有文本转换:大写)。我想将此文本垂直居中于div中。我不需要担心多行文字 在CSS中有几种垂直居中的方法(例如签出)。不幸的是,所有这些方法都考虑到了,而且我的文本没有任何后代,所以它没有完全居中。基本上,我希望将文本部分从基线居中放置到封口高度 有没有办法使一行大写文本垂直居中?现在我正在使用position:relative并手动调整它,直到它居中(例如使用top:2px),但这显然不是一个可靠的解决方案(它非常依赖于浏览器呈现文本的方式、可用的字体等)。谢

假设我有一行全部大写的文本(例如带有
文本转换:大写
)。我想将此文本垂直居中于
div
中。我不需要担心多行文字

在CSS中有几种垂直居中的方法(例如签出)。不幸的是,所有这些方法都考虑到了,而且我的文本没有任何后代,所以它没有完全居中。基本上,我希望将文本部分从基线居中放置到封口高度


有没有办法使一行大写文本垂直居中?现在我正在使用
position:relative
并手动调整它,直到它居中(例如使用
top:2px
),但这显然不是一个可靠的解决方案(它非常依赖于浏览器呈现文本的方式、可用的字体等)。谢谢

当我们想要沿y轴对齐块元素时,实际上给出了线高度

例如,我在W3中有一个单行文本,并且段落高度是20px。段落将以自己的默认方式编写,但是如果我使用行的高度等于段落的高度,那么W3Sube中的文本将沿Y轴的中间对齐。如果要水平对齐(x轴对齐)文本,则使用文本对齐:居中

请记住,线条高度并不完全取决于其自身元素的高度。但它的变化如下

  • 如果有单行文字,高度为20px,则给出 行高:20px垂直对齐文本或垂直居中 文本的格式
  • 如果有两行文字,高度为20px,则给出行高:10px,并使用小填充顶部垂直对齐文字

  • 我希望这能使你振作起来。我想你不需要再浏览谷歌了。如果您需要更多解释,那么我将给您JFIDLE代码。:)

    经过一些测试后,我似乎对文本如何垂直居中的看法是错误的。事实证明,大多数浏览器完全按照我的要求运行,而不考虑下行程序

    对于那些不清楚我在问什么的人:“下降者”是文本中低于基线的部分。例如,小写字符“g”和“y”的部分位于基线之下。我希望垂直居中的文本没有这样的字符(在我的例子中,只有大写字符,如“X”)


    是一个jsfiddle,它演示了我的发现(它将
    行高度设置为
    div的高度)。请注意,“X”正确居中,这使得“g”溢出到div之外。但这对我来说没关系,因为文本都是大写的。

    请发布HTML和CSD如果使用以像素为单位定义的字体大小,会有什么不同吗?然后使用相同的偏移量,但要考虑最大下降高度?这似乎取决于字体。我用不同的字体尝试了你的小提琴解决方案,但是帽子的高度没有垂直居中。你的Oswald字体正好能用。