30

你好 CSS 大师,

我喜欢 twitter 引导程序,并且我正在基于它设计很多项目的原型,我遇到了这个问题,如果 dd 标签里面没有 HTML,另一个 dd 会代替它,我理解为什么会这样,因为dl 的样式方式它允许 dd 如果内容需要扩展到多行,我不想破坏这个可爱的样式,我只想修改它,所以如果 dd 值为空,它会'不会崩溃,所以在我在这里做任何疯狂的事情之前,比如服务器端隐藏空值,或者修改原始行为甚至添加 jQuery,我想知道是否有人可以提供帮助,这是一张图片来进一步说明我在说什么,它是 RTL,所以 dt 在右边。

4

5 回答 5

55

我使用了这种样式覆盖。

.dl-horizontal > dd:after {
  display: table;
  content: "";
  clear: both;
}
于 2012-07-10T14:38:00.737 回答
19

根据开发人员的说法,<dd>永远不应该为空(我不同意)。

而且我认为他更喜欢用户将clearfix类添加到<dd>可能为空的 s 中。

<dd class="clearfix"></dd>

更新

此修复程序包含在 3.2 之后,请参阅发行说明

于 2012-11-29T04:43:58.227 回答
2

例子:

<dd><%= @route.id %>&nbsp;</dd>

http://www.sitepoint.com/forums/showthread.php?442551-When-dd-%28in-a-definition-list%29-is-empty-below-content-is-pulled-upwards

于 2014-03-20T10:48:30.880 回答
1

如果我正确解释了这个提交,这将是 3.0.0 中的默认行为。在此之前,您还可以尝试添加dl-horizontal以替代 simple clearfix

<dd class="dl-horizontal"></dd>
于 2013-06-29T07:21:41.913 回答
0

也许你可以试试:

dd {
    display: inline-block;
}
于 2014-08-08T05:11:26.667 回答