html - 如何在不限制术语或定义高度的情况下水平对齐 HTML 定义列表 (<dl>)?

标签 html css css-float

我正在尝试水平对齐 HTML 定义列表,因此术语在左侧,定义在右侧。

term 和 definition 都可以很长,所以它们可以比可用宽度更宽并且会换行。

在我的 CSS 中,我对 wrap 的定义没有问题,因此高于相应的术语。但在极少数情况下,当术语换行并高于相应的定义时,我无法正确清除以下定义。

您可以在我的 jsFiddle 中看到这一点,其中定义“555”与术语“555”没有正确对齐。

http://jsfiddle.net/jmuheim/kjf8f/

非常感谢任何有关如何解决此问题的帮助。要求:

  • 我希望定义使用右侧所有可用的水平空间,所以我不想为 <dd> 使用固定宽度标签。
  • 我不希望定义在任何情况下都位于相应的术语之下。

最佳答案

这可能会成功。添加以下 CSS 规则:

dd:after {
    content: '';
    display: block;
    clear: both;
}

伪元素会清除 float 的<dd>元素,这将确保下一个 <dt>另起一行。

查看演示:http://jsfiddle.net/audetwebdesign/TXYGk/

关于html - 如何在不限制术语或定义高度的情况下水平对齐 HTML 定义列表 (<dl>)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19138433/

相关文章:

用于视频播放的 WCF REST Streaming

html - 带有图像的 flexbox,固定大小

java - 找不到类 'com.badlogic.gdx.maps.objects.RectangleMapObject' 的类型

html - 带有表格的 Flex div 不遵循 flex 宽度

css - 使我的内容 div 类的宽度更大,同时保持响应

javascript - Bootstrap 菜单 - 下拉点击而不是悬停

html - IE8 和 IE9 中 <p> 和 <h2> 的文本呈现问题

html - 向右浮动将 div 推到页面末尾

css - 真正的 CSS 定位 float

css - 对齐框内的元素