В современном мире для построения сеток используют флексы и гриды, а не инлайн-блоки.
А для ширины можно задавать fit-content, min-content, max-content
На будущее: всегда делайте песочницы, в которых можно увидеть что именно у вас не получилось.
Во-первых, надо не ваять огромные простыни кода, а разбивать его на боле мелкие функции.
Довольно сложно разбивать на мелкие функции, например, тексты.
А скопированные откуда-то они будут в одну строку без переносов.
Сидеть и тыкать переносы занятие сомнительное.
Ещё бывает чужой код, который тоже как-то нужно рефакторить.
Хорошо бы его видеть.
Также мы не знаем на каком языке пишет автор. В HTML,например, в основном принято писать атрибуты в строчку. Встречала редкие проекты, в которых в кодгайде просили писать их в столбик. Большинству это неудобно. Аналогично длинные SVG и в разметке и в стилях.
Могу еще придумать случаи, когда именно переносы помогут делу, но думаю, что уже и так понятно.
Но вы, конечно, правы что выступаете за чистоту кода. Тут я поддерживаю.
Но не всегда чистота это коротенькие строки.
lesha2008, извините, но я по-прежнему вижу картинки не тут в спойлере, а ссылками куда-то там.
И песочницы тоже не вижу.
Но ответить могу:
1. В современном мире для построения сеток используют флексы и гриды.
Флоаты используют только по назначению - для обтекания одного элемента другими или текстом.
В вашем макете никакого обтекания нет в помине.
2. Иконки являются украшениями, а не значимым контентом. В разметке они лишние. Такие штуки делают псевдоэлементами.
В разметке: список из 8 пунктов.
В каждом из которых заголовок и p.
Дальше гридом 2х2.
Псевдоэлемент располагается в первом столбце и двух рядах.
Антон Антон, угу, только зачем дивы в лейбл-то пихать? Новичок же не поймет, что это вы конструкцию показывали и скопирует прямо невалидный код и будет пользоваться.
Вот этого вполне достаточно: li>(input + label + p)
В крайнем случае ещё span внутри label на случай непредвиденных br.
Mors Clamor, либо были дочерние элементы по сценарию Сергея.
Либо вы дополнительно задавали дочерним элементам что-то типа height: 100%. А после этого они перестают растягиваться по stretch.
Хорошо, что вы сами понимаете о чем спрашиваете и знаете как этот бордер должен выглядеть. Нам же этого не видно.
Если нужен бордер на всю ширину окна, то нужно задать его блоку с шириной на всё окно. Благо точно есть body с такой шириной и можно ничего не придумывать.
Альтернатива: прибить абсолютом. В данном случае не ясно чего ради.
GaserV, так "сломайте" таблицу: задайте флекс или грид для tr и вперед.
Правда, ячейки перестанут вести себя как табличные, т.е. не будут знать о ширине аналогичных в другой строке.
https://codepen.io/AnnaSummer/pen/YzLBEGr
В современном мире для построения сеток используют флексы и гриды, а не инлайн-блоки.
А для ширины можно задавать fit-content, min-content, max-content
На будущее: всегда делайте песочницы, в которых можно увидеть что именно у вас не получилось.