Как насчет использования <dl>
с flexbox?
HTML
<div class="container">
<div class="d-flex flex-row-reverse">
<dl class="dl-horizontal">
<dt>Address:</dt>
<dd>Address here</dd>
<dt>Telephone:</dt>
<dd>123456</dd>
<dt>Email:</dt>
<dd>email@email.com</dd>
<dt>Fax:</dt>
<dd>123454</dd>
</dl>
</div>
</div>
CSS
dl.dl-horizontal {
display: flex;
flex-wrap: wrap;
font-size: 75%;
flex: 0 1 40%;
}
dl.dl-horizontal dt,
dl.dl-horizontal dd {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
border-left: .25rem solid red;
}
dl.dl-horizontal dt {
flex: 0 0 40%;
}
dl.dl-horizontal dd {
flex: 0 0 60%;
margin-bottom: 0;
}
Стили flex: 0 0 40%
в DT и flex: 0 0 60%
на дд предназначены главным образом для обеспечения одного дт и дд на строку.Они также предназначены для отображения многоточия при переполнении, так что нам хорошо.
Чтобы dl плавал вправо, вместо использования float:right;
, я обертываю dl с flexbox и настройкой отображения его элементов в обратном порядке, flex-row-reverse
.Последнее, что нужно сделать, это установить правильную ширину для dl .Вы можете использовать width:WHATEVER_WIDTH;
, или то, что я использовал здесь: flex: 0 1 WHATEVER_PERCENTAGE%;
.
![enter image description here](https://i.stack.imgur.com/e93gL.png)
![enter image description here](https://i.stack.imgur.com/7egjS.png)
https://jsfiddle.net/davidliang2008/qu1behny/32/