html - 我怎样才能让某些字母在彼此上方直接对齐?

标签 html css

所以对于一个学校元素,我想要这个 Word clock在网站上数字化。但是,我无法让每行上的字母以恰好彼此重叠的方式间隔开。像“i”和“l”这样的细字母会导致每条线的宽度不同。

我目前已将所有单词放在 span 标签中,因此我可以独立地为它们提供 js 和 CSS 属性。

有更好的方法吗?

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


body{
	font-family: Open Sans;
	color: #FFFFFF;
	background-color: #444444;
}

.main {
  background: #ccc;
  width: 470px;
  position: relative;
  margin: 75px auto;
  text-transform: uppercase;
  font-size: 30px;
  padding: 50px;
  letter-spacing: 3px;
}
<div class="main">

      <div class="row1">
        <span>i t</span>
        <span>l</span>
        <span>i s</span>
        <span>a s t i m e</span>
      </div>

      <div class="row2">
        <span>a </span>
        <span>c</span>
        <span>q u a r t e r</span>
        <span>d c</span>
      </div>

      <div class="row3">
        <span>t w e n t y</span>
        <span>f i v e</span>
        <span>x</span>
      </div>

      <div class="row4">
        <span>h a l f</span>
        <span>s</span>
        <span>t e n</span>
        <span>f</span>
        <span>t o</span>
      </div>

      <div class="row5">
        <span>p a s t</span>
        <span>e r u</span>
        <span>n i n e</span>
      </div>

      <div class="row6">
        <span>o n e </span>
        <span>s i x</span>
        <span>t h r e e</span>
      </div>

      <div class="row7">
        <span>f o u r</span>
        <span>f i v e</span>
        <span>t w o</span>
      </div>

      <div class="row8">
        <span>e i g h t</span>
        <span>e l e v e n</span>
      </div>

      <div class="row9">
        <span>s e v e n</span>
        <span>t w e l v e</span>
      </div>

      <div class="row10">
        <span>t e n</span>
        <span>s e</span>
        <span>o' c l o c k</span>
      </div>

    </div>

最佳答案

您可以使用等宽字体。等宽字体的所有字母都具有固定宽度。

Google 字体上可用的一些等宽字体(https://fonts.google.com/):

  1. IBM Plex 单声道

  2. 单声道机器人

  3. 源代码专家

  4. Ubuntu 单声道

    我在下面的例子中使用了 monospace font-family

    font-family:monospace
    

这是 JS fiddle 示例:https://jsfiddle.net/srijan1709/xfLuw3pv/2/

关于html - 我怎样才能让某些字母在彼此上方直接对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54960370/

相关文章:

html - 文本垂直居中对齐 CSS

c# - 在 visual studio c# 上启用 tls

javascript - jQuery 多面板切换

css - 根据容器调整“"div' s”的高度

html - 对齐 css 菜单文本左 besie 菜单图像

jQuery .css() 没有获得背景位置 w/o!在 css 中很重要

html - 在全屏背景图片后显示内容,使用CSS

html - 调整表格大小时,Chrome 渲染错误,标题背景粘在另一个 div 之上

javascript - 将 Grails Web 应用程序转换为离线 Web 应用程序

html - 如何将这两个放在同一条线上? (一个居中,一个右对齐)