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

带悬挂缩进的内联描述列表

  •  0
  • VorganHaze  · 技术社区  · 4 年前

    我想创建一个描述列表,其中每个术语和描述对出现在一行中,但这些行有一个悬挂的缩进,以防它们包装。

    以下是我想要的视觉效果,但使用 p 取而代之的是:

    p {
      margin: 0 0 0 2em;
      text-indent: -2em
    }
    <p><b>H:</b> Himenaeos</p>
    <p><b>U:</b> Ullamcorper</p>
    <p><b>Lorem Ipsum pulvinar ullamcorper nulla facilisi integer lacinia massa cras sed risus:</b> Lectus orbi in dui quis est pulvinar ullamcorper nulla facilisi integer lacinia sollicitudin massa cras metus sed aliquet risus a tortor id quam.</p>
    <p><b>Vestibulum sed aliquet risus a tortor integer id quam morbi mi quisque nisl felis venenatis tristique dignissim in ultrices sit amet augue proin sodales libero eget ante nulla quam aenean laoreet:</b> Vestibulum risus a tortor integer</p>
    <p><b>Q:</b> Quisque</p>

    到目前为止,我已经成功地在线显示了每一对,但在悬挂缩进方面运气不佳。

    我当前的代码:

    dt,
    dd {
      display: inline;
    }
    
    dt {
      font-weight: bold;
    }
    
    dd {
      margin: 0;
      padding: 0
    }
    
    dt::before {
      content: "";
      display: block;
    }
    <dl>
      <dt>H:</dt>
      <dd>Himenaeos</dd>
      <dt>U:</dt>
      <dd>Ullamcorper</dd>
      <dt>Lorem Ipsum pulvinar ullamcorper nulla facilisi integer lacinia massa cras sed risus:</dt>
      <dd>Lectus orbi in dui quis est pulvinar ullamcorper nulla facilisi integer lacinia sollicitudin massa cras metus sed aliquet risus a tortor id quam.</dd>
      <dt>Vestibulum sed aliquet risus a tortor integer id quam morbi mi quisque nisl felis venenatis tristique dignissim in ultrices sit amet augue proin sodales libero eget ante nulla quam aenean laoreet:</dt>
      <dd>Vestibulum risus a tortor integer</dd>
      <dt>Q:</dt>
      <dd>Quisque</dd>
    </dl>
    1 回复  |  直到 4 年前
        1
  •  2
  •   Temani Afif    4 年前

    你可以考虑用一个积极的填充来纠正消极的边际,你也会得到同样的效果:

    dl {
     padding-left:2em;
    }
    dt,
    dd {
      display: inline;
      margin:0;
      padding:0;
    }
    dt {
     margin-left:-2em;
    }
    
    dd:after {
      content:"";
      display:block;
    }
    dt {
      font-weight: bold;
    }
    <dl>
      <dt>H:</dt>
      <dd>Himenaeos</dd>
      <dt>U:</dt>
      <dd>Ullamcorper</dd>
      <dt>Lorem Ipsum pulvinar ullamcorper nulla facilisi integer lacinia massa cras sed risus:</dt>
      <dd>Lectus orbi in dui quis est pulvinar ullamcorper nulla facilisi integer lacinia sollicitudin massa cras metus sed aliquet risus a tortor id quam.</dd>
      <dt>Vestibulum sed aliquet risus a tortor integer id quam morbi mi quisque nisl felis venenatis tristique dignissim in ultrices sit amet augue proin sodales libero eget ante nulla quam aenean laoreet:</dt>
      <dd>Vestibulum risus a tortor integer</dd>
      <dt>Q:</dt>
      <dd>Quisque</dd>
    </dl>
        2
  •  0
  •   user13124934 user13124934    4 年前

    您可以将定义列表项包装在一个div中,并在文本较少的div中重置这些dd的边距。

    dt,
    dd {
      display: inline-block;
    }
    
    dt {
      font-weight: bold;
    }
    div:nth-of-type(1) dd,
    div:nth-of-type(2) dd,
    div:nth-of-type(5) dd {
     margin: 0;
    }
    <dl>
      <div>
      <dt>H:</dt>
      <dd>Himenaeos</dd>
      </div>
      <div>
      <dt>U:</dt>
      <dd>Ullamcorper</dd>
      </div>
      <div>
      <dt>Lorem Ipsum pulvinar ullamcorper nulla facilisi integer lacinia massa cras sed risus:</dt>
      <dd>Lectus orbi in dui quis est pulvinar ullamcorper nulla facilisi integer lacinia sollicitudin massa cras metus sed aliquet risus a tortor id quam.</dd>
      </div>
      <div>
      <dt>Vestibulum sed aliquet risus a tortor integer id quam morbi mi quisque nisl felis venenatis tristique dignissim in ultrices sit amet augue proin sodales libero eget ante nulla quam aenean laoreet:</dt>
      <dd>Vestibulum risus a tortor integer</dd>
      </div>
      <div>
      <dt>Q:</dt>
      <dd>Quisque</dd>
      </div>
    </dl>