我看到描述列表<dl>
标签出现意外行为。
我正在使用 twitter bootstrap 2 并使用此示例代码:
<!DOCTYPE html>
<dl class="dl-horizontal">
<dt>Item1</strong></dt><dd>This is a description of Item1</dd>
<dt>Item2</strong></dt><dd>This is a description of Item2</dd>
<dt>Item3</strong></dt><dd>This is a description of Item3</dd>
<dt>Item4</strong></dt><dd>This is a description of Item4</dd>
<dt>Item5</strong></dt><dd>This is a description of Item5</dd>
</dl>
...一切都按预期工作,我看到了:
Item1 This is a description of Item1
Item2 This is a description of Item2
Item3 This is a description of Item3
Item4 This is a description of Item4
Item5 This is a description of Item5
使用此代码:
<!DOCTYPE html>
<dl class="dl-horizontal">
<dt>Item1</strong></dt><dd>This is a description of Item1</dd>
<dt>Item2</strong></dt><dd></dd>
<dt>Item3</strong></dt><dd>This is a description of Item3</dd>
<dt>Item4</strong></dt><dd>This is a description of Item4</dd>
<dt>Item5</strong></dt><dd>This is a description of Item5</dd>
</dl>
我看到这个有问题的显示:
Item1 This is a description of Item1
Item2 This is a description of Item3
Item3 This is a description of Item4
Item4 This is a description of Item5
Item5
并且<dt>
and<dd>
标记没有按预期匹配。
在此处阅读 w3.org 工作草案http://www.w3.org/TR/html-markup/dl.html#dl
...当内容为空白时,我不清楚浏览器或程序员是否负责匹配<dt>
and<dd>
元素。<dd>
我在 Firefox 和 Safari 中测试了上面的代码,并看到了相同的输出。
这是一个意见问题,twitter bootstrap 2 中的一个错误,还是我误解了 HTML5 描述列表的使用?这种用法<dl>
出现在 show.html.erb 自动生成的代码中
rake g bootstrap:themed model
如果数据元素为空白,则显示的输出与标签不匹配。不幸的是,否则主题选项非常有用。
我可以通过将主题输出修改为如下所示来部分“解决问题”:
<dt><strong><%= model_class.human_attribute_name(:name) %>:</strong></dt>
<dd><%= @server.name %> <%= "-blank-" if @server.name.blank? %> </dd>
...但我看到“-blank-”来显示空白元素。如果我使用包含空格的字符串,例如“”,我仍然会看到相同的标签描述错位问题。
请尝试将您的答案集中在描述哪个实体、HTML5<dl>
标记、引导程序或我的理解在此处偏离目标以及原因。
非常感谢!
-EDIT- 对于那些使用引导程序的人,使用这样的 css 可以正常工作:
dt, dd {
line-height: 20px;
/* Keep this the same as line-height */
min-height: 20px;
}