Как бы я это сделал?
Будь явным со своими классами. Добавьте классы к dt
и dd
. Одним из недостатков списков определений является отсутствие явной группировки. Вам либо нужно признать, что короткое падение ( не оборачивать их в div
, это недействительно HTML Я забираю это обратно ... это действительно ), либо приходить с альтернативой, которая следует ...
dt.red {
color: red;
}
dd.red{
border-left: solid red;
}
dt.blue {
color: blue;
}
dd.blue {
border-left: solid blue;
}
dd.crimson {
color:crimson;
}
dd.azure {
color:azure;
}
dd.azure, dd.cayan {
background-color:#333;
}
dd.cyan {
color:cyan;
}
<dl>
<dt class="red">Red</dt>
<dd class="red crimson">Crimson</dd>
<dt class="blue">Blue</dt>
<dd class="blue azure">Azure</dd>
<dd class="blue azure">Cyan</dd>
<dt class="red">More red!</dt>
<dd class="red vermillion">Vermilion</dd>
<dd class="red scarlet">Scarlet</dd>
</dl>
В качестве альтернативы можно работать со структурой HTML, обеспечивающей группирование, в этом случае может работать вложенный список
ul {
list-style:none;
padding-left: 0;
}
ul ul {
padding-left: 40px;
color: black;
}
li.red {
color: red;
}
li.red li {
border-left:solid red;
}
li.blue {
color: blue;
}
li.blue li {
border-left:solid blue;
}
<ul>
<li class="red">Red
<ul>
<li>Crimson</li>
</ul>
</li>
<li class="blue">Blue
<ul>
<li>Azure</li>
<li>Cyan</li>
</ul>
</li>
<li class="red">More Red
<ul>
<li>Vermilion</li>
<li>Scarlet</li>
</ul>
</li>
</ul>
Или оберните каждую группу div