Плавание - один из ключевых концепций CSS. Без понимания этого принципа невозможно создание веб-страниц на основе CSS. К слову, плавание можно прекрасно перевести как "плыть", что в точности передает суть. В конечном итоге плавание означает, что элемент располагается слева или справа от другого элемента. (Обычно данный элемент находился бы ниже другого элемента).
Первый пример должен прояснить этот аспект.
<p><img src="bild.jpg" /> В этом наборе есть 12 своих форм, которые вы можете использовать в своих буклетах, фонах и т.д. Формы делятся на 18, 21 и 24 полосы, а также различную ширину лучей. Эти предустановки являются отличным основанием для красивых эффектов в ваших макетах и изображениях.</p>
Здесь был определен абзац. Внутри этого абзаца находится изображение и обычный текст.

Взгляд на результат показывает, что изображение находится внутри текста.
Теперь вступает в игру свойство float.
img { float: left;}
Снова посмотрим на результат.
Здесь изображение было "зафлоатено". Текст теперь обтекает изображение.
Свойству float можно присвоить значения left и right, чтобы "плавающий" элемент оставался слева (float: left) или справа (float: right).
Можно сразу применить float: right к изображению.
В данном случае происходит три вещи:
• Графика удаляется из обычного потока.
• Она перемещается в элемент p в самый верх.
• Она отображается как можно дальше справа.
Взгляд на предыдущие результаты показывает, что это еще не слишком красиво выглядит. Фактически, не хватает отступов между изображением и обтекающим текстом. Измените синтаксис следующим образом:
img {
float: left;
margin-right: 20px;
}
Изображению был назначен правый отступ шириной 20 пикселей. Это дает следующий вид:
Просто поиграйте немного с отступами.
Завершение плавания
Вернемся к примеру с изображением. Я добавлю к синтаксису дополнительный абзац текста.
<p><img src="bild.jpg" />В этом наборе есть 12 своих форм, которые вы можете использовать в своих буклетах, фонах и т.д. Формы делятся на 18, 21 и 24 полосы, а также различную ширину лучей. Эти предустановки являются отличным основанием для красивых эффектов в ваших макетах и изображениях.</p> <p>В этом наборе есть 12 своих форм, которые вы можете использовать в своих буклетах, фонах и т.д. Формы делятся на 18, 21 и 24 полосы, а также различную ширину лучей. Эти предустановки являются отличным основанием для красивых эффектов в ваших макетах и изображениях.</p>
Результат выглядит так:
Фактически обтекает не только первый абзац изображение. То же самое относится и ко второму текстовому абзацу. Это происходит потому, что изображение заходит за границы первого абзаца вниз. Для лучшего понимания дам второму абзацу, в котором находится изображение, фоновый цвет.
Если вы посмотрите на результат, станет ясно, что изображение действительно заходит за границы абзаца вниз. Это в такой форме, разумеется, не всегда желаемо. В этот момент вступает важная clear-свойство. Потому что через него можно завершить плавание. clear заставляет последующий элемент начинаться фактически под зафлоатившим элементом, а не рядом с ним. clear может иметь следующие значения:
• left - завершает float: left
• right - завершает float: right
• both - завершает как float: right, так и float: left
В следующем примере я применяю к второму абзацу clear: left, чтобы завершить плавание.
<!DOCTYPE html>
<html lang="ru">
<head>
<title>PSD-Tutorials.de</title>
<meta charset="UTF-8" />
<style>
img {
float: left;
margin-right: 20px;
}
</style>
</head>
<body>
<p style="background-color:#CCFF66;"><img src="bild.jpg" />В этом наборе есть 12 своих форм, которые вы можете использовать в своих буклетах, фонах и т.д. Формы делятся на 18, 21 и 24 полосы, а также различную ширину лучей. Эти предустановки являются отличным основанием для красивых эффектов в ваших макетах и изображениях.</p>
<p style="clear:left;">В этом наборе есть 12 своих форм, которые вы можете использовать в своих буклетах, фонах и т.д. Формы делятся на 18, 21 и 24 полосы, а также различную ширину лучей. Эти предустановки являются отличным основанием для красивых эффектов в ваших макетах и изображениях.</p>
</body>
</html>
С помощью показанного синтаксиса второй абзац теперь действительно отображается под изображением.
В большинстве случаев, вместо использования clear: left или clear: right, можно сразу использовать clear: both. Поэтому рекомендуется просто создать соответствующий класс в своем файле стилей, который затем можно вызывать по необходимости.
.clearing {
clear: both;
}
Этот класс можно использовать всякий раз, когда нужно завершить плавающий элемент.
<p class="clearing">Inhalte ...</p>
Для чего нужно плавающее позиционирование
Естественно, плавающее позиционирование необходимо не только для текствого потока вместе с изображениями. Фактически, оно является основным концептом CSS-основанных веб-страниц. Благодаря плавающему позиционированию можно легко реализовать многостолбчатые макеты. Вот пример:
<!DOCTYPE html>
<html lang="de">
<head>
<title>PSD-Tutorials.de</title>
<meta charset="UTF-8" />
<style>
#navi {
float:left;
width:12em;
background-color:#99FFFF;
}
#inhalt {
margin-left: 14em;
background-color: #FF3333;
}
</style>
</head>
<body>
<div id="navi">
<ul>
<li>Startseite</li>
<li>Kontakt</li>
<li>Impressum</li>
</ul>
</div>
<div id="inhalt">
Здесь находится содержимое веб-страницы.
</div>
</body>
</html>Здесь создается двухстолбчатый макет. Интересно, что столбцы находятся рядом.
Именно это рядом стояние обеспечивается концепцией плавающего позиционирования. Подробная информация о создании веб-страниц на основе плавающего позиционирования будет представлена в дальнейшем ходе этой серии.