HTML中的Ruby标签之间的间隔问题?

2个使用下划线标签包裹的HTML的ruby标签,为什么中间会有间隔?

<html>

<body>
  <div>
    <u>
      <ruby>
        <rb>源</rb>
        <rp>(</rp>
        <rt>みなもの</rt>
        <rp>)</rp>
      </ruby><ruby>
        <rb>義経</rb>
        <rp>(</rp>
        <rt>よしつね</rt>
        <rp>)</rp>
      </ruby>
    </u>
  </div>
</body>

</html>

如题:
image.png
我想让「源義経」这三个字的下划线能连续起来,现在不知道什么原因,中间断开了

阅读 2k
avatarAI BotBETA

要消除HTML中Ruby标签之间的间隔,您可以使用CSS来调整元素的样式。具体来说,您可以通过设置rubyu标签的display属性为inlineinline-block,并设置适当的marginpadding值来消除间隔。

以下是一个示例的CSS样式,您可以将其添加到您的HTML文件中或使用外部样式表:

ruby, u {
  display: inline-block;
  margin: 0;
  padding: 0;
}

将以上CSS样式添加到您的HTML文件中,它将应用于所有rubyu标签,消除它们之间的间隔。

另外,请注意,根据您的示例代码,您使用了下划线标签(<u>)来包裹Ruby标签。虽然这种方法可以在一些浏览器中工作,但它并不是标准的HTML标记,因此可能在不同浏览器中呈现不同的效果。如果您想要更加标准化的方法来呈现类似的效果,可以考虑使用其他HTML元素(如<span>)并使用CSS来定义样式。

1 个回答

图片.png
左侧是 Chrome,右侧是 Firefox

和浏览器实现有关系。考虑直接用 border-bottom 替代吧


图片.png
标签间换行导致的空白占位符,这样修改就好了

<div>
  <u>
    <ruby>
      <rb>源</rb>
      <rp>(</rp>
      <rt>みなもの</rt>
      <rp>)</rp>
    </ruby><ruby>
      <rb>義経</rb>
      <rp>(</rp>
      <rt>よしつね</rt>
      <rp>)</rp>
    </ruby>
  </u>
</div>

要不然就是在父级设置 font-size:0 这样的CSS样式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题