HTML & CSS для начинающих

HTML & CSS для начинающих (Часть 38): Все в потоке с помощью float.

Все видео урока HTML и CSS для начинающих

Плавание - один из ключевых концепций CSS. Без понимания этого принципа невозможно создание веб-страниц на основе CSS. К слову, плавание можно прекрасно перевести как "плыть", что в точности передает суть. В конечном итоге плавание означает, что элемент располагается слева или справа от другого элемента. (Обычно данный элемент находился бы ниже другого элемента).

Первый пример должен прояснить этот аспект.

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

Здесь был определен абзац. Внутри этого абзаца находится изображение и обычный текст.

HTML & CSS для начинающих (часть 38): Все в потоке с float

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

Теперь вступает в игру свойство float.

img { float: left;}



Снова посмотрим на результат.

HTML и CSS для начинающих (Часть 38): Всё в потоке с помощью float.



Здесь изображение было "зафлоатено". Текст теперь обтекает изображение.

Свойству float можно присвоить значения left и right, чтобы "плавающий" элемент оставался слева (float: left) или справа (float: right).

Можно сразу применить float: right к изображению.

HTML & CSS для начинающих (Часть 38): Все в потоке с помощью float



В данном случае происходит три вещи:

• Графика удаляется из обычного потока.

• Она перемещается в элемент p в самый верх.

• Она отображается как можно дальше справа.

Взгляд на предыдущие результаты показывает, что это еще не слишком красиво выглядит. Фактически, не хватает отступов между изображением и обтекающим текстом. Измените синтаксис следующим образом:

img { 
    float: left; 
    margin-right: 20px; 
 }



Изображению был назначен правый отступ шириной 20 пикселей. Это дает следующий вид:

HTML & CSS для новичков (Часть 38): Все в потоке с помощью float.



Просто поиграйте немного с отступами.

Завершение плавания

Вернемся к примеру с изображением. Я добавлю к синтаксису дополнительный абзац текста.

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



Результат выглядит так:

HTML & CSS для начинающих (Часть 38): Всё в течении с float

Фактически обтекает не только первый абзац изображение. То же самое относится и ко второму текстовому абзацу. Это происходит потому, что изображение заходит за границы первого абзаца вниз. Для лучшего понимания дам второму абзацу, в котором находится изображение, фоновый цвет.

HTML & CSS для начинающих (Часть 38): Все в потоке с float.



Если вы посмотрите на результат, станет ясно, что изображение действительно заходит за границы абзаца вниз. Это в такой форме, разумеется, не всегда желаемо. В этот момент вступает важная 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>

Здесь создается двухстолбчатый макет. Интересно, что столбцы находятся рядом.

HTML & CSS для новичков (Часть 38): Все в потоке с float.



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