width: calc(100% - 20px);
margin: 0 10px;
Вы усложняете, там где это не нужно.
Этот блок может выглядеть как в вопросе на мобилках, а на декстопах как нарисовал @RAX7
Мы же не будем менять разметку из-за этого.
так в том-то и дело, что структура не будет отличаться, отличаться будет только внешний вид.
Данный случай не является чем-то особенным и можно спокойно сделать отточие псевдоэлементом, это до вас и пытаются донести.
менять HTML-документы и шаблоны всегда дороже, чем обновлять таблицы стилей и скрипты.
Конечно, есть разные задачи и для некоторых из них можно спокойно плевать на быстродействие, валидатор, доступность, ИЕ и еще на что-нибудь.
Первый вариант более удобный для управления шириной текстового блока, поэтому второй, так, ради развлечения и показать ТС, что так можно.
Если еще вместо div.item__dotted использовать псевдоэлемент и убрать обертку от кнопки, то вообще красота будет.
DOM узлов меньше, вроде это очевидно.
"Упрощать" разметку ради того чтобы вставить себе палки в колеса в будущем, ну так себе занятие.
Со стороны семантики - точечки это украшение, а никакой не смысловой блок, а значит его не должно быть в разметке.
А от вас уже 2 поста только вода.
и убрать обертку от кнопки, то вообще красота будет.
встречный вопрос: а у вас есть знакомые со зрением +8?
У которых настройка шрифтов в браузере почему-то разрывает всякие крутые дизайны в клочья?
Вы наверно и про отрицательные маржины не слышали, для компенсанции отступов по краям.
У вас проблема в подходе, если для вас это слишком умно, ну это ваши проблемы.