Убрал ваши параграфы, заменил их на span. Потому что у него есть такая фишка, что если задать margin или padding слева, то сдвинется только первая строчка, а на весь остальной текст это не повлияет (в случае параграфа - сдвигается весь абзац)
Добавил такой отступ, а сам элемент before сделал с абсолютной позицией и через отрицательный margin-left сдвинул их налево)
https://jsbin.com/fowopihehu/1/edit?html,css,output - во.
.div:nth-child(odd) .span - такая запись двух классов через пробел, означает "все элементы с классом .span, которые находятся внутри .div"
А как растянуть бордеры - не знаю.
Думал вообще убрать эти бордеры и между всеми элементами дополнительно ввести div с нулевой высокой и 1рх бордером, и уже его попробовать растянуть, возможно уже через JavaScript...
p.s. классы использовать надежнее, т. к. вдруг позже придется еще что-то добавлять на страницу, а окажется что все базовые элементы имеют не тот стиль, который вам нужен - придется возвращаться и добавлять.
НастяЗнаток (356)
6 лет назад
Спасибо, подтолкнули на мысль. Только менять p на span и тем более обертку делать - это не вариант в моем случае :(
Проблему с переносом решила через добавление display: inline-flex к параграфам и width: 100%. Но что с рамкой делать не знаю: элемент с большой шириной растянет родителя и сломает скролл.
Про классы: это просто пример и стили заданы тэгам просто чтобы было проще ориентироваться и воспринимать. В реальном коде, естественно, не так.
Есть блок с фиксированной шириной и горизонтальным скроллом, внутри блока параграфы.
У параграфов есть before, с display: inline-block, ибо мне нужно задавать им ширину.
Если параграф будет содержать в себе слово, длинна которого превышает ширину блока, то before останется на одной строке, а текст перенесется на следующую.
https://jsbin.com/badodegoku/edit?html,css,output
Вопрос - как "приклеить" before к <p и избежать переноса?
И если подскажете, как сделать так, чтобы border у параграфов растягивался при скролле, будет клево. ♥