【问题标题】:How can I force fixed character width with CSS for ANY glyph, including arcane Unicode?如何使用 CSS 为任何字形强制固定字符宽度,包括神秘的 Unicode?
【发布时间】:2011-03-10 14:52:23
【问题描述】:

我怀疑这无法完成,但我只是想确定一下。

我想强制<span> 中的单个字符具有特定的widthheight1em

如果字符不是固定宽度,理想情况下会被拉伸到 1em。

这必须支持任何字符,包括罕见的 Unicode 字形,所以我不能只将字体设置为 Courier。

最后,这应该只用 CSS 来完成,而且要简单轻量。例如。一个复杂的解决方案,在一个包含一个像素图像的table 中包含一个div(只是为了显示这个单个字符)是好的。

我不记得有什么属性可以做到这一点,谷歌的尝试只是返回了很多“固定宽度布局”,而没有关于单个字符。

如果没有简单的解决方案,而一个复杂的解决方案,我不会使用它,但无论如何我都会很好奇。

【问题讨论】:

  • 这个问题类似于另一个堆栈溢出问题:stackoverflow.com/questions/4258872/…
  • @Brian,这个问题没有指定格式化策略——尽管它被标记为 [php]——而这个问题明确要求 CSS。
  • 这就是为什么我没有投票结束这个问题作为重复。这是一个相关的问题,但并不完全相同。
  • @Brian,好吧,很公平。我什至不会称它们为评论足够相似,但这变得非常主观和非生产性。

标签: css character fixed-width


【解决方案1】:

您可以使用@font-face 来包含具有良好Unicode 支持的固定宽度字体。 DejaVu family 具有出色的 unicode 支持和单声道变体,应该可以很好地做到这一点。您可以使用FontSquirrel's @font-face generator 创建您需要的文件。

【讨论】:

    【解决方案2】:

    虽然我喜欢 Yijiang 的回答,但基于 this page 的简短讨论和维基百科的 typefaces with good Unicode support 列表,我认为 GNU Unifont 可能会更好地为您服务。值得注意的是,第一页指出 DejaVu Sans Mono 遗漏了一些字形,根据您的应用程序,这些字形可能相当常见。

    【讨论】:

    • DejaVu Sans Mono 目前提供您链接到的文章中提到的大部分(可能是全部)字符。
    • 嗯,现在在工作中被屏蔽了,但我稍后会尝试检查一下,谢谢你的提示。
    猜你喜欢
    • 2022-07-16
    • 1970-01-01
    • 2014-08-19
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2013-06-15
    • 2016-09-12
    相关资源
    最近更新 更多