Float html что это

Разбираем свойство float в CSS

Дата публикации: 2010-02-22

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Пару лет назад, когда разработчики впервые начали переходить к HTML-разметке без таблиц, CSS свойство float внезапно взяло на себя очень важную роль. Причина того, что свойство float стало так распространено, состояла в том, что по умолчанию, блочные элементы не выстраивались в линию рядом друг с другом в формате на основе столбца. Так как столбцы необходимы фактически в каждой схеме CSS, к этому свойству начали привыкать — и даже злоупотреблять им.

Свойство float в CSS, позволяет разработчику включать подобные таблице столбцы в разметку HTML без использования таблиц. Если бы не свойство float, то схемы размещения CSS не были бы возможны, кроме использования абсолютного и относительного позиционирования — которые были бы неаккуратными и сделали бы схему разметки неудобной в сопровождении.

В этой статье мы расскажем, что такое свойство float и как оно влияет на элементы в специфических контекстах. Мы также обратим внимание на некоторые из различий, которые могут возникнуть в связи с этим свойством в наиболее часто используемых браузерах. Наконец, мы продемонстрируем несколько практических применений свойства float. Это должно обеспечить также всестороннее и тщательное обсуждение этого свойства и его влияние на развитие CSS.

Определение и синтаксис CSS-свойства Float

Цель свойства float состоит в том, чтобы, вытолкнуть блочный элемент влево или вправо, взяв его из потока документа. Это позволяет естественным образом текущему информационному содержанию обвалакиваться вокруг плавающего элемента. Эта концепция является аналогичной той, которую вы видите каждый день в печатной литературе, где фотографии и другие графические элементы, выровненные по какой либо стороне, а информационное наполнение (обычно текст) течет естественно вокруг элемента выровненного вокруг левого или правого края.

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

На изображении выше раздел “Читатели сайта ”.net magazine с 3-мя фотографиями читателей, которые выровнены по левому краю в своих столбцах с обертыванием текста вокруг изображений. Такова — основная идея, лежащая в основе свойства float в схемах размещения CSS, и она демонстрирует один из способов, который использован в табличном дизайне.

Эффективность использования float в многоколонной верстке была объяснена Douglas Bowman в 2004 в его классической презентации No More Tables:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Bowman объяснил принципы, лежащие в верстке без таблиц, используя старый сайт Microsoft в качестве образца. Float были заметно использованы в его ложной перестройке разметки Microsoft.

Синтаксис

Свойство Float может принимать одно из 4 значений: влево (left), вправо(right), без выравнивания (none) и наследованное (inherit). Это объявляется, как показано в коде ниже:

Источник

Float’омания: разъяснение как работает css свойство float

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Disclaimer

Я не профессиональный верстальщик, хотя по роду моей деятельности мне пришлось сверстать не один десяток сайтов. У меня есть друзья, которые учатся верстать и я им хочу помочь. Скорее всего они есть и у вас. Цель этой статьи не рассказать что-то новое, а рассказать о старом с точки зрения наиболее часто возникающих у начинающих верстальщиков проблем. Я не претендую на абсолютную истину своих слов, и я буду только рад, если вы меня поправите и дополните.

Свойства элемента с float, которые нужно всегда держать в голове

Жизненный случай #1

У меня есть два блока, я применил к одному из блоков float: right, он выровнялся по правому краю, но все равно остался под первым. Пример как это выглядит.

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Причина

Если так произошло, значит, вы применили float не к первому, а ко второму блоку. В силу того, что плавающий (тот, который с float) элемент обтекают только те элементы, которые идут в HTML коде после него, первый блок его обтекать не будет.

Так же блочные элементы по умолчанию имеют максимально возможную ширину (пруф) в пределах родителя. Ваш плавающий элемент просто не помещается на одной линии с первым блочными элементами с максимальной шириной, поэтому он вытесняется вниз.

Решение

Жизненный случай #2

У меня два блока в header/content/footer. Одному я сделал float: left, другому float: right. Но после этого все содержимое сайта поплыло.

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Причина

Блоки с float по умолчанию не влияют на высоту родителя, то есть если у вас есть некоторый контейнер, а в нем находятся только плавающие блоки, то высота контейнера станет равна нулю. Пример как это выглядит.

Так же всё содержимое сайта, которое идет в HTML коде после плавающих элементов, обтекает их, что часто приводит к неожиданному эффекту.

Решение

Решение #1. Явно задать высоту контейнера. В тех случаях, когда известно какими должны быть размеры контейнера, это самое простое решение.

Решение #2. Добавить пустой блок с clear: both. Добавление подобного элемента отчищает «плавучесть» блоков и заставляет контейнер растягиваться на всю высоту. Семантически это не самое лучшее решение, так как вводит лишний элемент разметки.

Решение #3. Применить свойство overflow: auto (или hidden) к контейнеру. Заставляет контейнер заново рассчитать высоту и изменить ее так, чтобы включать плавающие элементы, иначе ему бы пришлось добавить полосу прокрутки или скрыть их. Впрочем, иногда это случается, поэтому будьте осторожны.

UPD
Так же читайте интересную статью от SelenIT2 как продолжение обсуждения свойства float.

Источник

float

Summary

CSS-свойство float указывает, что текущий элемент должен быть изъят из обычного flow (потока) и прижат к левой или правой стороне родительского элемента. Текст и inline элементы будут обтекать такой элемент.

Начальное значениеnone
Применяется квсе элементы, но не будет эффекта, если display: none
Наследуетсянет
Обработка значениякак указано
Animation typediscrete

Поскольку float подразумевает использование блочной модели, это свойство изменяет вычисляемые значения display в следующих случаях:

Syntax

Values

Formal syntax

Examples

HELLO!

