Позиционирование элементов в Bootstrap
Позиционирование элементов
Последнее обновление: 31.10.2015
При использовании Bootstrap очень удобно позиционировать интерфейс в виде таблицы или сетки, используя строки и столбцы. Так, если мы посмотрим в браузере на стандартное представление Index.cshtml, которое идет по умолчанию, то мы увидим подобное позиционирование: элементы под заголовком расположены как бы в три столбца и составляют одну строку:
Если мы откроем код представления, то мы можем увидеть использование классов bootstrap:
<div> <div> <h3>Getting started</h3> <p>.............</p> </div> <div> <h3>Get more libraries</h3> <p>.............</p> </div> <div> <h3>Web Hosting</h3> <p>.............</p> </div> </div>
Для создания отдельного столбца строки используется класс col-md-4
. col
, как ясно из названия, обозначает столбец.
Дальше идет md
— идентификатор устройства. Как мы увидели в прошлой теме, bootstrap делит все устройства условно на четыре группы в зависимости от
ширины экрана. md, в частности, соотносится со средними устройствами (то есть которые имеют ширину от 992 пикселя и выше). А число 4 указывает, сколько условных
единиц в строке будет занимать данный блок. Таким образом, получается, что класс col-md-4
означает, что данный блок будет занимать 4 условных единицы из 12 в строке, то есть треть ширины
экрана устройства с экраном шириной от 992 пикселей.
И поскольку у нас есть четыре группы, то для каждой группы имеются свои классы. Например, для очень маленьких устройств с экраном меньше 768 пикселей (то есть мобильных телефонов), подобный класс мог бы быть таким col-xs-4.
Все типы классов:
col-xs-*: для устройств с шириной экрана меньше 768 пикселей
col-sm-*: для устройств с шириной экрана от 768 пикселей и выше
col-md-*: для устройств с шириной экрана от 992 пикселя и выше
col-lg-*: для устройств с шириной экрана от 1200 пикселей и выше
Хотя даже на мобильных устройствах блок с классом col-md-4
будет выглядеть вполне неплохо, но мы можем установить сразу два класса,
чтобы еще больше детализировать отображение на различных устройствах, например:
<div>
И хотя в представлении Index.cshtml по умолчанию все три блока имеют относительную ширину в 4 единицы, составляя в целом 12 единиц, мы можем задать любую другую ширину, позиционируя их по собственному усмотрению. Например:
Отступы
Специальные классы col-md(sm|lg)-offset-*
позволяют задать смещение относительно левого блока или начала строки в условных единицах.
Например, у нас есть такая строка:
<div> <div> <h3>Левый блок</h3> <p>................</p> </div> <div> <h3>Правый блок</h3> <p>................</p> </div> </div>
Класс col-md-offset-4
будет смещать правый блок на 4 условных единицы вправо:
Некоторые примеры по использованию смещения:
Порядок столбцов
С помощью классов col-md(sm|lg)-push-*
и col-md(sm|lg)-pull-*
мы можем переопределить порядок блоков в строке.
Например, класс col-md-push-4
сдвигает блок на четыре единицы вправо от текущего положения. И наоборот, класс col-md-pull-4
сдвигает блок влево от текущей позиции. Так, предыдущий пример со смещением мы могли бы переписать следующим образом:
<div> <div> <h3>Левый блок</h3> <p>................</p> </div> <div> <h3>Правый блок</h3> <p>................</p> </div> </div>
И у нас был бы тот же эффект. Но мы можем также полностью переупорядочить порядок следования блоков:
<div> <div> <h3>Левый блок</h3> <p>................</p> </div> <div> <h3>Правый блок</h3> <p>................</p> </div> </div>
Теперь правый блок сместится влево на четыре единицы, а левый блок — вправо на 8 единиц:
Таким образом, используя класс row и классы столбцов, мы можем задать общее расположение элементов, а адаптивность bootstrap гарантирует, что на любых устройствах подобная сетка элементов будет выглядеть вполне нормально. Теперь рассмотрим некоторые компоненты, которые предлагает нам Bootstrap.
Bootstrap 3 — Сетка | ИТ Шеф
- Статьи
- Видеоуроки
- Таймлайн
- Вопросы
- Поиск
-
- Войти
- Регистрация
HTML & CSS- JavaScript
- Bootstrap
При работе с bootstrap 3 я использую позиционирование сеткой (таблицей), об этом в начале статьи.
А в bootstrap 4 используется новый режим flexbox, но основные приёмы работы с сеткой остались с небольшими изменениями об этом в середине статьи.
Код скрина выше выглядит следующим образом:
<div> <div> <div> <div> <h5>DESIGN</h5> <p>…</p> </div> </div> <div> <div> <h5>REENGINEERING</h5> <p>…</p> </div> </div> </div> <div> <div> <div> <h5>SUPPORT</h5> <p>…</p> </div> </div> <div> <div> <h5>INSTRUMENTS</h5> <p>…</p> </div> </div> </div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<div> <div> <div> <div> <h5>DESIGN</h5> <p>…</p> </div> </div> <div> <div> <h5>REENGINEERING</h5> <p>…</p> </div> </div> </div> <div> <div> <div> <h5>SUPPORT</h5> <p>…</p> </div> </div> <div> <div> <h5>INSTRUMENTS</h5> <p>…</p> </div> </div> </div> </div> |
- Класс row
- Строка в bootstrap содержит максимум 12 столбцов;
- Класс col-ml-4 задает столбец строки, где
- col (column) — столбец строки;
- md — идентификатор устройства, bootstrap разделил все устройства на 4 группы в зависимости от ширины экрана;
- 4 — количество условных единиц(столбцов) ширины будет занимать блок, из 12. То есть div с классом col-ml-4 займет 1/3 ширины экрана устройства шириной от 992 пикселей;
Типы классов устройств
- col-xs-*: для устройств с шириной экрана меньше 768 пикселей;
- col-sm-*: для устройств с шириной экрана от 768 пикселей и выше;
- col-md-*: для устройств с шириной экрана от 992 пикселя и выше;
- col-lg-*: для устройств с шириной экрана от 1200 пикселей и выше;
Как видно из примера выше я использовал сразу три класса одновременно для более детального отображения на различных устройствах
<div>
<div> |
Так же как видно из кода я использовал разные значения столбцов для разных устройств — главное что бы в общем было 12 единиц. Мы можем задавать любую другую ширину для каждого устройства:
Отступы
Классы col-md(sm|lg)-offset-* задают смещение относительно левого блока или начала строки в условных единицах
<div> <div> <h3>Левый блок</h3> <p>…</p> </div> <div> <h3>Правый блок</h3> <p>…</p> </div> </div>
<div> <div> <h3>Левый блок</h3> <p>…</p> </div> <div> <h3>Правый блок</h3> <p>…</p> </div> </div> |
Класс col-md-offset-4 будет смещать правый блок на 4 условных единицы вправо:
Некоторые примеры по использованию смещения:
Порядок столбцов
С помощью классов col-md(sm|lg)-push-* и col-md(sm|lg)-pull-* мы можем переопределить порядок блоков в строке. Например, класс col-md-push-4 сдвигает блок на четыре единицы вправо от текущего положения. И наоборот, класс col-md-pull-4 сдвигает блок влево от текущей позиции. Так, предыдущий пример со смещением мы могли бы переписать таким способом:
<div> <div> <h3>Левый блок</h3> <p>…………….</p> </div> <div> <h3>Правый блок</h3> <p>…………….</p> </div> </div>
<div> <div> <h3>Левый блок</h3> <p>…………….</p> </div> <div> <h3>Правый блок</h3> <p>…………….</p> </div> </div> |
Либо изменить порядок следования блоков и получить тот же результат
<div> <div> <h3>Левый блок</h3> <p>…………….</p> </div> <div> <h3>Правый блок</h3> <p>…………….</p> </div> </div>
<div> <div> <h3>Левый блок</h3> <p>…………….</p> </div> <div> <h3>Правый блок</h3> <p>…………….</p> </div> </div> |
в последнем примере правый блок сместится влево на четыре единицы, а левый блок — вправо на 8 единиц.
Режим flexbox позволяет макету автоматически вычислять размер каждой колонки.
<div> <div> <div> половина </div> <div> половина </div> </div> <div> <div> Одна третья </div> <div> Одна третья </div> <div> Одна третья </div> </div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<div> <div> <div> половина </div> <div> половина </div> </div>
<div> <div> Одна третья </div> <div> Одна третья </div> <div> Одна третья </div> </div> </div> |
Безразмерные колонки в сетке flexbox будут поровну делить доступное пространство, всегда заполняя весь ряд.
Можно указать размер для одной колонки, а остальные колонки равномерно распределят оставшееся пространство между собой. Укажем размер у среднего блока. Остальные распределятся поровну.
<div> <div> <div> (12 — 6) / 2 = 3 </div> <div> 6 колонок </div> <div> (12 — 6) / 2 = 3 </div> </div> <div> <div> </div> <div> 5 колонок </div> <div> </div> </div> <div> <div> </div> <div> 4 колонки </div> <div> </div> </div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<div> <div> <div> (12 — 6) / 2 = 3 </div> <div> 6 колонок </div> <div> (12 — 6) / 2 = 3 </div> </div>
<div> <div>
</div> <div> 5 колонок </div> <div>
</div> </div>
<div> <div>
</div> <div> 4 колонки </div> <div>
</div> </div> </div> |
Используя классы col-{breakpoint}-auto, можно создать блок, размер которого будет определяться его содержимым. Также для блока можно задать классы горизонтального выравнивания. В этом случае общий ряд будет сжат до необходимых размеров.
<div> <div> <div> 1 of 3 </div> <div> Слово </div> <div> 3 of 3 </div> </div> <div> <div> 1 of 3 </div> <div> Два слова </div> <div> 3 of 3 </div> </div> <div> <div> 1 of 3 </div> <div> Здесь три слова </div> <div> 3 of 3 </div> </div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<div> <div> <div> 1 of 3 </div> <div> Слово </div> <div> 3 of 3 </div> </div>
<div> <div> 1 of 3 </div> <div> Два слова </div> <div> 3 of 3 </div> </div>
<div> <div> 1 of 3 </div> <div> Здесь три слова </div> <div> 3 of 3 </div> </div> </div> |
Можно оставить стандартное поведение, не сжимая общую ширину.
<div> <div> <div> 1 of 3 </div> <div> Два слова </div> <div> 3 of 3 </div> </div> </div>
<div> <div> <div> 1 of 3 </div> <div> Два слова </div> <div> 3 of 3 </div> </div> </div> |
Вы можете использовать опорные точки для точного задания размеров колонок. В остальных случаях можно ограничиться классами col и col-*.
<div> <div>col</div> <div>col</div> <div>col</div> <div>col</div> </div> <div> <div>col-8</div> <div>col-4</div> </div>
<div> <div>col</div> <div>col</div> <div>col</div> <div>col</div> </div> <div> <div>col-8</div> <div>col-4</div> </div> |
Из стопки в ряд
Используя классы col-sm-*, вы можете создать базовую сеточную систему, которая разместит блоки в виде стопки на телефонах, а затем будет выводить блоки в один ряд.
<div> <div>col-sm-8</div> <div>col-sm-4</div> </div> <div> <div>col-sm</div> <div>col-sm</div> <div>col-sm</div> </div>
<div> <div>col-sm-8</div> <div>col-sm-4</div> </div> <div> <div>col-sm</div> <div>col-sm</div> <div>col-sm</div> </div> |
Смешиваем все классы
Можете комбинировать все классы, как вам нужно.
<!— Stack the columns on mobile by making one full-width and the other half-width —> <div> <div>.col .col-md-8</div> <div>.col-6 .col-md-4</div> </div> <!— Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop —> <div> <div>.col-6 .col-md-4</div> <div>.col-6 .col-md-4</div> <div>.col-6 .col-md-4</div> </div> <!— Columns are always 50% wide, on mobile and desktop —> <div> <div>.col-6</div> <div>.col-6</div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<!— Stack the columns on mobile by making one full-width and the other half-width —> <div> <div>.col .col-md-8</div> <div>.col-6 .col-md-4</div> </div>
<!— Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop —> <div> <div>.col-6 .col-md-4</div> <div>.col-6 .col-md-4</div> <div>.col-6 .col-md-4</div> </div>
<!— Columns are always 50% wide, on mobile and desktop —> <div> <div>.col-6</div> <div>.col-6</div> </div> |
Вертикальное выравнивание
Flexbox дает два способа вертикального позиционирования колонок.
Выравниваем колонки внутри ряда относительно верха, середины, низа, если позволяет высота. Указываем у row классы flex-items-xs-start, flex-items-xs-center, flex-items-xs-end.
<div> <div> <div> По верху </div> <div> По верху </div> <div> По верху </div> </div> <div> <div> По центру </div> <div> По центру </div> <div> По центру </div> </div> <div> <div> По низу </div> <div> По низу </div> <div> По низу </div> </div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<div> <div> <div> По верху </div> <div> По верху </div> <div> По верху </div> </div> <div> <div> По центру </div> <div> По центру </div> <div> По центру </div> </div> <div> <div> По низу </div> <div> По низу </div> <div> По низу </div> </div> </div> |
Также можно выровнять колонки внутри одного ряда относительно друг друга, если колонки будут использовать классы align-self-start, align-self-center, align-self-end.
<div> <div> <div> One of three columns </div> <div> One of three columns </div> <div> One of three columns </div> </div> </div>
<div> <div> <div> One of three columns </div> <div> One of three columns </div> <div> One of three columns </div> </div> </div> |
Горизонтальное выравнивание
Создаём блоки, размер которых меньше 12 колонок. Дальше управляем их выравниванием из-за свободного места, указывая у ряда row классы justify-content-start, justify-content-center, justify-content-end. Также обратите внимание на классы justify-content-around, justify-content-between, которые окружают свободно место.
<div> <div> <div> По левому краю </div> <div> По левому краю </div> </div> <div> <div> По центру </div> <div> По центру </div> </div> <div> <div> По правому краю </div> <div> По правому краю </div> </div> <div> <div> Around </div> <div> Around </div> </div> <div> <div> Between </div> <div> Between </div> </div> </div>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<div> <div> <div> По левому краю </div> <div> По левому краю </div> </div>
<div> <div> По центру </div> <div> По центру </div> </div>
<div> <div> По правому краю </div> <div> По правому краю </div> </div>
<div> <div> Around </div> <div> Around </div> </div>
<div> <div> Between </div> <div> Between </div> </div> </div> |
Промежутки
Используйте класс .no-gutters, чтобы убрать промежутки между блоками. Класс удаляет отрицательные margins из .row и горизонтальные padding из всех дочерних колонок.
Сортировка колонок
В обычной системе сеток, если нам необходимо поменять порядок колонок, нам нужно использовать push и pull.
Разработчики Bootstrap реализовали встроенное свойство flexbox order на основе трех классов сортировки, которые применим к колонкам col:
- .flex-first – отображается первым
- .flex-last – отображается последним
- .flex-unordered – отображается между первым и последним
<div> <div> <div> Первый, но не первый и не последний </div> <div> Второй, но последний </div> <div> Третий, но первый </div> </div> </div>
<div> <div> <div> Первый, но не первый и не последний </div> <div> Второй, но последний </div> <div> Третий, но первый </div> </div> </div> |
Смещение колонок
Для сдвига колонок вправо используйте .offset-md-*, которые увеличивают левый отступ на * колонок. Например, .offset-md-4 сдвигает на четыре колонки.
<div> <div> <div>.col-md-4</div> <div>.col-md-4 .offset-md-4</div> </div> <div> <div>.col-md-3 .offset-md-3</div> <div>.col-md-3 .offset-md-3</div> </div> <div> <div>.col-md-6 .offset-md-3</div> </div> </div>
<div> <div> <div>.col-md-4</div> <div>.col-md-4 .offset-md-4</div> </div> <div> <div>.col-md-3 .offset-md-3</div> <div>.col-md-3 .offset-md-3</div> </div> <div> <div>.col-md-6 .offset-md-3</div> </div> </div> |
Таким образом, используя класс row и классы столбцов, мы можем задать общее расположение элементов, а адаптивность bootstrap гарантирует, что на любых устройствах подобная сетка элементов будет выглядеть вполне нормально.
https://v4-alpha.getbootstrap.com/utilities/flexbox/ http://webmaster.alexanderklimov.ru/pagemaker/bootstrap/flexbox.php
https://v4-alpha.getbootstrap.com/utilities/flexbox/ http://webmaster.alexanderklimov.ru/pagemaker/bootstrap/flexbox.php |
Bootstrap сетка за 15 минут
Bootstrap является сейчас самым используемым фреймворком. Когда он только появился, он стал отличным выбором как для разработчиков сайтов так и для любителей, благодаря своей простоте.
Любой человек который знает, хотя бы в общих чертах, HTML и CSS может начать использовать данный фреймворк уже сейчас.
В данной статье рассмотрим такое базовое понятие как, bootstrap сетка — она является фундаментом данного фреймворка.
1. Rows и Columns
Часть заголовка я специально оставил на английском языке, чтобы возникало меньше путаницы (rows — ряды, columns — колонки)
Сетка состоит и строк и колонок, что позволяет на позиционировать элементы на странице как угодно.
Rows (ряды) — это один уровень блоков. Это означает, что когда мы создаем новый ряд (row) он занимает всю ширину элемента внутри которого он находится.
Горизонтальное выравнивание осуществляется с помощью колонок (Columns). Дочерними элементами ряда может являться только колонка. Размещение контента в row без колонки — может привести к нарушению макета
<!-- Не правильно-->
<div>
Ваш контент
</div>
<!-- Правильно-->
<div>
<div>Правильно размещенный контент</div>
</div>
Замечание: Колонки и ряды имеют особые отношения. Каждая колонока имеют отступ — padding — в 15px слева и справа, таким образом контент внутри имеет равные отступы по краям. Такие правила «отодвигают» колонки от ряда на 15px , а это может нарушить макет, чтобы этого не происходило для row заданы отрицательные отступы что позволяет размещать крайние элементы без отступов от родителя, и именно поэтому колонку всегда следует оборачивать в row.
2. Row разделены 12
Ряд поделен на 12 равных частей. Когда мы собираемся разместить внутри ряда колонку — нам необходимо указать ее ширину — ширину которую займет колонка. Это делается путем добавления в блоку div класса col-md-номер , где номер может быть целым числом от 1 до 12. В зависимости от данного числа, столбец будет занимать определенный процент от полной щирины строки. Например: 6 это 50% от ширину ряда так как 6/12 = 0,5, 3 — 25% (3/12) и т.д.
<div>
<div>Вся ширина ряда</div>
</div>
<div>
<div>25%</div>
<div>25%</div>
<div>50%</div>
</div>
3. Обертывание колонок
Всегда нужно иметь ввиду тот факт, что в ряду есть только 12 свободных колонок. Если разместить в ряде элементы, которые суммарно превышают 12, то последние неуместившиеся колонки будут перенесены на следующую строку.
В примере первые 2 колонки имеют ширину 8 и 4 соотвественно, что в сумме дает 12. Таким образом первая строка становится заполненной и следующий за ними элемент будет перенесен на следующую строку.
<div>
<div></div>
<div></div>
<div>Эта колонка шириной 9 будет перенесена на следующую строчку</div>
</div>
4. Классы для размеров экрана
Помните мы писали .col-md-номер во втором шаге? Этот -md- означает средние размеры экрана (от слова medium — средние). В bootstrap заложены стандартные классы для использования на разных размерах экрана:
xs — (Extra small) — Экстра маленькие экраны, такие как у смартфонов, Используйте их так: .col-xs-номер
sm — (Small Screens) — Маленькие экраны, такие как у планшетов. Использование: .col-sm-номер
md — (Medium) — Средние размеры экранов, это экраны с низким количеством точек на дюйм и ноутбуки. Использование такое же как и в предыдущих примерах: .col-md-номер
lg — (Large) — Большие экраны с высоким разрешением. .col-lg-номер
Bootstrap высчитывает разрешение экрана и dpi (количество точек на дюйм или плотность пикселей) и в соответствии с этим вычислением указывает какой класс активен в данный момент. Это полноценный способ контролировать как положение, так и отображение контента в целом для любых устройств.
<div>
<div><p>Данный блок на среднем экране займет половину, на очень маленьком - всю ширину</p></div>
<div><p>Данный блок на среднем экране займет половину, на очень маленьком - всю ширину</p></div>
</div>
5. Clearfix
В некоторых случаях бывает так что две колонки планируются разной высоты, и заставить отображаться следующий элемент, который должен быть под ними бывает проблематично. Что бы это предотвратить существует класс clearfix. Он помещает все следующие колонки на новую строку.
<div>
<div>Эта колонка выше чем все остальныне</div>
<div></div>
<div></div>
<div></div>
</div>
6. Offsets (Смещения) — ваши друзья
Изначально все колонки выравнены по левому краю и следуют строго друг за другом. Если количество колонок будет меньше 12, то справа останется свободное место.
Чтобы создать отступы слева и/или справа. Применение к любому блоку с колонкой класса .col-md-offset-2 сместит данный блок вправо на размер двух пустых колонок . Это же правило действует и ля других размеров экрана т.е. col-xs-2, col-sm-2 и прочие .
7. Классы Push и Pull
Классы .push и .pull позволяют нам переназначить привязку блоков в зависимости от экрана устройства. Класс .push двигает колонку к правому краю, а класс .pull — к левому. Отличие данного класса от offset в том что они имеют position:relative, таким образовам не сдвигая остальные блоки.
Классы push и pull имеют следущий синткасис: .col-размер-push(pull)-число. Размеры такие же как и в 4 пункте — xs, sm, md, lg. Номер это количество колонок, которые мы хотим подвинуть.
<div>
<div>На ноутбуках этот текст будет отображаться справа от картинки, на XS экранах картинка будет справа а текст слева</div>
<div><img src="city.jpg"></div>
</div>
Заключение
Вот и все основы, которые необходимо знать, чтобы начать использовать bootstrap сетку в своих проектах. На основе этих семи пунктов вы с легкостью можете сделать разметку для любого мобильного устройства без использования media запросов.
Но помимо данных правил существует еще ряд других, более расширенных,которые также часто используются.. Для их изучение посмотрите на русскоязычный портал о bootstrap http://bootstrap-3.ru/
Bootstrap 4 — Сетка | ИТ Шеф
- Статьи
- Видеоуроки
- Таймлайн
- Вопросы
- Поиск
-
- Войти
- Регистрация
- HTML & CSS
- JavaScript
- Bootstrap
CSS · Bootstrap
Узнайте о ключевых элементах инфраструктуры Bootstrap, включая наш подход к более быстрой, быстрой и сильной веб-разработке.
HTML5 doctype
Bootstrap использует определенные элементы HTML и свойства CSS, которые требуют использования типа документа HTML5. Включите его в начале всех ваших проектов.
...
html>
Мобильный первый
В Bootstrap 2 мы добавили дополнительные мобильные дружественные стили для ключевых аспектов инфраструктуры.С Bootstrap 3 мы с самого начала переписали проект так, чтобы он был мобильным. Вместо добавления дополнительных мобильных стилей, они встроены прямо в ядро. На самом деле, Bootstrap является первым мобильным . Первые стили для мобильных устройств можно найти во всей библиотеке, а не в отдельных файлах.
Для обеспечения правильного рендеринга и масштабирования касанием добавьте метатег области просмотра к вашему
.
Вы можете отключить возможности масштабирования на мобильных устройствах, добавив user-scalable = no
в метатег viewport.Это отключает масштабирование, что означает, что пользователи могут только прокручивать, и в результате ваш сайт будет чувствовать себя немного больше, как нативное приложение. В целом, мы не рекомендуем это на каждом сайте, поэтому будьте осторожны!
Типография и ссылки
Bootstrap устанавливает основные глобальные стили отображения, типографики и ссылок. В частности, мы:
- Установить
цвет фона: #fff;
накузов
- Используйте атрибуты
@ font-family-base
,@ font-size-base
и@ line-height-base
в качестве нашей типографской базы - Установите глобальный цвет ссылки с помощью
@ link-color
и примените подчеркивание ссылки только на: наведите
Эти стили можно найти в лесах .менее
.
Normalize.css
Для улучшения кросс-браузерного рендеринга мы используем Normalize.css, проект Николаса Галлахера и Джонатана Нила.
Контейнеры
Bootstrap требует содержащего элемента, чтобы обернуть содержимое сайта и разместить нашу сеточную систему. Вы можете выбрать один из двух контейнеров для использования в ваших проектах. Обратите внимание, что из-за отступов и
и более ни один контейнер не является вложенным.
Используйте .container
для адаптивного контейнера фиксированной ширины.
...
div> Используйте .container-liquid
для контейнера полной ширины, охватывающего всю ширину вашего окна просмотра.
...
div> Bootstrap включает в себя гибкую мобильную систему первой жидкостной сетки, которая соответствующим образом масштабируется до 12 столбцов по мере увеличения размера устройства или области просмотра. Он включает в себя предопределенные классы для удобных вариантов разметки, а также мощные миксины для создания более семантических разметок.
Введение
Грид-системы используются для создания макетов страниц через ряд строк и столбцов, в которых размещается ваш контент. Вот как работает сеточная система Bootstrap:
- Ряды должны быть размещены в контейнере
.
(фиксированная ширина) или в контейнере .
(полная ширина) для правильного выравнивания и заполнения. - Используйте строки для создания горизонтальных групп столбцов.
- Содержимое должно быть размещено в столбцах, и только столбцы могут быть непосредственными дочерними элементами строк.
- Предопределенные классы сетки, такие как
.row
и .col-xs-4
доступны для быстрого создания сетки. Меньше миксинов также можно использовать для более семантических макетов. - Столбцы создают желоба (промежутки между содержимым столбца) через отступ
. Это заполнение смещается в строках для первого и последнего столбца через отрицательное поле .row
с. - Отрицательная маржа является причиной того, что приведенные ниже примеры устарели. Это так, что содержимое в столбцах сетки выровнено с содержимым, не связанным с сеткой.
- Столбцы сетки создаются путем указания числа двенадцати доступных столбцов, которые вы хотите охватить. Например, три равных столбца будут использовать три
.col-xs-4
. - Если в одной строке размещено более 12 столбцов, каждая группа дополнительных столбцов, как один блок, переносится на новую строку.
- Классы сетки применяются к устройствам с шириной экрана, превышающей или равной размерам точек останова, и переопределяют классы сетки, предназначенные для небольших устройств. Следовательно, е.грамм. применение любого класса
.col-md- *
к элементу повлияет не только на его стиль на средних устройствах, но и на больших устройствах, если класс .col-lg- *
отсутствует.
Посмотрите примеры применения этих принципов в вашем коде.
Мы используем следующие медиазапросы в наших файлах Less, чтобы создать ключевые точки останова в нашей сеточной системе.
/ * сверхмалые устройства (телефоны с разрешением менее 768 пикселей) * /
/ * Нет медиазапроса, так как это значение по умолчанию в Bootstrap * /
/ * Маленькие устройства (планшеты, 768px и выше) * /
@media (min-width: @ screen-sm-min) {...}
/ * Средние устройства (рабочие столы, 992px и выше) * /
@media (min-width: @ screen-md-min) {...}
/ * Большие устройства (большие рабочие столы, 1200px и выше) * /
@media (min-width: @ screen-lg-min) {...}
Мы иногда расширяем эти медиазапросы, чтобы включить max-width
, чтобы ограничить CSS более узким набором устройств.
@media (максимальная ширина: @ screen-xs-max) {...}
@media (min-width: @ screen-sm-min) и (max-width: @ screen-sm-max) {...}
@media (min-width: @ screen-md-min) и (max-width: @ screen-md-max) {...}
@media (min-width: @ screen-lg-min) {...}
Параметры сетки
Посмотрите, как аспекты системы сетки Bootstrap работают на нескольких устройствах с помощью удобной таблицы.
Очень маленькие устройства Телефоны (<768 пикселей) Небольшие устройства Таблетки (≥768px) Средние устройства Рабочие столы (≥992px) Большие устройства Рабочие столы (≥1200 пикселей) Сетка поведения Горизонтально все время Свернуто до начала, горизонтальное положение выше контрольных точек Ширина контейнера Нет (авто) 750px 970px 1170px Префикс класса .col-xs-
.col-sm-
.col-md-
.col-lg-
# столбцов 12 Ширина колонны Авто ~ 62px ~ 81px ~ 97 пикселей Ширина водосточного желоба 30 пикселей (15 пикселей на каждой стороне столбца) Nestable Да Смещения Да Колонка для заказа Да
Пример: с накоплением по горизонтали
Использование одного комплекта .Классы сетки col-md- *
позволяют создать базовую систему сетки, которая вначале размещается на мобильных устройствах и планшетах (от очень маленького до небольшого диапазона), а затем становится горизонтальной на настольных (средних) устройствах. Поместите столбцы сетки в любой .row
.
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
col-md-1
.col-md-1
.col-md-1
.col-md-1
, html — какова цель col-md-offset- *?
Переполнение стека- Товары
- Клиенты
- Случаи использования
- Переполнение стека
Публичные вопросы и ответы
- Команды
Частные вопросы и ответы для вашей команды
- предприятие
Частные вопросы и ответы для вашего предприятия
- работы
Программирование и связанные с ним технические возможности карьерного роста
- Талант
Нанимать технический талант
. CSS · Bootstrap
Узнайте о ключевых аспектах инфраструктуры Bootstrap, включая наш подход к более быстрой, быстрой и сильной веб-разработке.
HTML5 doctype
Bootstrap использует определенные элементы HTML и свойства CSS, которые требуют использования doctype HTML5. Включите его в начале всех ваших проектов.
...
html>
Mobile first
С Bootstrap 2 мы добавили дополнительные мобильные дружественные стили для ключевых аспектов инфраструктуры.С Bootstrap 3 мы с самого начала переписали проект так, чтобы он был мобильным. Вместо добавления дополнительных мобильных стилей, они встроены прямо в ядро. На самом деле, Bootstrap является первым мобильным . Первые стили для мобильных устройств можно найти во всей библиотеке, а не в отдельных файлах.
Для обеспечения правильного рендеринга и масштабирования касанием, добавьте метатег области просмотра к вашему
.
Вы можете отключить возможности масштабирования на мобильных устройствах, добавив user-scalable = no
к мета области просмотра тег.Это отключает масштабирование, что означает, что пользователи могут только прокручивать, и в результате ваш сайт будет чувствовать себя немного больше, как нативное приложение. В целом, мы не рекомендуем это на каждом сайте, поэтому будьте осторожны!
Типография и ссылки
Bootstrap устанавливает основные глобальные отображение, типография и стили ссылок. В частности, мы:
- Установить
цвет фона: #fff;
на корпусе
- Используйте атрибуты
@ font-family-base
, @ font-size-base
и @ line-height-base
в качестве нашей типографской базы - Установите цвет глобальной ссылки с помощью
@ link-color
и применять подчеркивание ссылки только на : hover
Эти стили можно найти в лесах .менее
.
Normalize.css
Для улучшенного кросс-браузерного рендеринга мы используем Normalize.css, проект Николаса Галлахера и Джонатана Нила.
Контейнеры
Bootstrap требуется содержащий элемент для переноса содержимого сайта и размещения нашей грид-системы. Вы можете выбрать один из двух контейнеров для использования в ваших проектах. Обратите внимание, что из-за отступов и
и более ни один контейнер не является вложенным.
Используйте .container
для отзывчивого контейнера фиксированной ширины.
...
div> Используйте .container-liquid
для контейнера полной ширины, охватывающего всю ширину области просмотра.
...
div> Bootstrap включает в себя гибкую мобильную первую сетку с текучей средой, которая соответствующим образом масштабируется до 12 столбцов по мере увеличения размера устройства или области просмотра. Он включает в себя предопределенные классы для удобных вариантов разметки, а также мощные миксины для создания более семантических разметок.
Введение
Грид-системы используются для создания макетов страниц через ряд строк и столбцов, в которых размещается ваш контент. Вот как работает сеточная система Bootstrap:
- Строки должны быть размещены в контейнерах
,
(фиксированная ширина) или в жидкости , контейнер
(полная ширина) для правильного выравнивания и заполнения. - Используйте строки для создания горизонтальных групп столбцов.
- Содержимое следует размещать в столбцах, и только столбцы могут быть непосредственными дочерними элементами строк.
- Предопределенные классы сетки, такие как
.row
и .col-xs-4
доступны для быстрого создания схем сетки. Меньше миксинов также можно использовать для более семантических макетов. - Столбцы создают желоба (промежутки между содержимым столбцов) через отступы
. Это заполнение смещается в строках для первого и последнего столбца через отрицательное поле .row
с. - Отрицательная маржа является причиной того, что приведенные ниже примеры устарели. Это так, что содержимое в столбцах сетки выровнено с содержимым, не связанным с сеткой.
- Столбцы сетки создаются путем указания числа двенадцати доступных столбцов, которые вы хотите охватить. Например, три равных столбца будут использовать три
.col-xs-4
. - Если в одной строке размещено более 12 столбцов, каждая группа дополнительных столбцов как одна единица переносится на новую строку.
- Классы сетки применяются к устройствам с шириной экрана, превышающей или равной размерам точек останова, и переопределяют классы сетки, предназначенные для небольших устройств. Следовательно, е.грамм. применение любого класса
.col-md- *
к элементу повлияет не только на его стиль на средних устройствах, но и на больших устройствах, если класс .col-lg- *
отсутствует.
Посмотрите примеры применения этих принципов в своем коде.
Мы используем следующие медиазапросы в наших файлах Less, чтобы создать ключевые точки останова в нашей грид-системе.
/ * сверхмалые устройства (телефоны с разрешением менее 768 пикселей) * /
/ * Нет медиазапроса, так как это значение по умолчанию в Bootstrap * /
/ * Маленькие устройства (планшеты, 768px и выше) * /
@media (min-width: @ screen-sm-min) {...}
/ * Средние устройства (рабочие столы, 992px и выше) * /
@media (min-width: @ screen-md-min) {...}
/ * Большие устройства (большие рабочие столы, 1200px и выше) * /
@media (min-width: @ screen-lg-min) {...}
Мы иногда расширяем эти медиазапросы, чтобы включить max-width
, чтобы ограничить CSS более узким набором устройств.
@media (максимальная ширина: @ screen-xs-max) {...}
@media (min-width: @ screen-sm-min) и (max-width: @ screen-sm-max) {...}
@media (min-width: @ screen-md-min) и (max-width: @ screen-md-max) {...}
@media (min-width: @ screen-lg-min) {...}
Параметры сетки
Посмотрите, как аспекты системы сетки Bootstrap работают на нескольких устройствах с помощью удобной таблицы.
Дополнительные маленькие устройства Телефоны (<768px) Малые устройства таблетки (≥768px) Средние устройства Desktops (≥992px) Большие устройства рабочих столов (≥1200px) 90 177 + поведение Сетка Горизонтальные во все времена разрушилась, чтобы начать, горизонтальные выше точки останова контейнера ширина нет (авто) 750px 970px 1170px Класс не префикс .col-xs-
.col-sm-
.col-md-
.col-lg-
# столбцов 12 ширина столбца 901 Авто ~ 62px ~ 81px ~ 97px переплета ширина 30px (15px на каждой стороне колонны) Вкладываемые Да Смещения Да Порядок столбцов Да
Пример: с горизонтальной укладкой
Использование одного набора .Классы сетки col-md- *
позволяют создать базовую систему сетки, которая вначале размещается на мобильных устройствах и планшетах (от очень маленького до небольшого диапазона), а затем становится горизонтальной на настольных (средних) устройствах. Поместите столбцы сетки в любой .row
.
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-1
.col-md-4
.col-md-4
.col-md-4
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.col-мкр-1 DIV>
.Col-мкр-1 DIV>
.col-мкр-1 DIV>
DIV>
.col-мкр-8 DIV>
.col-мкр-4 DIV>
DIV>
.col-мкр-4 DIV>
.col-мкр-4 DIV>
.col-мкр-4 DIV>
DIV>
.col-мкр-6 DIV>
.col-мкр-6 DIV>
div> Пример: контейнер с жидкостью
Превратите любой макет сетки фиксированной ширины в макет полной ширины, изменив крайний .контейнер от
до .контейнер-флюид
.
...
DIV>
div> Пример: мобильные и настольные ПК
Не хотите, чтобы ваши столбцы просто помещались в устройства меньшего размера? Используйте дополнительные классы сетки для устройств малого и среднего размера, добавив в столбцы .col-xs- *
.col-md- *
. Смотрите пример ниже, чтобы лучше понять, как все это работает.
.col-xs-12 .col-md-8
.col-xs-6.col-md-4
.col-xs-6 .col-md-4
.col-xs-6 .col-md-4
.col-xs-6 .col-md-4
. Bootstrap Grid Примеры
Ниже мы собрали несколько примеров основных макетов сетки Bootstrap.
Три равных колонны
.col-sm-4
.col-sm-4
.col-sm-4
В следующем примере показано, как получить три столбца одинаковой ширины, начиная с
планшеты и масштабирование до больших рабочих столов.
На мобильных телефонах столбцы будут автоматически складываться:
Пример
.col-sm-4 div>
.col-sm-4 div>
.col-sm-4 div>
div> Попробуй сам »
Три неравных колонны
.col-sm-3
.col-sm-6
.col-sm-3
В следующем примере показано, как получить три столбца различной ширины, начиная с
планшеты и масштабирование до больших рабочих столов:
Пример
.col-sm-3 div>
.col-sm-6 div>
.col-sm-3 div>
div> Попробуй сам »
Два неравных столбца
В следующем примере показано, как получить два столбца различной ширины, начиная с
планшеты и масштабирование до больших рабочих столов:
Пример
.col-sm-4 div>
.col-sm-8 div>
div> Попробуй сам »
Без желобов
Используйте .row-no-gutters
класс для удаления желобов из ряда и его столбцов:
Пример
.col-sm-3 div>
.col-sm-6 div>
.col-sm-3 div>
div> Попробуй сам »
Две колонки с двумя вложенными колоннами
В следующем примере показано, как получить два столбца, начиная с планшетов и масштабируя их до больших рабочих столов.
с двумя другими столбцами (равной ширины) в большем столбце (на мобильном телефоне)
телефоны,
эти столбцы и их вложенные столбцы будут складываться):
Пример
.col-sm-8
.col-sm-6 div>
.col-sm-6 div>
div>
div>
.col-sm-4 div>
div> Попробуй сам »
Смешанный: мобильный и рабочий стол
Сетка системы Bootstrap имеет четыре класса: xs (телефоны), sm (планшеты), md (рабочие столы) и lg (большие рабочие столы).
Классы могут быть объединены для создания более динамичных и гибких макетов.
Совет: Каждый класс масштабируется, поэтому, если вы хотите установить одинаковую ширину для xs и sm, вам нужно только указать xs.
Пример
.col-xs-9 .col-md-7
.col-xs-3 .col-md-5
.col-xs-6 .col-md-10 div>
.col-xs-6 .col-md-2 div>
div>
.col-xs-6 div>
.col -xs-6 div>
div> Попробуй сам » Совет: Помните, что столбцы сетки должны составлять до двенадцати
строка. Более того, столбцы будут складываться независимо от области просмотра.
Смешанный: мобильный, планшетный ПК и настольный компьютер
Пример
.col-xs-7 .col-sm-6 .col-lg-8
.col-xs-5 .col-sm-6 .col-lg-4
.col-xs -6 .col-sm-8 .col-lg-10 div>
.col-xs-6 .col-sm-4 .col-lg-2 div>
div> Попробуй сам »
Clear Floats
Clear плавает (с классом .clearfix
) в определенных точках останова, чтобы предотвратить странное наложение на неровности
содержание:
Пример
Столбец 1
Измените размер окна браузера, чтобы увидеть эффект.
div>
Столбец 2 div>
div>
Столбец 3 div>
< div> Столбец 4 div>
div> Попробуй сам »
Смещающие колонны
Переместите столбцы вправо, используя классы .col-md-offset- *
. Эти
классы увеличивают левое поле столбца на * столбцы:
Пример
.col-sm-5 .col-md-6 div>
div> Попробуй сам »
Push And Pull — Изменить порядок колонн
Измените порядок столбцов сетки с помощью .col-md-push- *
и .col-md-pull- *
классы:
Пример
.col-sm-4 .col-sm-push-8 div>
.col-sm-8 .col-sm-pull-4 div>
div> Попробуй сам »
, Оставить комментарий