【问题标题】:How to offset line-height base line?如何偏移线高基线?
【发布时间】:2012-02-12 17:43:57
【问题描述】:

font-face 是很常见的问题,例如

font: 20px/20px 'ITC Avant Garde Gothic Std'; font-style: 'book'; letter-spacing: 1px; text-transform: uppercase;

问题是我希望文本垂直居中。然而,事实并非如此。有没有办法抵消行高基线?无需实际更改line-height

【问题讨论】:

    标签: css font-face


    【解决方案1】:

    这种现象取决于字体。由字体设计师决定字体如何使用其高度。例如,在 Arial 中,当设置为纯色时,大写基本拉丁字母垂直居中,而在 Verdana 中,它们显得稍低一些(即,上方比下方多一点空间)。

    你可以通过使用相对定位来微调它,但是你需要额外的标记,例如

    <div><span>text</span></div>
    

    使用 CSS 设置 span 设置,例如,

    position: relative;
    top: 2px;
    

    如果用户浏览器中使用的字体与您的预期不同,这可能会导致不良影响。

    我没有考虑font-style: 'book' 的可能影响,因为我不知道它可能意味着什么。我知道没有任何 CSS 资源提到过类似的东西(font-style 值是不带引号的关键字,不包括 book)。

    【讨论】:

    • 只是为了让您知道,font-style: 'book' 引用了样式为book 的字体家族成员。感谢您提供有关相对定位的提示。问题是,例如,在 Opera 上,字体按预期显示,即。垂直居中。因此,应用像您这样的修复程序不会使其跨浏览器兼容。这也使它看起来好像不是字体问题?
    猜你喜欢
    • 2015-09-13
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2012-08-31
    • 2021-01-23
    相关资源
    最近更新 更多