—»     —»   Как использовать CSS3-колонки
  Раздел: CSS/Style Sheets   Нет комментариев  

Как использовать CSS3-колонки

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

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

Кроме того, CSS3 предоставляет отличные запасные варианты на случай, когда пользователь использует, к примеру, Netscape Navigator – верстка вашего сайта по-прежнему будет выглядеть замечательно.

Как использовать CSS3-колонки

Браузерная поддержка

Важно отметить, что, несмотря на то, что практически все современные браузеры поддерживают множественные колонки на CSS3 (да-да, даже IE10), многие предыдущие браузеры вроде IE9 не предоставляют такой поддержки. Хотя поддержка довольно хорошая, вам, возможно, придется использовать браузерные префиксы для webkit (-webkit-) и mozilla (-moz-). Тем не менее, вам не придется использовать -ms- или -o- для IE и Opera, так как они оснащены либо полной поддержкой, либо частичной.

Как использовать CSS3-колонки

Параметры

Данное CSS-свойство дает вам довольно много параметров контроля над тем, как ваш контент выводится в окне браузера, и давайте познакомимся с этими параметрами:

* column-count: здесь вы можете указать количество колонок, которое должно быть отображено в элементе.
* column-width: ширина отдельной колонки. Будьте готовы к тому, что иногда браузеры самостоятельно изменяют это значение.
* column-gap: ширина бороздки между колонками.
* column-rule-width: это нечто вроде границ ваших колонок, и здесь вам нужно указать ширину именно границы.
* column-rule-style: тоже что-то вроде границы, если вам потребуется выставить стиль.
* column-rule-color: этот параметр нужен для указания цвета.
* column-span: это значение сообщает браузеру о том, сколько колонок вы хотите объединить – его хорошо использовать для заголовков, и работает оно как colspan и rowspan в таблицах.

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

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

/* This will produce a 3 column layout with a gap of 20px between each column */
.cols3 {
column-count: 3;
column-gap: 20px;
}

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

/* This will produce a 3 column layout and a gap of 20px between each column and a rule of 1px solid black */
.cols3 {
column-count: 3;
column-gap: 20px;
column-rule-width: 1px;
column-rule-style: solid;
column-rule-color: #000;
}

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

.cols3 {
column-count: 3;
column-gap: 20px;
column-rule: 1px solid #000;
}

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

/*This h1 will take up the space of the 3 columns*/
.cols3 h1{
column-span: all;
}

Вы можете применить этот метод практически к любому HTML-коду, от отдельного абзаца до нескольких 'div'-элементов. Давайте рассмотрим демо:

А сейчас хотим предложить вам завершенный код данного эффекта:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CSS3 column demo</title>
<style type='text/css'>

.cols3 {
-webkit-column-count: 3;
-webkit-column-gap: 20px;
-webkit-column-rule: 1px solid #000;

-moz-column-count: 3;
-moz-column-gap: 20px;
-moz-column-rule: 1px solid #000;

column-count: 3;
column-gap: 20px;
column-rule: 1px solid #000;
}

.cols3 h1 {
-webkit-column-span:all;
-moz-column-span:all;
column-span:all;
}

</style>
</head>
<body>

<div class='cols3'>

<h1>Integer posuere erat a ante</h1>

<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean lacinia bibendum nulla sed consectetur.</p>

<p>Cras mattis consectetur purus sit amet fermentum. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Etiam porta sem malesuada magna mollis euismod. Etiam porta sem malesuada magna mollis euismod. Nullam quis risus eget urna mollis ornare vel eu leo. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>

<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam quis risus eget urna mollis ornare vel eu leo. Aenean lacinia bibendum nulla sed consectetur.</p>

<p>Curabitur blandit tempus porttitor. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur. Donec id elit non mi porta gravida at eget metus. Curabitur blandit tempus porttitor.</p>

</div>
</body>
</html>

Завершение

Переход на создание колонок при помощи CSS, на наш взгляд, дает нам множество преимуществ – нам больше не нужно производить какие-то математические вычисления, создавать плавающие элементы, и не нужно терпеть преломление контента, когда пользователи изменяют размеры окна браузера. Вы также можете создавать код в более семантической манере и, так как данный метод поддерживается всеми современными браузерами, вы можете уже сегодня переходить на него.

Стилизуете ли вы колонки при помощи CSS3, или до сих пор используете плавающие элементы и позиционирование? Какие методы вы используете, чтобы обойти проблемы, возникающие в старых браузерах? Поделитесь с нами в комментариях.
Обнаружили ошибку или мёртвую ссылку?
Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса.
Нужна органическая вечная ссылка из данной статьи? Постовой?
Подробности здесь
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

Ключевые тэги: CSS
Опубликовал Design FactoRy   Прочитано (раз): 8161   |   Нет комментариев
Автор перевода — CoolWebmasters.Com ©   |   Источник материала / оригинал статьи   Распечатать
Другие статьи и новости по теме:
Добавление комментария
Уважаемые пользователи!
При добавлении комментариев на сайт Вам следует учитывать следующее - все комментарии проверяются Администрацией на предмет отсутствия спама. При обнаружении признаков спама, в оставленном Вами комментарии, сам комментарий будет незамедлительно удалён, а Ваш IP-адрес будет забанен без предупреждения! Учётные записи пользователей, рассылающих спам, блокируются/удаляются без права последующего восстановления.

С уважением, Администрация сайта.
* = поля обязательны к заполнению
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос : Национальная денежная единица России
Подтверждение кода безопасности :

Включите эту картинку для отображения кода безопасности
обновить, если не виден код


Спонсоры проекта
Баннер в сайдбаре 1 (сквозной)
Баннер в сайдбаре 2 (сквозной)
Спонсоры проекта
Баннер в сайдбаре 3 (сквозной)
Баннер в сайдбаре 4 (сквозной)
Популярные публикации







Свежие шаблоны сайтов каждый день
С миру по нитке
«    Март 2024    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
25262728293031