Подсветка текста (эффект метки) с использованием CSS - PullRequest
6 голосов
/ 04 февраля 2011

Я хочу создать текстовый стиль, похожий на метку. Смотрите здесь:

enter image description here

Я почти могу сделать это, используя: http://jsfiddle.net/STApE/

p{display: inline; background: yellow;}

НО, я хочу добавить отступы. Когда я делаю, дела идут вниз То же самое происходит, если я добавляю границу: http://jsfiddle.net/JN72d/

Какие-нибудь идеи о простом способе достижения этого эффекта?

Ответы [ 8 ]

6 голосов
/ 04 февраля 2011

Я смог добиться этого, немного изменив структуру DOM:

http://jsfiddle.net/Zp2Cm/2/

2 голосов
/ 04 февраля 2011

Оберните каждую строку с интервалом. Установите диапазон на уровне блока. Применение фона и отступов к диапазону.

1 голос
/ 04 февраля 2011

что вы ищете?

Был немного затянуто! Хенсе 44 в URL. Если вы можете жить без p-тегов, тогда все будет в порядке.

Пример

1 голос
/ 04 февраля 2011

Вместо <p> вы можете использовать <span> и float:

<style type="text/css">
span {
    float: left;
    background: yellow;
    padding: 3px;
    text-transform: uppercase;
    clear: left;
}
</style>

<span>highlighting the text</span>
<span>like this</span>
<span>using just css</span>
<span>is harder</span>
<span>than it looks</span>

См. пример .

0 голосов
/ 30 апреля 2014

Это сложная задача ...

НО :) Я нашел отличную статью для этого!

С помощью следующих решений вы можете выделить Dinamic text, не используя перенос для каждой строки.

Статья с демонстрациями : http://css -tricks.com / multi-line-padded-text /

Наслаждайтесь!)

0 голосов
/ 04 февраля 2011

Добавьте интервалы к вашему абзацу следующим образом:

<p class="p1">
    <span>Highlighting the text</span><br/>
    <span>like this</span><br />
    <span>using just CSS</span><br />
    <span>is as easy</span><br />
    <span>as it looks.</span>
</p>

И добавьте следующий CSS:

p.p1{display: inline; background: yellow;}
span {padding: 5px; background: yellow; display: inline-block;}

Обратите внимание на атрибут display: inline-block Я раздвоил твой код: http://jsfiddle.net/eliekhoury/JN72d/27/

0 голосов
/ 04 февраля 2011

Можно использовать <pre>? Оставляет это отформатированным, как вы хотите

0 голосов
/ 04 февраля 2011

Я думаю, что вы можете достичь того, что хотите, изменив display:inline на display:inline-block. Это имеет некоторые проблемы совместимости просмотра (в зависимости от вашего целевого набора):

http://www.quirksmode.org/css/display.html

...