span background новая строка

12 3
T
На сайте с 24.07.2008
Offline
145
1719

Добрый день.

Есть текст заключенный в span

В css этому спану прописываю background: bkack; padding: 4px;

Текст не умещается в одну строку, поэтому я добавил паддинг, чтобы залить бэкграундом промежутки между строк. И чтобы было расстояние с фоном от края заливки до начала текста слева и справа.

Вероятно есть другое более правильное решение, т.к. мой вариант приводит к тому что с новой строки текст снова прилепает к краю игнорируя паддинг.

Пробовал display: block; - не вариант, т.к. в таком случае бэкграунд заливает весь див целиком, в котором находится спан. А мне надо чтобы заливка заканчивалась там где закончился текст на строке.

Гуглил, нашел два подобных вопроса на других форумах оставшихся без ответа.

Может быть на нашем форуме найдется решение?

Z0
На сайте с 03.09.2009
Offline
824
#1

Походу никак и не сделать. А зачем вам это надо? Вставляйте в span каждую строку как вариант.

Ragnarok
На сайте с 25.06.2010
Offline
239
#2

Tempter, попробуйте display: inline-block;

//TODO: перестать откладывать на потом
Z0
На сайте с 03.09.2009
Offline
824
#3
Ragnarok:
Tempter, попробуйте display: inline-block;

Не, я пробовал, не работает 🤪

T
На сайте с 24.07.2008
Offline
145
#4
Ragnarok:
Tempter, попробуйте display: inline-block;
ziliboba0213:
Не, я пробовал, не работает 🤪

Ага, не работает ((( грусть-печаль прям какая-то, дизайнер нарисовал, макет утвердили, как сверстать не знаю )))

SI
На сайте с 03.12.2007
Offline
130
#5

Обернуть каждое слово в [ ] пробелы с двух сторон, тогда в месте переноса будет отступ с цветом фона.

-= Онлайн сервисы =-
sochi-russia
На сайте с 06.01.2012
Offline
193
#6

Заверните спан в див блок, задайте диву ширину. Регулируя ширину блока возможно исправите или я не правильно понял. Ах да в css после каждого значения перед точкой с запятой поставьте !important

Telegram Чат Бот дешёвых авиабилетов https://t.me/Aviaonlinebot Супер Хостинг от 9,20 руб в день https://clck.ru/Rk2P5 🖧 VPS от 19 руб. https://clck.ru/afhGc 🖧 Выделенные СЕРВЕРЫ - БЕСПЛАТНЫЕ плюшки https://clck.ru/YhkZe 🖧 / / Хостинг от 6руб в день! https://clck.ru/Rk2P5
T
На сайте с 24.07.2008
Offline
145
#7
Sigmo#ID:
Обернуть каждое слово в [ ] пробелы с двух сторон, тогда в месте переноса будет отступ с цветом фона.

Что-то мне подсказывает что такое решение какие-то костыли )) Помоему должно быть другое решение.

Но если я его не найду, придется сделать как вы сказали.

Спасибо!

---------- Добавлено 20.06.2015 в 23:42 ----------

sochi-russia:
Заверните спан в див блок, задайте диву ширину. Регулируя ширину блока возможно исправите или я не правильно понял. Ах да в css после каждого значения перед точкой с запятой поставьте !important

Вы на самом деле не правильно поняли.

Фон должен быть только за текстом, т.е. на каждой строке текста ширина фона разная в зависимости от кол-ва слов в строке.

Если начать работать с дивом, фон будет по всему диву.

Если вы предлагаете каждую строку в див завернуть - не подходит, т.к. при изменении размера окна, строки уменьшаются и увеличиваются.

sochi-russia
На сайте с 06.01.2012
Offline
193
#8
Tempter:
Что-то мне подсказывает что такое решение какие-то костыли )) Помоему должно быть другое решение.
Но если я его не найду, придется сделать как вы сказали.
Спасибо!

---------- Добавлено 20.06.2015 в 23:42 ----------


Вы на самом деле не правильно поняли.
Фон должен быть только за текстом, т.е. на каждой строке текста ширина фона разная в зависимости от кол-ва слов в строке.
Если начать работать с дивом, фон будет по всему диву.
Если вы предлагаете каждую строку в див завернуть - не подходит, т.к. при изменении размера окна, строки уменьшаются и увеличиваются.

ну тогда добавьте padding-left:***px!important; и padding-right:**px!important; margin:0px auto!important; Если это не поможет то в css пропишите text-align: justify;

**px - замените на значения

Ragnarok
На сайте с 25.06.2010
Offline
239
#9

Tempter, сделайте уже онлайн-демку что-там-у-Вас-есть и запостите ссылку)

dkameleon
На сайте с 09.12.2005
Offline
386
#10
Tempter:
В css этому спану прописываю background: bkack; padding: 4px;
Текст не умещается в одну строку, поэтому я добавил паддинг, чтобы залить бэкграундом промежутки между строк. И чтобы было расстояние с фоном от края заливки до начала текста слева и справа.
Вероятно есть другое более правильное решение, т.к. мой вариант приводит к тому что с новой строки текст снова прилепает к краю игнорируя паддинг.
Пробовал display: block; - не вариант, т.к. в таком случае бэкграунд заливает весь див целиком, в котором находится спан. А мне надо чтобы заливка заканчивалась там где закончился текст на строке.
Гуглил, нашел два подобных вопроса на других форумах оставшихся без ответа.
Может быть на нашем форуме найдется решение?

а мы сидим все такие, и в уме рендерим вашу хтмлку :)

Дизайн интерьера (http://balabukha.com/)
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий