Подтвердить что ты не робот

Помещение границы вокруг плавающих элементов

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

<img src="testImage1.png" alt="Test Image 1" style="float:right;" />
<img src="testImage2.png" alt="Test Image 2" style="float:left;" />
<p>Test Text</p>

Я хочу добавить границу вокруг двух изображений и текста. Я попытался поместить <div> вокруг всех трех вышеуказанных тегов и используя style="border:2px black solid;". В то время как это добавляет границу, это, кажется, не учитывает изображения. То есть мы получаем что-то вроде следующего (используя StackOverflow и логотипы Google).

enter image description here

Я предполагаю, что это происходит, потому что плавающие элементы не рассматриваются как часть <div>. Я разработчик программного обеспечения, а не веб-разработчик, поэтому я не эксперт в CSS. Но я действительно думаю, что я помню, что плавающие элементы в некотором роде "игнорируются". Может ли кто-нибудь дать подробное описание того, что происходит и как это исправить?

4b9b3361

Ответ 2

В CSS плавающие элементы по умолчанию не добавляют высоту родителям.

Решение - просто установить overflow: hidden.

<div style="border: 2px solid black; overflow: hidden;" 
    <img src="testImage1.png" alt="Test Image 1" style="float:right;" />
    <img src="testImage2.png" alt="Test Image 2" style="float:left;" />
    <p>Test Text</p>
</div>

скрипт: http://jsfiddle.net/JNets/

Ответ 3

Добавьте эту строку в свои свойства CSS:

overflow: hidden