从Internet Explorer中,我深情地记得可以使用以下代码创建紧凑的定义列表,
<dl compact>
<dt>f</dt>
<dd>Firefox</dd>
<dt>i</dt>
<dd>Internet Explorer</dd>
</dl>
字符串
结果是这样的:
x1c 0d1x的数据
但遗憾的是,目前似乎没有浏览器支持此功能; MDN甚至没有将该元素列为已弃用。
Firefox在术语下面显示了定义细节:
的
我试着这样使用CSS:
dl>dd {
margin-top: -1em;
}
型
它几乎可以工作,但术语和细节并没有很好地对齐:
的
有没有一种CSS(或其他)解决方案可以更接近Internet Explorer <dl compact>
,而不依赖于摆弄有趣的margin-top
值?
4条答案
按热度按时间klsxnrf11#
另一种样式化紧凑描述列表的方法是使用CSS Grid,将术语和描述放置在各自的列中。它甚至适用于包含多个描述的术语的列表。
个字符
kyks70gy2#
我想你会想把它们从
block
改为inline。个字符
yizd12fk3#
另一种方法是使用网格。
个字符
tcomlyy64#
这是一个基于浮动的答案。
它甚至支持多个
<dt>
元素后跟一个<dd>
,支持一个<dt>
后跟多个<dt>
元素。如果同一行上的
<dt>
和<dd>
之间的空间小于1 em,它将进行换行符。我不能保证它在任何情况下都能正常工作,但它们至少嵌套了一层,我还在默认的box-sizing和
box-sizing: border-box
中测试了这一点。个字符