【问题标题】:how to change glyph height without changing the font-size?如何在不更改字体大小的情况下更改字形高度?
【发布时间】:2012-06-16 03:35:39
【问题描述】:

问题

对于与图标元素相邻的文本元素,字形高度与图标高度不对齐。文本元素由 CSS 设置样式,使用 font-size: 20px;,并且所有实例的宽度一致。

这是一个插图:

对于上述情况,文本应与图标具有相同的高度。

动机

想办法让字母更高一点以占用可用的垂直空间,同时保持font-size 不变。该怎么做?

我尝试了什么?

稍微增加font-size,但得出的结论是,如果我不能增加字母高度,我将不得不为一个更小的图标妥协,这就是问题所在。

【问题讨论】:

    标签: html css fonts glyph


    【解决方案1】:

    尝试添加line-height: 20px; 它只会增加行间距。它应该可以帮助您匹配元素高度。

    考虑到您的日历图标和文本,将vertical-align: middle; 添加到图像中。

    演示:http://jsfiddle.net/rBpKL/3/

    【讨论】:

    • 不,这并不能解决问题,至少在我的情况下。也许毕竟我会增加font-size,但会再等一会儿,看看是否有人知道解决方案。
    • 是的,这几乎是应该的。使用vertical-align,图像定位正确,但顶部和底部图像没有空间,并且为所有数据所在的单元格添加line-height 并不能解决此问题。有什么想法吗?
    • 谢谢,到目前为止,这是我拥有的最好看的变体。
    【解决方案2】:

    您可以使用 css3 属性 Scale:(demo on dabblet.com)

    HTML 标记:

    <span class="lower">lower size</span>
    <span>normal size</span>
    <span class="taller">taller size</span>
    

    CSS:

    span {
        font-size: 20px;
        display: inline-block;
    }
    
    span.lower{ transform: scaleY(0.9); }
    span.taller { transform: scaleY(1.1); }
    

    另外,您可以尝试为您的情况下的图像设置vertical-align 的各种值: subsuperbottomtopmiddle。这可能有助于从另一个角度解决您的问题。

    【讨论】:

    • 在我的情况下不起作用,但会接受这个答案,因为 obv。它解决了这个问题。问题很可能在我的代码中。
    • 我添加了关于使用vertical-align 处理图像的注释,可能对你有帮助
    • 谢谢,和vertical-align 一起玩。感谢您提供的信息,我知道增加字母高度是可能的:)
    【解决方案3】:

    不,如果不增加字体大小或更改字体,您无法使字母更高。原则上,您可以减小字母间距,这样就可以在不增加文本宽度的情况下增加字体大小。这通常是个坏主意,因为它会使字体看起来更糟,而且通常不太清晰。

    在上下文(代码或 URL)中显示真正的问题可能有助于找到解决方案。

    【讨论】:

    • 查看主题以获得图像和解释我想要做什么。
    • @Leron 你想让你的标签相对于图标垂直居中还是真正让文本更高?
    • 两者都可以,但问题是该列是由一个包含所有文本的字符串填充的,如&lt;img/&gt; 标签、文本等。所以我决定改变字母大小是最简单的方法
    猜你喜欢
    • 2016-11-22
    • 2013-05-14
    • 2015-09-14
    • 2021-07-18
    • 2011-02-24
    • 2014-08-09
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    相关资源
    最近更新 更多