我有一个定义列表。我的<dt>
和<dd>
在CSS中设置为display: inline-block;
。我想避免在<dd>
元素之前和<dt>
元素之后的换行符。我该怎么办?
我的列表看起来像这样,在term3之后有一个换行符:
term1:def1; term2:def2; term3:
DEF3;
我希望它看起来像这样(换行符应该出现在term3之前:
term1:def1; term2:def2;
term3:def3;
答案 0 :(得分:3)
单列(有效HTML):
<style type="text/css">
dt, dd { display: inline-block; float: left; }
dt { clear: left; }
</style>
<dl>
<dt>term1</dt><dd>def1</dd>
<dt>term2</dt><dd>def2</dd>
<dt>term3</dt><dd>def3</dd>
</dl>
No-Wrap <span>
(无效的HTML):
<style type="text/css">
dt, dd { display: inline-block; }
span { white-space: nowrap; }
</style>
<dl>
<span><dt>term1</dt><dd>def1</dd></span>
<span><dt>term2</dt><dd>def2</dd></span>
<span><dt>term3</dt><dd>def3</dd></span>
</dl>
答案 1 :(得分:1)
对我来说,只需在同一行上指定dt
和dd
以及inline
显示样式,就像这样:
<style type="text/css">
dt, dd { display: inline; }
</style>
<dl>
<dt>term1</dt><dd>def1</dd>
<dt>term2</dt><dd>def2</dd>
<dt>term3</dt><dd>def3</dd>
</dl>
而不是我之前的情况:
<style type="text/css">
dt, dd { display: inline; }
</style>
<dl>
<dt>term1
<dd>def1
<dt>term2
<dd>def2
<dt>term3
<dd>def3
</dl>
在动态调整浏览器窗口大小时,似乎工作正常 - 我从未在dt
和dd
dd
和dt
之间看到它断开。
答案 2 :(得分:0)
我能想到的唯一方法是设置每个元素的宽度,以便每行都有一个可预测的断点。