Цвет фона простирается дальше текста и проходит под плавающим элементом - PullRequest
4 голосов
/ 05 июля 2011

В наборе HTML-страниц, содержащих важный текст, для которого требуется цвет фона. Это может произойти в любом месте на странице.

У меня также есть изображение, которое должно плавать прямо на каждой странице. Текст должен обернуться вокруг этого изображения.

Иногда текст, требующий цвет фона, необходимо обернуть вокруг плавающего изображения.

Проблема в том, что цвет фона текста распространяется под изображение. Как это:

background/float problem

Вот HTML и CSS:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Float Problem</title>
    <style type="text/css">
        .main{ width:500px; }
        .floater { height:200px; width:200px; background-color:#C00; float:right; clear:left; margin:10px; padding:10px; overflow:hidden; }
        .importantText { background-color:#333; color:#FFF; padding:5px; font-weight:bold; }
    </style>
</head>
<body>
    <div class="main">
        <div class="floater">
        [An image here]
        </div>
        <p class="plainText">Integer luctus, nunc vel condimentum ornare, mi eros vehicula nisl, non adipiscing enim risus sit amet urna. </p>
        <p class="importantText">In hac habitasse platea dictumst. Fusce nec felis lorem. Fusce mollis ante elit, at tempor ipsum. Ut imperdiet libero sed sem rutrum rhoncus mattis erat aliquam. Aenean bibendum tincidunt erat sit amet varius. Vivamus sed arcu vitae magna aliquet porttitor quis sed augue. </p>
        <p class="plainText">Fusce molestie dignissim libero vehicula egestas. Suspendisse porta, felis et auctor suscipit, quam mi facilisis odio, id tempus lorem leo ac quam. Proin rhoncus dignissim eros, et commodo ante rhoncus sit amet.</p>
    </div>
</body>
</html>

Я пробовал много разных предложенных решений, но ни одного не нашел работы для этой конкретной проблемы. Есть ли способ заставить цвет фона соответствовать тексту (а , а не идти под изображением)? Можно ли это решить с помощью CSS или JavaScript (с доступом к jQuery)? Решение должно работать в IE7 +, FF4 +, Safari3 + и последней версии Chrome.

Ответы [ 3 ]

7 голосов
/ 05 июля 2011

Просто добавьте overflow: hidden; к важному текстовому классу.

См. эту демонстрационную скрипку .

Протестировано на Win7 в IE7, IE8, IE9, Opera 11.50, Safari5.0.5, FF 5.0, Chrome 12.0, но так как это базовая функция переполнения, я точно знаю, что она работает во всех других необходимых версиях браузера.

0 голосов
/ 05 июля 2011

Разве вы не можете просто указать ширину в важном текстовом классе?

http://jsfiddle.net/S7XDX/

0 голосов
/ 05 июля 2011

Я не думаю, что есть способ сделать это, когда элемент равен display:inline. Вам нужно иметь display:block для этого <p>, или я считаю, что с плавающей точкой фон не будет растягиваться на 100% ширины страницы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...