代码之家  ›  专栏  ›  技术社区  ›  Gideon

CSS:<DL>具有dt/dd对之间的间距/边距

css
  •  15
  • Gideon  · 技术社区  · 17 年前

    我有以下html:

    <dl>
            <dt>Item 1</dt>
            <dd>
                <ul>
                    <li>Value 1</li>
                </ul>
            </dd>
            <dt>Item 2</dt>
            <dd>
                <!-- this item is missing a value -->
            </dd>
            <dt>Item 3</dt>
            <dd>
                <ul>
                    <li>Value 1</li>
                    <li>Value 2</li>
                    <li>Value 3</li>
                </ul>
            </dd>
        </dl>
    

    我想把它布置成这样(而不是将术语和定义放在一起的普通dl):

    Item 1    Value 1
    Item 2    
    Item 3    Value 1
              Value 2
              Value 3
    

    4 回复  |  直到 17 年前
        1
  •  20
  •   Rytmis    17 年前

    这个怎么样?

    dt, dd { display: block; float: left; margin-top: 20px; }
    dt { clear: both; }
    
        2
  •  4
  •   waxwing    17 年前

    你是说:

    Item 1    Value 1
    
    Item 2    
    
    Item 3    Value 1
              Value 2
              Value 3
    

    ul { 
      margin: -1.2em 0 0 100px; 
      padding: 0; 
    }
    
    dd { 
      margin-bottom: 10px;
    }
    

    这似乎有你需要的效果。

        3
  •  1
  •   Emily    17 年前

    您的'Item 2'dd是真的空的还是有 &nbsp; 在里面?如果为空,则很难使dt/dd正确对齐,因为其他dd的高度为20px(例如),而空dd的高度为0。

    注意页边顶部,您必须将其应用于dt和dd。

    dt {
        float: left;
        clear: left;
        width: 8em;
        }
     dd {
        margin: 0 0 0 9em;
         padding: 0 0 2.5em 0;
        }
    
        4
  •  1
  •   Savantas    14 年前

    我认为正确使用 dl , dt dd 没有使用 ul li 在一个小时之内 dd ,但使用不同的 是的。在我看来,您使用的是一个元素中的列表,该元素本身就是用于列表的。

    <dl>
        <dt>Item 1</dt>
        <dd>Value 1</dd>
        <dt>Item 2</dt>
        <dd>
           &nbsp;
        </dd>
        <dt>Item 3</dt>
        <dd>Value 1</dd>
        <dd>Value 2</dd>
        <dd>Value 3</dd>
    </dl>
    

    对于CSS,您可以使用以下内容:

    DL {
    PADDING: 0; MARGIN: 0; }
    DT {
    POSITION: relative; PADDING: 0; MARGIN: 0; TOP: 1.2em; LEFT: 0px; }
    DD {
    PADDING: 0; MARGIN: 0 0 0 5em; }