css – 内联显示定义术语和描述

前端之家收集整理的这篇文章主要介绍了css – 内联显示定义术语和描述前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用页面上某些元素的定义列表,并需要它们以内联方式显示,例如:它们通常如下所示:

< def term>
< def desc>
< def desc>

我需要它们看起来像(注意多个DD):

< def term> < def desc> < def desc>
< def term> < def desc> < def desc>
< def term> < def desc> < def desc>

我可以使用moz中的浮点数让它们正常工作,但无论我尝试什么它们都不会在IE中工作,我通常得到类似的东西:

< def term> < def desc> < def desc> < def desc> < def desc> < def desc> < def desc>
< def term>
< def term>

有没有人找到这个问题的解决方案,我真的想避免在可能的情况下添加额外的标记,但是没有将它们改为无序列表我的想法:(

提前致谢

解决方法

注意:您必须避免DD元素之间的空格才能正常工作.

IE8不需要黑客攻击:

  1. dd,dt{
  2. display: inline;
  3. margin: 0;
  4. }
  5. dd:before {
  6. content: ' '; /* space them */
  7. }
  8. dt:before { /* insert line break before <dt> */
  9. content:"\A";
  10. white-space:pre;
  11. }
  12. dt:first-child:before { /* disable line break before the first <dt> */
  13. content: none;
  14. }

如果您不需要支持IE8,请跳过第4个CSS规则并将此选择器用于第3个:dt:not(:first-child):before

结果应该是这样的:(demo)

  1. DT DD DD
  2. DT DD DD

如果你想要真正酷,你可以用这个替换第二个规则:

  1. dd + dd:before {
  2. content: ','; /* add comma between definitions */
  3. }
  4.  
  5. dt:after {
  6. content: ':';
  7. }

结果应该是这样的:(demo)

  1. DT: DD,DD
  2. DT: DD,DD

猜你在找的CSS相关文章