html - 如何对齐网页上的 ASCII 图形字符?

标签 html css

我正在尝试用 HTML 绘制一个基于文本的 GUI(只是为了好玩),它看起来像一个旧的终端应用程序,但我遇到了一个问题:

当我有两行 (div) 并在其中放置图形字符时:

░░░
░░░

我无法正确(垂直)对齐线条。如果我只是像这样在我的 div 中放置终端字符:

<div class="line">&blk14;&block;&boxV;&lhblk;&uhblk;</div>
<div class="line">&blk14;&block;&boxV;&lhblk;&uhblk;</div>

它们之间有一点间距。 (可能是高度/行高问题)。

如果我这样设计它们:

.line {
    height: 1em;
    line-height: 1em;
}

它们重叠。我试图手动微调这些值,但似乎 heightline-height 不能很好地协同工作,例如 font-size: 40pxline-height: 40px 我必须使用 45.5px 的高度值。我的方法有什么问题?有没有一种无需微调即可对齐线条的简单方法?

请注意我将所有间距/边距/填充归零,并且还在开发人员工具中检查了计算的 css,因此这两者都不是问题。

我的基础 CSS 是这样的:

* {
    margin: 0;
    padding: 0;
}
body {
    font-family: 'Source Code Pro', monospace;
}

最佳答案

我至少要添加font-family: monospace,参见fiddle .

但老实说,我会使用 pre 标签,如果需要的话 spans - 而不是逐行 div。

关于html - 如何对齐网页上的 ASCII 图形字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41447428/

相关文章:

html - css 在 wamp 服务器中不工作

html - CSS:如何增加两个元素之间的距离?

jquery - 有没有办法转换 transform :matrix3d() return into its rotateX, Y 和 Z 值?

css - Font-Awesome 图标旁边有多个段落且垂直居中

javascript - .addClass 只有在无序列表中被点击的元素符号

css - 将框架集转换为CSS

html - 修复时事通讯代码以在 Outlook 中正常工作

html - 按屏幕宽度创建不同的缩略图尺寸,还是为最大屏幕尺寸使用最大的缩略图尺寸?

javascript - 黑客新闻 API - 获取所有新闻

html - 容器未调整到页面的全宽