САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

CSS Учебник

CSS Главная CSS Введение CSS Синтаксис CSS Инструкции CSS Цвета CSS Слои Фона CSS Границы CSS Поля CSS Отступы CSS Высота и ширина CSS Бокс модель CSS Контур CSS Текст CSS Шрифты CSS Иконки CSS Ссылки CSS Списки CSS Таблицы CSS Дисплей CSS Макс. ширина CSS Позиция CSS Переполнение CSS Поплавок CSS Линейный блок CSS Выравнивание CSS Комбинаторы CSS Псевдо-классы CSS Псевдо-элементы CSS Прозрачность CSS Панель навигации CSS Выпадающий CSS Галерея CSS Спрайты CSS Атрибуты селекторов CSS Формы CSS Счетчики CSS Макет сайта CSS Еденицы измерений CSS Особенности

CSS3 Учебник

CSS3 Закругленные углы CSS3 Границы CSS3 Слои фона CSS3 Цвета CSS3 Градиент CSS3 Тени CSS3 Эффект текста CSS3 Веб шрифты CSS3 2D трансформация CSS3 3D трансформация CSS3 трансформация CSS3 Анимация CSS3 Подсказки CSS3 Стиль изображения CSS3 Объект-подгонка CSS3 Кнопки CSS3 Пагинация CSS3 Несколько столбцов CSS3 Интерфейс CSS3 Переменные CSS3 Бокс размеры CSS3 Гибкий бокс CSS3 Медиа запросы CSS3 Медиа примеры

CSS3 Адаптивный дизайн

Введение Область просмотра Вид сетки Медиа запросы Изображения Видео Фреймворк Шаблоны

CSS Сетка

Сетка Введение Сетка Контейнер Сетка Пункт

CSS Примеры

CSS Макеты CSS Примеры CSS Викторина CSS Упражнения CSS Сертификат

CSS Справочники

CSS Справочник CSS Поддержка CSS Селекторы CSS Функции CSS Звук CSS Веб Шрифты CSS Анимации CSS Длины CSS PX-EM Конвертер CSS Цвета CSS Значение Цвета CSS по Умолчанию CSS Символы

СSS3 Адаптивный веб дизайн - Вид сетки



Что такое вид-сетка?

Многие веб страницы основаны на "вид сетки", означает, что страница разделена на столбцы:


Использование табличного представления очень полезно при проектировании веб страниц. Это упрощает размещение элементов на странице.


Отзывчивый вид сетки имеет 12 столбцов, общая ширина 100 пикселей, и она будет сокращаться и расширяться по мере изменения размера окна браузера.

Пример: Адаптивный Вид Сетки


Построение адаптивного вида сетки

Давайте начнем строить отзывчивый вид сетки.

Сначала убедитесь, что все HTML-элементы имеют свойство box-sizing установлено значение border-box. Это гарантирует, что отступы и границы включены в общую ширину и высоту элементов.

Добавьте следующий код в CSS:

* {
    box-sizing: border-box;
}

Подробнее о свойствах box-sizing в нашей главе CSS3 Размеры Бокса.

В следующем примере показана простая адаптивная веб страница с двумя столбцами:

25%
75%

Пример

.menu {
    width: 25%;
    float: left;
}
.main {
    width: 75%;
    float: left;
}
Редактор кода »

Приведенный выше пример подходит, если веб страница содержит только два столбца.

Тем не менее, мы хотим использовать отзывчивый вид сетки с 12 столбцами, чтобы иметь больше контроля над веб страницей.

Сначала мы должны вычислить процент для одного столбца: 100 процентов / 12 столбцов = 8.33 процентов.

Тогда мы сделаем отдельный класс для каждого из 12 столбцов, class="col-" и номер определит количество столбцов в разделе:

CSS:

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
Редактор кода »

Все эти столбцы должны плавать влево и иметь отступ 15 пикслей:

CSS:

[class*="col-"] {
    float: left;
    padding: 15px;
    border: 1px solid red;
}

Каждая строка должна быть обернута в <div>. Количество колонок внутри строки всегда должна быть до 12:

HTML:

<div class="row">
  <div class="col-3">...</div> <!-- 25% -->
  <div class="col-9">...</div> <!-- 75% -->
</div>

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

CSS:

.row::after {
    content: "";
    clear: both;
    display: table;
}

Мы также хотим добавить некоторые стили и цвета, чтобы сделать его лучше:

Пример

html {
    font-family: "Lucida Sans", sans-serif;
}
.header {
    background-color: #9933cc;
    color: #ffffff;
    padding: 15px;
}
.menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.menu li {
    padding: 8px;
    margin-bottom: 7px;
    background-color :#33b5e5;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}
.menu li:hover {
    background-color: #0099cc;
}
Редактор кода »

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