Тоже самое я могу сказать о вас.
DOM узлов меньше, вроде это очевидно.
"Упрощать" разметку ради того чтобы вставить себе палки в колеса в будущем, ну так себе занятие.
Со стороны семантики - точечки это украшение, а никакой не смысловой блок, а значит его не должно быть в разметке.
А от вас уже 2 поста только вода.
и убрать обертку от кнопки, то вообще красота будет.
Конечно, есть разные задачи и для некоторых из них можно спокойно плевать на быстродействие, валидатор, доступность, ИЕ и еще на что-нибудь.
Первый вариант более удобный для управления шириной текстового блока, поэтому второй, так, ради развлечения и показать ТС, что так можно.
Если еще вместо div.item__dotted использовать псевдоэлемент и убрать обертку от кнопки, то вообще красота будет.
Каким образом использование блоков, которые появились вместе с самим языком разметки внезапно стали бременем?
менять HTML-документы и шаблоны всегда дороже, чем обновлять таблицы стилей и скрипты.
В этом и вся суть, чтобы не пришлось ничего менять, нужно изначально делать структуру устойчивую и масштабируемую
если структура будет принципиально отличаться
тогда мы будем использовать другой шаблон и не будем тратить время на модификации.
@Ankhena
Конечно, есть разные задачи и для некоторых из них можно спокойно плевать на быстродействие, валидатор, доступность, ИЕ и еще на что-нибудь.
Этот блок может выглядеть как в вопросе на мобилках, а на декстопах как нарисовал @RAX7
Мы же не будем менять разметку из-за этого.
так в том-то и дело, что структура не будет отличаться, отличаться будет только внешний вид.
Данный случай не является чем-то особенным и можно спокойно сделать отточие псевдоэлементом, это до вас и пытаются донести.
изначально делать структуру устойчивую и масштабируемую
Чем тут псевдоэлемент то в выигрыше?)
Вы усложняете, там где это не нужно.
И стилизация не является логической или структурной частью текстового документа.
HTML предназначался для структурной и логической разметки текста. Чтобы программы могли нормально интерпретировать текст и передавать его на устройства вывода.
dotted
) то можно просто сделать <hr>
с этим бордером:hr {
border: none;
border-top: 3px dotted #dbdbdb;
}