Встроенный список с висящим отступом - PullRequest
0 голосов
/ 26 марта 2020

Я хочу создать список описания, в котором каждая пара терминов и описаний будет отображаться в одной строке, но иметь эти «строки» с висящим отступом в случае их переноса.

Вот что я хочу визуально, но используя 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>

Ответы [ 2 ]

2 голосов
/ 26 марта 2020

Вы можете считать отрицательную маржу, которую вы исправляете, с положительным отступом, и вы получите тот же эффект:

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>
0 голосов
/ 26 марта 2020

Вы можете обернуть элементы списка определений в div и сбросить поле для этих dd в div с меньшим количеством текста.

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...