Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Поля плавающих элементов





Теперь посмотрим, что можно делать с полями плавающих элементов.

1. Прежде всего, удалите временное правило для элементов span, которое было добавлены ранее, а затем сохраните и обновите, чтобы три плавающих элемента снова оказались рядом в одной строке. Другими словами, удалите правило:

span { width: 34%;}

Теперь плавающие элементы тесно соединены вместе, и смежный текст начинается сразу после последнего плавающего элемента (если только вы не используете Microsoft Internet Explorer 6 или более старый, в этому случае появляется 3-пиксельный зазор справа в связи с трех-пиксельной ошибкой соединения). Как можно создать некоторое пространство вокруг плавающего бокса? Ответом будут поля!

2. Давайте сделаем это на среднем плавающем элементе - измените правило CSS для среднего плавающего элемента следующим образом, затем сохраните и обновите:

#span-b { float: left; background-color: #ccf; color: #003; padding: 1em; margin-left: 1em; margin-right: 1em;}

Ага, теперь появилось некоторое пространство по обеим сторонам среднего плавающего элемента.

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

#span-c { float: left; background-color: #fcc; color: #300; padding:2em 1em; margin-top: 2em; margin-bottom: 2em;}

Это заставляет третий плавающий элемент переместиться вниз, и также имеется некоторое дополнительное пространство ниже его.

4. Так как мы занимаемся экспериментами, давайте посмотрим, что произойдет, если мы зададим отрицательные поля! Сделайте следующие изменения в правиле для третьего плавающего элемента, затем сохраните и обновите:

#span-c { float: left; background-color: #fcc; color: #300; padding:2em 1em; margin-top: 2em; margin-bottom: 2em; margin-left: -4em;}

Вы увидите теперь вывод, показанный на рис. 35.4.




Рис. 35.4. Теперь плавающие элементы перекрывают друг друга!

Как насчет этого, а? Кто сказал, что плавающие элементы не могут появляться поверх других плавающих элементов? Обратите внимание, как отрицательное левое поле смещает весь плавающий элемент влево. Использование отрицательных полей на плавающих элементах может быть очень полезно в некоторых типах много-столбцовых компоновок.

Очистка

Теперь, после рассмотрения основ плавающих элементов, мы переходим к тесно связанной теме очистки.Как вы видели в примерах в этой статье, текст будет обтекать вокруг плавающего элемента, а блочные боксы не затрагиваются плавающими элементами. Иногда желательно гарантировать, что элемент не заканчивается рядом с плавающим элементом. Например, заголовок, который вводит новый раздел статьи, не должен появляться рядом с изображением из предыдущего раздела. Значительно лучше если заголовок появится ниже изображения, даже если изображение высовывается ниже последнего параграфа. Единственным способом сделать это является использование свойства clear на заголовке.

Другим примером является повсеместно распространенная трех-столбцовая компоновка с нижним колонтитулом во всю ширину. Если столбцы являются плавающими, свойство clear используется на нижнем колонтитуле, чтобы гарантировать, что он появится ниже всех столбцов -- независимо от того, какой из столбцов окажется самым длинным.Свойство clear имеет три используемых значения: left, right и both. Также допустимыми значениями являются значения none (поумолчанию) и inherit.Использование на каком-то элементе свойства clear:left означает, что сгенерированный им бокс гарантированно появится ниже всех предыдущих плавающих боксов с левой стороны. Если используется clear:both, то элемент появится ниже всех предыдущих плавающих элементов с обеих сторон.Очистка достигается смещением элемента вниз (над его верхним полем добавляется пустое место), если потребуется, пока его верхний край не будет ниже всех плавающих боксов в указанном направлении. Давайте рассмотрим пример с целью дополнительной иллюстрации.

1. Прежде чем делать это, давайте изменим таблицу стилей. Удалите правила для #span-b и #span-c, так чтобы слева остался только зеленый плавающий элемент. Проверьте, что его нижнее заполнение достаточно большое, чтобы распространиться на второй параграф.

2. Добавьте следующее правило для второго параграфа, затем сохраните и обновите:

#p2 { clear: left;}

Видите! Второй параграф смещается вниз, пока не освободится полностью от плавающего элемента, как видно на рис. 35.5.


Рис. 35.5. Второй параграф теперь смещен ниже первого

Чтобы еще больше все запутать, можно использовать float и clear в одном элементе.

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

#span-b { float: left; clear: left; padding: 1em; background-color: #ccf; color: #003;}

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









ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2021 zdamsam.ru Размещенные материалы защищены законодательством РФ.