【发布时间】:2017-04-07 08:36:03
【问题描述】:
我正在尝试创建一个由键值对组成的列表,其中键位于左侧,值位于右侧,一个位于另一个下方。
Authors John Doe
Jane Doe
Max Mustermann
Publishers Johne Doe
Jane Doe
Max Mustermann
我的问题是如何在每个 dd 元素之间强制换行?我知道使用浮动元素会很容易,但我想知道是否可以仅使用 flexbox 来实现。不幸的是,根据定义,我不能将 dd 元素包装在它们自己的容器中。
dl {
display: flex;
}
dt {
width: 33%;
}
dd {
margin: 0;
}
<dl>
<dt>Authors</dt>
<dd>John Doe</dd>
<dd>Jane Doe</dd>
<dd>Max Mustermann</dd>
</dl>
<dl>
<dt>Publishers</dt>
<dd>John Doe</dd>
<dd>Jane Doe</dd>
<dd>Max Mustermann</dd>
</dl>
【问题讨论】:
-
为了记录,我知道我可以简单地使用一个
dd和多个spans,或者简单地使用<br>。 -
我们必须从良好的 HTML 结构开始(不要让 HTML 适应最简单的 CSS)... 而理想的 HTML 结构也说明了一些语义内容。因此,考虑到这一点,这个 HTML 片段是“错误的”,典型的列表只使用一个
<dl>来表示许多对标题-描述项。见答案stackoverflow.com/a/50177309/287948