Приднестровская поддержка XOOPS
После присвоения изображению или иному элементу свойства float остальные блочные элементы будут вести себя, как будто его не существует, при этом содержащиеся в них текст и строчные изображения будут этот плавающий элемент обтекать. Как заставить элементы страницы отобразиться ниже такого плавающего блока?
Решение
Использование свойства clear позволяет отобразить заданный элемент под любыми элементами, для которых задано свойство float, как если бы они оставались частью потока элементов. К примеру, зададим это свойство со значением both для первого абзаца, следующего за списком :
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>float and clear</title>
<meta http-equiv="content-type"
content="text/html; charset=utf-8" />
<style type="text/css">
.xoopsimg {
float: right;
width: 155px;
margin-left: 20px;
margin-bottom: 6px;
}
.clear {
clear: both;
}
</style>
</head>
<body>
<h1>Что такое XOOPS?</h1>
<img src="img/xoops-cover.jpg" alt="xoops" class="xoopsimg" />
<h3>Технические требования:</h3>
<ul>
<li> WWW сервер (<a href="http://www.apache.org/">Apache</a>, IIS, Roxen)</li>
<li> <a href="http://www.php.net/">PHP</a> 5.2 или выше</li>
<li> <a href="http://www.mysql.com/">База данных MySQL</a> 5.0 (или выше)</li>
</ul>
<p class="clear">XOOPS - это динамический OO (Объектно-Ориентированный)
основанный на открытом исходном коде скрипт портала, написанный на PHP.
XOOPS поддерживает различные базы данных, XOOPS - это идеальный инструмент
для создания небольших высоко-динамичных сообществ вэб-сайтов, внутренних
порталов компании, корпоративных порталов, web-публикаторов и многого другого.
</p>
<p style="text-align: right;"><a href="#">скачать XOOPS</a></p>
</body>
</html>
Как видно на рис. 9.7, на котором мы сдвинули плавающий элемент вправо, при такой разметке абзац сдвигается вниз и располагается под плавающим изображением.
Рис. 9.7. Первый абзац отображается под изображением
Обсуждение
Свойство float удаляет элемент из потока, и последующие блочные элементы просто-напросто игнорируют его. Для более наглядной демонстрации этого механизма можно добавить элементам документа рамки, в нашем случае – элементам ul и p, как показано на рис. 9.8.
.xoopsimg {
float: right;
width: 155px;
margin-left: 20px;
margin-bottom: 6px;
border: 2px solid #000000;
}
ul, p {
border: 2px solid #000;
}
Рис. 9.8. Добавление рамки шириной в два пиксела к элементам «ul» и «p»
Плавающее изображение отображается поверх элементов блочного уровня. Содержащийся в них текст окружает его, однако сами элементы не обращают внимания на его наличие. Это означает, что, если высота изображения в нашем примере превысит высоту списка, следующий за списком абзац будет обтекать изображение, как показано на рис. 9.8.
Для размещения абзаца под нижней границей изображения можно воспользоваться свойством clear:
.clear {
clear: both;
}
Этот CSS-класс нужно присвоить первому тегу <p>, следующему за списком ингредиентов:
<p class="clear">XOOPS - это динамический OO (Объектно-Ориентированный)
основанный на открытом исходном коде скрипт портала, написанный на PHP
XOOPS поддерживает различные базы данных, XOOPS - это идеальный инструмент
для создания небольших высоко-динамичных сообществ вэб-сайтов, внутренних
порталов компании, корпоративных порталов, web-публикаторов и многого другого.
</p>
Оставим добавленные ранее рамки и обновим документ. Его нынешний вид показан на рис. 9.9; как видите, указанный абзац начинается под изображением, что особенно наглядно демонстрирует его рамка.
Рис. 9.9. Размещение абзаца под изображением с помощью свойства clear
Свойство clear также может принимать значения left и right, что может пригодиться в случае, если вы хотите, чтобы элемент игнорировал свойство float со значениями влево или вправо соответственно. Однако чаще всего вам потребуется значение both. Имейте в виду, что использование свойств float и clear может привести к ошибкам интерпретации, особенно в Internet Explorer – достаточно вспомнить «исчезающий контент» в Internet Explorer 6, о котором мы говорили в главе 7.
Отправитель | Нити |
---|
5 пользователь(ей) активно (1 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 5 далее... |