How floats are positioned

As mentioned above, when an element is floated it is taken out of the normal flow of the document. It is shifted to the left or right until it touches the edge of it’s containing box or another floated element.

In the image below, there are three red squares. Two are floated left and one is floated right. Note that the second «left» red square is placed to the right of the first. Additional squares would continue to stack to the right until they filled the containing box, after which they would wrap to the next line.

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Clearing floats

In the example above, the floated elements are shorter vertically than the block of text they’re floated within. However, if the text was not long enough to wrap below the bottom of all the floats, we might see unanticipated effects. If the paragraph above, for instance, only read «Lorem ipsum dolor sit amet,» and was followed by another heading of the same style as the «Floats Example» heading, the second heading would appear between the red boxes. Most likely, we want the next heading to be aligned all the way to the left. To accomplish that, we’d need to clear the floats.

The simplest way to clear the floats in this example is to add the clear property to the new heading we want to be sure is aligned left:

However, this method only works if there are no other elements within the same block formatting context (en-US) that we do want the heading to continue to appear next to horizontally. If our H2 has siblings which are a sidebars floated to the left and right, using clear will force it to appear below both sidebars, which is probably not what we want.

If clearing floats on an element below them is not an option, another approach is to limit the block formatting context of the floats’ container. Referring to the example above again, it appears that all three red boxes are within a P element. We can set the overflow property on that P to hidden or auto to cause it to expand to contain them, but not allow them to drop out the bottom of it:

Источник

Свойство float

Свойство float в CSS занимает особенное место. До его появления расположить два блока один слева от другого можно было лишь при помощи таблиц. Но в его работе есть ряд особенностей. Поэтому его иногда не любят, но при их понимании float станет вашим верным другом и помощником.

Как работает float

При применении этого свойства происходит следующее:

Исключением являются некоторые редкие display наподобие inline-table и run-in (см. Relationships between „display“, „position“, and „float“)

Вертикальные отступы margin элементов с float не сливаются с отступами соседей, в отличие от обычных блочных элементов.

Это пока только теория. Далее мы рассмотрим происходящее на примере.

Текст с картинками

Например, вот страница о Винни-Пухе с картинками, которым поставлено свойство float :

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Её HTML-код выглядит примерно так:

Посмотрим, например, как выглядело бы начало текста без float:

При float:left – всё то же самое, только IMG смещается влево (или не смещается, если он и так у левого края), а строки – обтекают справа

Чтобы это увидеть, добавим параграфам фон и рамку, а также сделаем изображение немного прозрачным:

Блок с float

Свойство float можно поставить любому элементу, не обязательно картинке. При этом элемент станет блочным.

Посмотрим, как это работает, на конкретной задаче – сделать рамку с названием вокруг картинки с Винни.

Источник

Подробно о свойстве float

Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.
Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Что такое float?

Некоторые элементы в CSS являются блочными и поэтому начинаются с новой строки. Например, если расположить два абзаца с тегами P, то они будут находиться друг под другом. Другие же элементы являются «строчными», т.е. отображаются на странице в одну строку.

Один из способов переназначить элементам тип обтекания — это использование свойства float. Классический пример — использование float для выравнивания картинки по левому или правому краю. Вот простой HTML-код картинки и абзаца:

Они отображаются с новой строки:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Добавляем немного CSS картинке:

Получается выравнивание по правому краю:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Если текста больше, то абзац будет обтекать картинку:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Допустим, нам нужно сделать отступ в 20 пикселей между картинкой и текстом. Вот такая конструкция работать не будет:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Почему же не работает отступ для абзаца? Чтобы разобраться, добавим рамку:

Результат может вас удивить:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Оказывается, картинка находится внутри абзаца! Поэтому и не работает свойство margin в первом случае. Чтобы исправить это, можно применить float:left к абзацу и указываем абсолютную ширину:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Странные правила float

Перейдем к более сложным вариантам использования float: к правилам, регулирующим плавающие объекты. Это бывает необходимо при верстке галереи изображений. Например:

По умолчанию каждый элемент списка появится с новой строки. Если применить к каждому float:left, изображения встанут в один ряд с переносом строки:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Но что, если изображения разной высоты?

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Если мы добавим элементам списка отображение в одну строку, получится немного симпатичнее:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

А теперь выравниваем по вертикали:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Следует помнить, что в случае большей высоты картинок, остальные изображения обтекают только одно предыдущее, например:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Пример изменения очередности элементов — например, у нас есть список элементов по порядку:

Если мы хотим расположить их в обратном порядке, просто применяем float:right вместо float:left, и не придется менять порядок в HTML:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

С помощью float удобно группировать элементы на странице, но большой проблемой становится то, что последующие элементы (текст или блок) также получают свойство обтекания. Например, у нас есть блок картинок:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Текст под ним начинает обтекать весь блок:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Чтобы избежать этого, необходимо использовать свойство clear. Если применим его ко второму изображению:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

В этом случае остальные изображения продолжают наследовать float:left. Соответсвенно текст будет отображаться коряво:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Нужно применить clear:both к абзацу:

Наша проблема решена:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Теперь предположим, что нам необходимо установить фон для галереи из предыдущих примеров. Если бы элементы были не плавающими, то получилось бы вот, что:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Но если элементам списка применить float:left, фон совсем пропадает:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Если мы сначала устанавливаем высоту для UL:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Это тоже не решает проблему, т.к. размеры фона заданы абсолютно. Нам поможет класс clearfix, который будет применен к div на том же уровне, что и элементы UL.

Существует еще одно решение, с использованием overflow:

Float html что это. Смотреть фото Float html что это. Смотреть картинку Float html что это. Картинка про Float html что это. Фото Float html что это

Девять правил float-элементов:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *