Три колонки резиновой процентной ширины (N.01) Демо |
Три колонки резиновой процентной ширины (N.02) Демо |
Три колонки резиновой процентной ширины (N.03) Демо |
Три колонки резиновой процентной ширины (N.04) Демо |
Три колонки резиновой процентной ширины (N.05) Демо |
Три колонки резиновой процентной ширины (N.06) Демо |
Три колонки фиксированной ширины (N.07) Демо |
Три колонки фиксированной ширины (N.08) Демо |
Три колонки фиксированной ширины (N.09) Демо |
Три колонки фиксированной ширины (N.10) Демо |
Три колонки фиксированной ширины (N.11) Демо |
Три колонки фиксированной ширины (N.12) Демо |
Резиновый, две колонки фиксированной ширины (N.13) Демо |
Резиновый, две колонки фиксированной ширины (N.14) Демо |
Резиновый, две колонки фиксированной ширины (N.15) Демо |
Резиновый, две колонки фиксированной ширины (N.16) Демо |
Резиновый, две колонки фиксированной ширины (N.17) Демо |
Резиновый, две колонки фиксированной ширины (N.18) Демо |
Резиновый, одна колонка фиксированной ширины (N.19) Демо |
Резиновый, одна колонка фиксированной ширины (N.20) Демо |
Резиновый, одна колонка фиксированной ширины (N.21) Демо |
Резиновый, одна колонка фиксированной ширины (N.22) Демо |
Резиновый, две колонки фиксированной ширины (N.23) Демо |
Резиновый, две колонки фиксированной ширины (N.24) Демо |
Резиновый, две колонки процентной ширины (N.25) Демо |
Резиновый, две колонки процентной ширины (N.26) Демо |
Резиновый, одна колонка на всю ширину и две процентные (N.27) Демо |
Резиновый, одна колонка на всю ширину и две процентные (N.28) Демо |
Резиновый, одна колонка на всю ширину и две процентные (N.29) Демо |
Резиновый, одна колонка на всю ширину и две процентные (N.30) Демо |
Две колонки резиновые, одна на всю ширину и одна фиксированная (N.31) Демо |
Две колонки резиновые, одна на всю ширину и одна фиксированная (N.32) Демо |
Три колонки фиксированной ширины (N.33) Демо |
Три колонки фиксированной ширины (N.34) Демо |
Три колонки фиксированной ширины (N.35) Демо |
Три колонки фиксированной ширины (N.36) Демо |
Три колонки фиксированной ширины (N.37) Демо |
Три колонки фиксированной ширины (N.38) Скачать |
Фиксированный одна колонка на всю ширину и две на половину (N.39) Демо |
Фиксированный одна колонка на всю ширину и две на половину (N.40) Демо |
Блочная модель — Изучение веб-разработки
Каждый элемент в CSS заключён в блок, и понимание поведения этих блоков — это ключ к умению задавать раскладку с помощью CSS, то есть выстраивать одни элементы относительно других элементов. В этом уроке мы надлежащим образом рассмотрим блочную модель CSS, чтобы вы могли создавать более сложные раскладки, понимая принцип ее работы и терминологию, которая к ней относится.
В CSS мы, говоря упрощённо, имеем два типа элементов —
Если элемент определён как блочный, то он будет вести себя следующим образом:
- Начнётся с новой строки.
- Будет расширяться вдоль строки таким образом, чтобы заполнить всё пространство, доступное в её контейнере. В большинстве случаев это означает, что блок станет такой же ширины, как и его контейнер, заполняя 100% доступного пространства.
- Будут применяться свойства
width
иheight
. - Внешние и внутренние отступы, рамка будут отодвигать от него другие элементы.
Если не изменить намеренно тип отображения на строчный, то такие элементы, как заголовки (например,
) и <p>
, все используют block
как свой внешний тип отображения по умолчанию.
Если элемент имеет тип отображения inline
(строчный), то:
- Он не будет начинаться с новой строки.
- Свойства
width
иheight
не будут применяться. - Вертикальные внешние и внутренние отступы, рамки будут применяться, но не будут отодвигать другие строчные элементы.
- Горизонтальные внешние и внутренние отступы, рамки будут применяться и будут отодвигать другие строчные элементы.
Элемент <a>
<span>
, <em>
и <strong>
— всё это примеры по умолчанию строчных элементов.Тип отображения, применяемый к элементу, определяется значениями свойства display
, такими как block
и inline
, и относится к внешнему значению display
.
Здесь следует объяснить, что такое внутренние и внешние типы отображения. Как уже говорилось выше, каждый блок в CSS имеет внешний тип отображения, который определяет, блочный он или строчный.
Элементы также имеют внутренний тип отображения, который определяет расположение элементов внутри них. По умолчанию элементы внутри блока располагаются в
Однако мы можем изменить внутренний тип отображения, используя такие значения display
как flex
. Если мы установим display: flex;
для элемента, внешний тип отображения примет значение block
, но внутренний тип изменится на flex
. Любые прямые дочерние элементы этого блока станут flex-объектами и будут размещены в соответствии с правилами, изложенными в спецификации Flexbox, о которой вы узнаете позже.
Примечание: Чтобы узнать больше о значениях display, и о том, как работают элементы при блочном или строчном расположении, посмотрите руководство MDN Блочное и срочное расположение (en-US).
Когда вы перейдёте к более подробному изучению CSS вёрстки, вы встретите flex
и другие внутренние значения, которые могут быть у ваших элементов, например grid
.
Тем не менее, блочное и строчное расположение — это поведение web-элементов по умолчанию. Как было сказано выше, это иногда называют нормальным потоком (normal flow), потому что при отсутствии какой-либо другой инструкции элементы имеют блочное или строчное расположение.
Давайте продолжим и рассмотрим некоторые примеры. Ниже мы имеем три разных элемента HTML с внешним типом отображения
. Первый — это абзац, который имеет обрамление, указанное в CSS. Браузер отображает его как блочный элемент, поэтому абзац начинается с новой строки и расширяется на всю доступную ему ширину.
Второй — это список, который свёрстан с использованием display: flex
. Это устанавливает flex-расположение для элементов внутри контейнера, однако сам список — блочный элемент и — как и абзац — расширяется на всю ширину контейнера и начинается с новой строки.
Ниже у нас есть абзац блочного типа, внутри которого есть два элемента <span>
. Эти элементы по умолчанию имеют тип inline
display: block
.
Мы можем видеть, как строчные элементы (inline
) ведут себя в следующем примере. Элементы <span>
в первом абзаце строчные по умолчанию и поэтому не приводят к переносу строки.
У нас также есть элемент <ul>
, для которого установлено display: inline-flex
, что создаёт строчный элемент вокруг нескольких flex-объектов.
Наконец, у нас есть два абзаца, для которых установлено display: inline
. И строчный flex-контейнер, и абзацы располагаются вместе на одной строке, а не начинаются каждый с новой строки, как они отображались бы, будучи блочными элементами.
В примере вы можете заменить display: inline
на display: block
или display: inline-flex
на display: flex
для переключения между этими двумя режимами отображения.
Позже в этих уроках вы встретите такое понятие как flex-раскладка; главное, что нужно запомнить сейчас, это то, что изменение значения свойства display
может изменить внешний тип отображения элемента на блочный или строчный, что меняет способ его отображения относительно других элементов в раскладке страницы.
В оставшейся части урока мы сосредоточимся на внешнем типе отображения.
Полностью блочная модель в CSS применяется к блочным элементам, строчные элементы используют не все свойства, определённые блочной моделью. Модель определяет, как разные части элемента — поля, рамки, отступы и содержимое — работают вместе, чтобы создать объект, который вы можете увидеть на странице. Дополнительная сложность заключается в том, что существуют стандартная и альтернативная блочные модели.
Составляющие элемента
Составляя блочный элемент в CSS мы имеем:
- Содержимое: область, где отображается ваш контент, размер которой можно изменить с помощью таких свойств, как
width
иheight
. - Внутренний отступ: отступы располагаются вокруг содержимого в виде пустого пространства; их размер контролируется с помощью
padding
и связанных свойств. - Рамка: рамка оборачивает содержимое и внутренние отступы. Её размер и стиль можно контролировать с помощью
border
и связанных свойств. - Внешний отступ: внешний слой, заключающий в себе содержимое, внутренний отступ и рамки, представляет собой пространство между текущим и другими элементами. Его размер контролируется с помощью
margin
и связанных свойств.
Рисунок ниже показывает эти слои:
Стандартная блочная модель CSS
В стандартной блочной модели, если указать элементу атрибуты width
и height
, это определит ширину и высоту содержимого. Любые отступы и рамки затем добавляются к этой ширине и высоте для получения общего размера элемента. Это показано на изображении ниже.
Предположим, что в элементе есть следующий CSS определяющий width
, height
, margin
, border
, и padding
:
.box {
width: 350px;
height: 150px;
margin: 10px;
padding: 25px;
border: 5px solid black;
}
Пространство, занимаемое нашим объектом с использованием стандартной блочной модели, на самом деле будет равно 410px в ширину (350 + 25 + 25 + 5 + 5) и 210px в высоту (150 + 25 + 25 + 5 + 5), поскольку отступы и рамки добавляются к размерам поля содержимого.
Примечание: Внешний отступ не считается в фактическом размере объекта. Конечно, он влияет на общее пространство, занимаемое объектом на странице, но только на внешнюю часть. Область элемента заканчивается на рамке — она не распространяется за нее.
Альтернативная блочная модель CSS
Вы можете подумать, что довольно неудобно добавлять рамки и отступы, чтобы получить реальный размер элемента, и окажетесь правы! По этой причине, спустя некоторое время после стандартной блочной модели, в CSS была введена альтернативная блочная модель. При использовании альтернативной модели любая ширина — это ширина видимой части элемента на странице, поэтому ширина области содержимого будет равна общей ширине минус ширина рамки и внутреннего отступа. Тот же CSS, который использовался выше, даст следующий результат (ширина = 350px, высота = 150px).
По умолчанию браузеры используют стандартную блочную модель. Если вы хотите использовать альтернативную блочную модель для элемента, установите для него свойство box-sizing: border-box
. С помощью этого вы говорите браузеру о том, что рамка элемента определяется любыми размерами, которые вы устанавливаете.
.box {
box-sizing: border-box;
}
Если вы хотите, чтобы все ваши элементы использовали альтернативную блочную модель, что является распространённым выбором среди разработчиков, установите свойство box-sizing
для элемента <html>
, затем задайте всем элементам наследование этого значения (inherit), как показано в примере ниже. Если вы хотите понять ход мыслей, стоящий за этим решением, читайте статью the CSS Tricks article on box-sizing.
html {
box-sizing: border-box;
}
*, *::before, *::after {
box-sizing: inherit;
}
Примечание: Интересный факт — Internet Explorer по умолчанию использовал альтернативную блочную модель без доступного механизма для переключения.
В примере ниже, вы можете видеть 2 объекта. Оба имеют класс .box
, который даёт им одинаковые параметры width
, height
, margin
, border
, и padding
. Единственное различие в том, что второй объект объявлен по альтернативной блочной модели.
Можете ли вы изменить размер второго объекта (добавляя CSS в класс .alternate)
чтобы ширина и высота совпали с первым блоком?
Примечание: вы можете найти решение этой задачи здесь.
Использование инструментов разработчика в браузере для просмотра блочных моделей
Инструменты разработчика вашего браузера могут значительно облегчить понимание блочной модели. Если вы проверите элемент в инструментах разработчика Firefox, вы можете увидеть его размер, а также внешний и внутренний отступы и рамку. Проверка элемента таким способом — отличный способ выяснить, действительно ли размер вашего блока такой, какой вы думаете!
Вы уже видели свойства margin
, padding
и border
в работе в приведённом выше примере. Используемые в этом примере свойства — сокращённые и позволяют нам устанавливать все четыре стороны блока одновременно. У них также есть эквивалентные полные свойства, которые позволяют индивидуально управлять разными сторонами блока.
Давайте рассмотрим эти свойства более подробно.
Внешний отступ (margin)
Внешний отступ — это невидимое пространство вокруг вашего элемента. Оно отталкивает другие элементы от него. Внешний отступ может быть как положительным, так и отрицательным. Негативное значение может привести к перекрытию некоторых элементов страницы. Независимо от того, используете ли вы стандартную или альтернативную блочную модель, внешний отступ всегда добавляется после расчёта размера видимого блока.
Мы можем контролировать все поля элемента сразу, используя свойство margin
, или каждую сторону индивидуально, используя эквивалентные полные свойства:
В примере ниже, попробуйте изменить значение margin чтобы увидеть как блок смещается, создавая или удаляя пространство (если вводить отрицательные значения margin) между этим элементом и элементом его содержащим.
Схлопывание внешних отступов
Ключевой момент, который нужно понимать в отношении внешних отступов (margin), это концепция схлопывания. Если у вас есть два элемента, внешние отступы которых соприкасаются, и оба значения margin положительные, то эти значения будут объединены в одно, равное большему из двух значений. А если одно или оба значения отрицательны, то сумма отрицательных значений будет вычтена из общей суммы.
В примере ниже есть два абзаца. Первому абзацу задан margin-bottom
50 пикселей. У второго абзаца margin-top
30 пикселей. Отступы схлопываются так, что в результате margin между двумя блоками составляет 50 пикселей, а не сумму отдельных значений margin.
Вы можете проверить это, установив второму абзацу margin-top
равный 0. Видимое расстояние между двумя абзацами не изменится — отступ остаётся равен 50 пикселям, заданным в margin-bottom
первого абзаца. Если вы установите значение -10px, то увидите, что margin становится 40px — происходит вычитание из положительного значения 50px у первого абзаца.
Существует ряд правил, которые определяют, когда внешние отступы схлопываются, а когда нет. Для получения подробной информации см. margin collapsing. Главное, что нужно сейчас помнить, — это то, что схлопывание отступов существует. Если вы создаёте пространство с внешними отступами и не получаете ожидаемого результата, вероятно, именно это и происходит.
Рамка
Рамка располагается между margin и padding блочного элемента. Если вы используете стандартную блочную модель, размер рамки прибавляется к значениям width
и height
элемента. Если вы используете альтернативную блочную модель, то размер рамки уменьшает поле контента своего блока, так как значения рамки входят в заданные ему width
и height
.
Для стилизации рамок существует большое количество различных свойств: четыре рамки, и каждая из них имеет свой стиль, ширину и цвет, которыми мы можем манипулировать.
Вы можете установить ширину, стиль или цвет всех четырёх рамок сразу, используя свойство border
.
Чтобы установить индивидуальные свойства для каждой из четырёх сторон, вы можете использовать:
Для установки ширины, стиля или цвета всех рамок используйте:
Чтобы установить ширину, стиль или цвет для каждой рамки индивидуально, вы можете использовать следующие свойства:
В примере ниже мы использовали различные сокращённые и полные способы создания рамок. Поиграйте с различными свойствами, чтобы проверить, как вы поняли принципы их работы. Информацию о различных стилях, которые вы можете использовать, можно найти на страницах MDN о свойствах рамок.
Внутренний отступ (padding)
Внутренний отступ расположен между рамкой и областью контента блока. В отличии от внешних отступов (margin), вы не можете использовать отрицательные значения для padding: они должны быть положительными или равными 0. Любой применённый к вашим элементам фон будет отображаться под областью padding, поэтому внутренний отступ обычно используется, чтобы отодвинуть контент от рамок.
Вы можете контролировать значение padding для всех сторон элемента, используя свойство padding
, или для каждой стороны индивидуально, используя следующие полные свойства:
Если вы измените значения padding для класса .box
в примере ниже, то увидите, что это изменяет положение текста внутри элемента.
Вы также можете изменить padding для класса .container
, который задаёт отступ между контейнером и блоком. Внутренний отступ может быть изменён для любого элемента и создаст пространство между его рамкой и содержимым.
Всё, сказанное ранее, полностью применимо к блочным элементам. Некоторые из свойств могут быть также применены и к строчным (inline) элементам, например к <span>
.
В приведённом ниже примере у нас есть <span>
внутри абзаца, и мы применили к немуwidth
, height
, margin
, border
и padding
. Вы можете видеть, что ширина и высота игнорируются. Вертикальные внешние и внутренние отступы и рамки применены, но они не изменяют положение других элементов относительно нашего строчного элемента, и поэтому отступы и рамка перекрывают другие слова в абзаце. Горизонтальные внешние и внутренние отступы и рамки применены и заставляют другие элементы отодвинуться от нашего.
Существует особое значение display
, которое представляет собой золотую середину между inline
и block
. Это полезно в ситуациях, когда вы не хотите, чтобы элемент переносился на новую строку, но нужно, чтобы он применял width
и height
и избегал перекрытия, показанного выше.
Элемент с display: inline-block
применяет ряд свойств блочного элемента, о которых мы уже знаем:
- Применяются свойства
width
иheight
. - Использование
padding
,margin
иborder
приведёт к тому, что другие элементы будут отодвинуты от нашего элемента.
Он не перенесётся на новую строку и станет больше, чем его содержимое, только если вы явно зададите свойства width
и height
.
В следующем примере мы добавили display: inline-block
к нашему элементу <span>
. Попробуйте изменить значение свойства на display: block
или полностью удалить строку, чтобы увидеть разницу.
Это может быть полезно, когда вы хотите создать ссылку с большой областью попадания, добавив padding
. <a>
— это строчный элемент, такой же как <span>
; вы можете использовать display: inline-block
, чтобы разрешить применение отступов, что упростит пользователю переход по ссылке.
Довольно часто это можно увидеть в панелях навигации. Приведённая ниже навигация отображается в виде строки с использованием flexbox, и мы добавили отступы к элементу <a>
, потому что хотим, чтобы background-color
изменялся при наведении курсора на <a>
. Отступы перекрывают рамку элемента <ul>
. Это происходит потому, что <a>
— строчный элемент.
Добавьте в правило display: inline-block
с помощью селектора .links-list a
, и вы увидите, как он решает эту проблему, заставляя другие элементы соблюдать отступы.
В этой статье мы многое рассмотрели, но получится ли у вас вспомнить самую важную информацию? Вы можете пройти дополнительные тесты, чтобы убедиться, что вы всё усвоили, прежде чем двигаться дальше — см. Проверка своих навыков: блочная модель.
Это большая часть того, что вам нужно знать о блочной модели. Возможно, вы захотите вернуться к этому уроку в будущем, если когда-нибудь обнаружите, что не понимаете, насколько велики блоки в вашей раскладке на странице.
В следующем уроке мы рассмотрим, как можно использовать фон и рамки, чтобы сделать ваши простые блоки более интересными.
Табличная верстка страниц
Верстка страниц таблицами
Откройте блокнот и скопируйте в него:
<!DOCTYPE html PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN»
«http://www.w3.org/TR/html4/loose.dtd»>
<html lang=»ru»>
<head>
<title>Заголовок страницы</title>
<meta name=»description» content=»текст о странице»>
<meta name=»keywords» content=»ключевые слова»>
<meta name=»author» content=»имя автора»>
<meta name=»robots» content=»all»>
<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>
</head>
<body>
Здесь будут таблицы, блоки, фото и т.д.
</body>
</html>
Теперь нажмите в верхнем левом углу ФАЙЛ => «СОХРАНИТЬ КАК» впишите в название файла index.html и сохраните его в основной директории. Сделайте несколько копий страниц для таблиц, текста, и т.д. Это будут те страницы, на которых Вы можете попробовать все то, что узнаете здесь. Нужный Вам HTML код сохраняйте в «Блокноте» (расширение “.txt”) и используйте, как шпаргалку. Имена страницам лучше давать информативные, то есть, например страницу о музыке назвать music.html, а страницу с фотографиями photo.html и т.д.
Основные теги страницы
<!DOCTYPE html PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN»
«http://www.w3.org/TR/html4/loose.dtd»> объявление типа документа
<html lang=»ru»> начало html кода
<head> начало блока информации для браузеров
<title>учебная страница</title>— это название страницы
<meta…> подробнее о мета тегах
здесь
<link rel=»stylesheet» type=»text/css» href=»ссылка на файл css»>
Тег <link> определяет ссылку. В отличие от тега A, тег LINK может располагаться только в части заголовка HEAD документа. Информация, указанная в элементе LINK, может по-разному обрабатываться броузерами, в зависимости от указанных атрибутов.
<link rel=»icon» href=»ссылка на картинку ico» type=»image/x-icon»>
иконка
</head> конец блока информации для браузеров
<body> начало тела страницы
содержимое страницы
</body> конец тела страницы
</html> конец html кода
Таблицы
Для большинства страниц достаточно совсем небольшого количества тегов.
Теги таблиц
<table> открывающий тег таблицы
<tr>тег — начало строки
<th> открывающий тег ячейки
содержимое ячейки — table header (заголовок таблицы)
текст внутри этих тегов будет выделен полужирным шрифтом и отцентрирован
</th> закрывающий тег ячейки
</tr> тег — конец строки
эти теги создают новый ряд (строку) ячеек
<tr> тег — начало строки
<td> открывающий тег ячейки
содержимое ячейки
</td> закрывающий тег ячейки
</tr> тег — конец строки
</table> закрывающий тег таблицы
Атрибуты
width — ширина таблицы указывается в «%» или в пикселях «800»
border — толщина рамки
cellspacing — расстояние между ячейками
cellpadding — расстояние между рамкой ячейки и текстом
align — выравнивание по горизонтали ( по умолчанию слева=»left» центр=»center» справа=»right» )
valign — выравнивание по вертикали ( верх=»top» середина=»middle» низ=»bottom» )
colspan=x — количество ячеек по горизонтали
rowspan=x — количество ячеек по вертикали
Примеры таблиц
<table border=»1″
cellpadding=»0″ cellspacing=»0″>
<tr>
<th
width=»25%»>навигация</th>
<th
width=»75%»>заголовок</th>
</tr>
<tr>
<td
width=»25%» valign=»top»>меню</td>
<td
valign=»top»>контент</td>
</tr>
</table>
<table border=»1″ cellpadding=»0″ cellspacing=»0″>
<tr>
<th colspan=2>логотип</th>
</tr>
<tr>
<th>навигация</th>
<th>заголовок</th>
</tr>
<tr>
<td valign=»top»>
<ul>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
</ul>
</td>
<td valign=»top»>контент</td>
</tr>
<tr>
<td colspan=3>подвал (банеры, счетчики)</td>
</tr>
</table>
<table border=»1″ cellpadding=»0″ cellspacing=»0″>
<tr>
<th colspan=3>логотип</th>
</tr>
<tr>
<th>навигация</th>
<th>заголовок 1</th>
<th>заголовок 2</th>
</tr>
<tr>
<td valign=»top»>
<ul>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
</ul>
</td>
<td valign=»top»>контент</td>
<td valign=»top»>суб-контент</td>
</tr>
<tr>
<td colspan=3>подвал (банеры, счетчики)</td>
</tr>
</table>
Копируйте код любой из таблиц вставляйте в HTML код страницы между <body> и </body> и пробуйте изменять атрибуты самостоятельно. Используя табличную верстку можно вставлять в таблицу еще одну, две и т.д. таблицы
Пример<table border=»1″ cellpadding=»0″ cellspacing=»0″>
<tr>
<td>логотип</td>
</tr>
<tr>
<td>
<table border=»1″ cellpadding=»0″ cellspacing=»0″>
<tr>
<td valign=»top»>>
<ul>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
<li><a href=»index.html» title=»Ссылка»>Ссылка</a></li>
</ul>
</td>
<td valign=»top»>контент-верх</td>
<td valign=»top»>суб-контент-верх</td>
</tr>
<tr>
<td>текст</td>
<td >контент-низ</td>
<td>суб-контент-низ</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>подвал</td>
</tr>
</table>
Таблицы от А до Я
Собственно это почти все, что нужно знать о таблицах. Чтобы быстрее понять, что к чему, сделаем одну страничку вместе
Основы CSS: блочная модель
Один из лучших способов внести изменения во внешний вид своего сайта — похимичить с CSS, с помощью которого можно поменять всё: от цветов сайта до шрифтов и фоновых изображений.
В этой статье для начинающих мы разбёремся, что такое блочная модель и как она работает. Сначала мы пройдёмся по теоретической части, а затем применим её на практике.
Блоки — они повсюду!
Первое, что нужно понять для эффективного использования CSS, — всё, что вы видите на странице, состоит из прямоугольников. Каждый сайт представляет собой ничего более, чем набор прямоугольных блоков, расположенных рядом, сверху, снизу и внутри друг друга.
Заголовок? Прямоугольник. Боковая панель? Прямоугольник. Изображение? Тоже прямоугольник. Само собой, обычно мы называем их не прямоугольниками, а HTML-элементами, которые бывают разных типов.
Строчные и блочные элементы
Есть два типа HTML-элементов: строчные и блочные. Между ними есть разительные отличия, которые также влияют на использование блочной модели CSS.
Одной из особенностей блочных элементов является то, что они занимают всю площадь контейнера, в котором находятся. Если вы не указали иное с помощью CSS, они растягиваются, чтобы занять максимум доступного места, сдвигая другие элементы под ними.
Этот цитатный блок — пример блочного элемента. Как вы видите по его фону, он занимает всю ширину контейнера, а не растягивается только до тех мест, где есть текст.
Кроме того, блочные элементы могут содержать другие блочные или строчные элементы и автоматически регулируют свою высоту, чтобы уместить своё содержимое. В их число входят заголовки, контейнеры, списки и другие элементы. Со всеми ними можно ознакомиться здесь.
Если вы пользуетесь WordPress, то вы, скорее всего, очень хорошо знакомы со строчными элементами, даже если вы об этом не знаете. Когда вы при написании текста выделяете его жирным или курсивом, WordPress добавляет <strong>...</strong>
и <em>...</em>
вокруг него, чтобы добиться нужного эффекта.
Просто откройте вкладку Текст в режиме редактора для просмотра кода содержимого и вы всё увидите:
В отличие от блочных, строчные элементы занимают по горизонтали столько места, сколько им необходимо. Также они не сдвигают на новую строку и под себя другие элементы. Больше информации о них можно найти здесь.
Так или иначе, из-за такого поведения большая часть блочной модели CSS применима только к блочным элементам. Скоро вы поймёте, почему.
Так что это за блочная модель?
Возможно, вы об этом не знаете, но у каждого HTML-элемента есть блок, который его окружает. Этот блок состоит из нескольких слоёв, которыми можно независимо управлять с помощью CSS. Это позволяет разместить элементы относительно друг друга и оформить их разными способами.
Вот из чего состоят слои:
- Ширина — ширина площади содержимого элемента. Для блочных элементов значение по умолчанию равно 100%. У строчных элементов ширина зависит от содержимого.
- Высота — определяет высоту элемента. Как правило, она зависит от внутреннего содержимого, но при желании можно указать конкретную высоту. Опять же, это работает только с блочными элементами.
- Границы — границы есть у каждого элемента, даже если вы их не видите. У них может быть разный размер, цвет и оформление.
- Отступы — они определяют расстояние между границей элемента и его содержимым. Их можно использовать, например, для того, чтобы текст внутри элемента оставался читаемым.
- Поля — они определяют расстояние между границей элемента и тем, что его окружает.
Вот вам, собственно, и блочная модель CSS. Она становится ещё понятнее, если взглянуть на эту диаграмму:
Так как у каждого из слоёв есть соответствующее CSS-свойство, блочная модель представляет основные способы определения размера, положения и внешнего вида HTML-элемента. Как следствие, вы получаете возможность сильно изменить содержимое страницы. Рассмотрим несколько примеров, чтобы понять, как это работает.
Примеры использования блочной модели
Создадим простую страницу с блочным элементом:
<!DOCTYPE html>
<html>
<head>
<title>Example Site for CSS Box Model</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
</body>
</html>
Это просто HTML-документ с текстом внутри контейнера div
. В браузере он выглядит так:
Для блока мы определили цвета фона, чтобы вы могли видеть, как он растягивается по экрану. Это позволит лучше понять то, что будет происходить дальше. Вот соответствующий CSS:
.example-element {
background-color: deepskyblue;
}
Давайте внесём несколько изменений.
Изменяем ширину
Первое, что мы сделаем, — определим ширину. Как было упомянуто ранее, сейчас её значение равно 100%. Чтобы изменить его, нам нужно взаимодействовать со свойством width
.
Для него можно установить разные значения. Мы можем использовать фиксированную ширину вроде пикселей или пропорциональное значение вроде процентов. Последний вариант особенно важен для штук вроде адаптивного дизайна. Однако для простоты обойдёмся пикселями.
Добавляем новое свойство в стили:
.example-element {
background-color: deepskyblue;
width: 300px;
}
После перезагрузки страницы вы должны увидеть следующее:
Вы сразу заметите, как теперь ограничено растягивание div
вправо. Также, как видите, его высота автоматически изменяется, чтобы уместить внутренний текст. Давайте ещё увеличим её.
Увеличиваем высоту элемента через CSS
Хотя содержимое вполне себе умещается в пределах прямоугольника, порой есть веские причины ещё увеличить высоту. Например, что, если мы захотим, чтобы элемент был квадратом? Это вполне достижимо с помощью следующего свойства в нашем списке — height
.
С высотой мы можем делать всё то же самое, что и с шириной: устанавливать фиксированное или пропорциональное значение. Добавляем в стили:
.example-element {
background-color: deepskyblue;
height: 300px;
width: 300px;
}
В итоге страница выглядит так:
Как видите, элемент принял нужную нам форму, так как мы установили одинаковые значения для высоты и ширины.
Знакомимся с границами
Теперь изменим границы. Как упоминалось, границы уже есть, просто мы их не видим. Изменим это с помощью свойства border
.
Важно знать, что это свойство принимает три значения: width
, style
и color
. Width
отвечает за толщину границы (обычно в пикселях), style
может принимать значения solid
, dahsed
, dotted
и т.д., а в color
можно прописать цвет как словом вроде «red», так и hex-значением цвета.
В принципе, достаточно просто определить толщину границ. Тем не менее, в большинстве случаев результат будет лучше при определении всех трёх значений. Меняем CSS:
.example-element {
background-color: deepskyblue;
border: 15px solid blue;
height: 300px;
width: 300px;
}
И получаем результат:
Выглядит здорово, не так ли 🙂
Также обратите внимание, что для разных сторон можно установить разные типы границ с помощью свойств border-top
, border-right
, border-bottom
и border-left
.
Добавляем отступы
Одна из проблем, которая выделяется при взгляде на наш пример, заключается в том, что текст начинается прямо с границы элемента. Из-за этого его сложно читать, да и выглядит не очень приятно. К счастью, свойство padding
позволяет это исправить:
.example-element {
background-color: deepskyblue;
border: 15px solid blue;
height: 300px;
padding: 16px;
width: 300px;
}
Вот как это отразится на результате:
Так же, как и с границами, можно настроить отступы отдельно для каждой стороны элемента. Для этого используются свойства padding-top
, padding-right
, padding-bottom
и padding-left
.
Можно не прописывать отдельно все эти свойства, а описать все отступы одной строкой вроде padding: 10px 5px 15px 10px;
. Здесь значения соответствуют отступам сверху, справа, снизу и слева соответственно.
Отступы — одно из немногих свойств в этом списке, которые можно применить к строчным элементам. Однако вы рискуете вторгнуться в пределы верхних и нижних отступов других элементов, так что аккуратнее с этим.
Добавляем поля
Вот мы и добрались до полей, которые определяют расстояние между элементами.
Добавим margin
в стили:
.example-element {
background-color: deepskyblue;
border: 15px solid blue;
height: 300px;
margin: 25px;
padding: 16px;
width: 300px;
}
Выглядит это так:
Как видите, в результате элементы отодвинулись от краёв страницы. Однако поля для элемента определены со всех сторон, а не только сбоку и сверху. Скопируем div
, чтобы это можно было увидеть:
Сейчас у нас одинаковые поля со всех сторон. Однако для разных сторон можно установить свои значения. Это работает так же, как и с отступами: margin-top
, margin-left
и т. д или однострочное сокращение.
Поля частично применимы к строчным элементам, но только к боковым сторонам.
Немного о размерах элементов
Когда речь заходит о размерах элементов, стоит принять во внимание, что учитываются все части блочной модели. Например, если вы установили ширину равной 200 px, это значение считается только для области с содержимым.
Любые границы, отступы и поля также вносят свой вклад в горизонтальный размер элемента. То же касается и высоты. В нашем случае также учитываются все слои блочной модели.
Есть способы обхода такого поведения вроде установки свойства элемента box-sizing
равным border-box
. В этом случае ширина будет включать в себя границы и всё содержимое подстроит свои размеры, чтобы уместиться в этих рамках.
Тем не менее, поля всё ещё влияют на общий размер элемента. Держите это в голове, когда будете работать над разметкой страницы.
Подводим итог
Вот вы и изучили основы блочной модели CSS. Эти знания помогут вам лучше понять, как работают сайты. С блочной моделью проще изменить внешний вид страницы и её структуру как душе угодно.
Также это отличная отправная точка для дальнейшего изучения CSS. Как только вы в совершенстве овладеете этим материалом, вам будет гораздо проще изучать новые способы изменения внешнего вида сайта. А там уже и до своих тем рукой подать.
Смотрите также: 5 способов выровнять HTML-элемент горизонтально и вертикально
Перевод статьи «CSS FOR BEGINNERS: THE CSS BOX MODEL AND HOW TO USE IT CORRECTLY»
11Поплавки. Блочная верстка. Учебник CSS.
Глава 11
Эх рыбалка.. хорошо бы было сейчас закинув удочку посидеть на каком ни будь тихом пруду под пенье птиц и шорох камыша.. сидишь себе наблюдаешь за поплавком, потягиваешь пивко, где то неподалёку горит костер.. запах ухи смешавшись с ароматами разнотравья кружит голову и ты окунаешься в нирвану.. в мир спокойствия и гармонии..
Ладно, будем считать, что отдохнули перед очередной порцией информации.. и хотя в этой главе речь пойдёт о поплавках диалоги будут вовсе не о рыбалке..
Итак, свойство float — что поделаешь, этому свойству, при переводе с английского не придумали более точного определения, нежели чем «поплавок». А элемент с таким свойством называют «всплывающим»
Теперь побольше конкретики и примеров..
Свойство float определяет, по какой стороне будет выравниваться — всплывать элемент, при этом остальные элементы будут обтекать его с других сторон.
Выравнивание элемента происходит по краям родительского элемента или же по краям окна браузера.
Значения свойства float:
- left — Выравнивает элемент по левому краю, остальные элементы обтекают его справа.
- right — Выравнивает элемент по правому краю, остальные элементы обтекают его слева.
- none — Выравнивание элемента не задается. (по умолчанию)
Небольшой пример: заставим текст обтекать фотографию по правому краю при этом сам блок с фотографией «всплывёт» с левой стороны.
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»><html>
<head>
<title>float</title>
</head>
<body>
<div>
<div>
<img src=»graphics/fon.jpg»>
</div>
Текст в этом блоке обтекает рисунок помещённый в контейнер div с правой стороны, так как сам блок с рисунком, с помощью свойства float с значением left, «всплывает» слева.
</div>
</body>
</html>
А вот в примере ниже показано как могут располагаться элементы относительно друг друга, если свойство float присвоено нескольким элементам
Пример:
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»><html>
<head>
<title>float</title>
</head>
<body>
<div>
<span>блок выровнен по левому краю</span>
<span>блок выровнен по правому краю</span>
содержание блока div обтекает выровненные элементы span слева и справа
</div>
</body>
</html>
Свойство clear запрещает обтекание элемента с левой и/или правой стороны. Если для элемента установлено обтекание с помощью свойства float то clear отменяет обтекание данного элемента с указанных сторон.
Значения:
- both — Запрещает обтекание элемента с левой и правой стороны.
- left — Запрещает обтекание элемента с левой стороны.
- right — Запрещает обтекание элемента с правой стороны.
- none — Запрет на обтекание элемента не задается.(по умолчанию)
Вот пример где clear отменяет действие float
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»><html>
<head>
<title>clear</title>
</head>
<body>
<div>Этот блок всплывает слева.</div>
<div>И этот блок всплывает слева.</div>
<div>А этот блок отменяет обтекание с левой стороны.</div>
</body>
</html>
В довершение главы акцентирую Ваше внимание на еще одном способе верстки сайта, ранее в учебнике HTML я приводил примеры верстки страницы при помощи таблиц и фреймов, теперь имея накопленный багаж знаний, настало время познакомить Вас с блочной версткой сайта, используя блоки div и свойства CSS.
Разберём классический макет верстки сайта из трёх колонок, а так же «шапки» и «подвала».. в котором правая и левая колонки имеют фиксированную ширину, а центральная колонка «резиновая» т.е. занимает собой всё оставшееся место.
Взгляните на пример:
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»><html>
<head>
<title>Блочная вёрстка</title>
</head>
<body>
<div>Логотип</div>
<div>Меню</div>
<div>Реклама</div>
<div>Основное содержание<br><br><br><br><br> И ещё куча текста..</div>
<div>Подвал</div>
</body>
</html>
Что было понятно «расшифрую» каждую строчку из примера выше:
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»>
<html>
<head>
<title>Блочная вёрстка</title>
</head>
— Думаю понятно..:) стандартное начало любой страницы..
<body>
— Используем margin:0 для того чтобы обнулить поля в окне браузера.
<div>Логотип</div>
— Создаём контейнер с будущим логотипом и запрещаем его обтекание с обеих сторон, используя clear:both, теперь что бы не случилось, последующие блоки будут идти снизу, а шапка сайта как ей и положено будет располагаться сверху.
<div>Меню</div>
— Левая колонка с «Меню» выровнена по левому краю свойством float: left и имеет фиксированный размер в 170 пикселей.
<div>Реклама</div>
— Правая колонка с рекламой выровнена по правому краю свойством float: right; и тоже имеет фиксированный размер 170 пикселей.
<div>Основное содержание</div>
— Центральная колонка никак не выравнивается, но занимает своё место по центру, так как имеет широкие поля слева и справа margin:0 180px, тем самым не накладываясь на правую и левую колонки. Почему поля 180 пикселей, а не 170 в соответствии с ширенной колонок «Меню» и «Реклама»? Отвечаю: потому что кроме ширины width: 170px эти колонки имеют ещё и отступы со всех сторон padding: 5px складываем 170+5+5=180 — такая вот арифметика..
<div>Подвал</div>
— Ну и «подвал» блок, в котором, как правило, располагаются контактные данные и авторские права, так же как логотип запрещает на всякий случай обтекание слева и справа clear:both и тем самым устремляется вниз страницы.
</body>
</html>
— Это нужно «расшифровывать»? 🙂
В данном примере стилевое описание блоков div происходит с помощью атрибута style — на самом деле это глупо.. привел такой пример, что бы просто понятнее было разобраться в коде, а вообще при блочной верстке обычно назначают каждому блоку свой идентификатор id (см. Глава 6 Классы и идентификаторы.)и всё это дело с остальными потрохами выносят в отдельный css файл..
Верстка блоками div стремительно набирает популярность, и позволяет сверстать сайт практически любой сложности, однако не всегда стоит полностью отказываться от табличного способа верстки. Зачастую верным решением является комбинированный способ верстки, где грубым «каркасом» сайта является таблица, наполненная блоками div которые выполняют более тонкие задачи верстки сложного по структуре сайта.
CSS Блочная модель Блочная верстка CSS 3 1
Блочная верстка условное название метода верстки HTML-документов, при котором в качестве структурной основы для расположения текстовых и графических элементов документа используются блоки [они же слои] (то есть HTML-тег
). 9
СЕМАНТИКА!! Таблица это таблица! 10
Блочный макет 11
Плюсы табличной верстки Хорошо отображается в браузерах Хорошо создавать «резиновую» верстку Хорошая система расположения элементов Минусы: 12 Большое кол-во кода Медленный рендер При вложенности таблиц очень сложный для понимания код Несемантично
Плюсы блочной верстки Компактный код Семантика Быстрый рендер Трендово, модно, дорого. Минусы 13 Плывет в разных браузерах, при разных резрешениях За расположение отвечает CSS Сложность в управлении и размещении блоков
Верстка Статическая (фиксированная) – ширина сайта не зависит от ширины экрана пользователя. Резиновая (тянущаяся) – сайт подстраивается под размер монитора пользователя. 16
Пример резиновой верстки 17
Пример статичной верстки 18
Модульная сетка набор невидимых направляющих, вдоль которых располагаются элементы веб-страницы. 19
Одноколонная сетка чаще всего встречается в академическом дизайне, при фиксированном макете и публикации большого текста. Академический дизайн характеризуется минимализмом оформления и даже аскетизмом. Основной упор делается на содержательную часть, а дизайну как таковому практически не уделяется внимания. Преимущественно академический дизайн встречается в научной среде. 22
Двухколонная сетка используется две колонки — одна отводится под основной текст, а вторая используется для навигации и другой полезной информации двухколонная сетка стала стандартом де-факто для информационных сайтов из-за своего удобства. 24
Трехколонная сетка часто применяются на главных страницах сайтов, где одновременно требуется показать пользователю множество возможностей, которые он обнаружит на данном сайте. Трехколонная сетка обеспечивает больше простора для дизайна, ведь в некоторых местах можно объединять колонки, разбивать материал на отдельные фрагменты и визуально отделять один блок от другого. Макет при этом может получиться достаточно сложным, но результат обычно того стоит. 26
Вывод: Прежде чем переходить к созданию веб-страницы, сделайте ее набросок на листе бумаги. 28
Блочные элементы Блочным называется элемент, который отображается на веб-странице в виде прямоугольника. Такой элемент занимает всю доступную ширину, высота элемента определяется его содержимым, и он всегда начинается с новой строки.
, . . , p 29
Блочная модель 30
Как задать? div{ Margin-top: 25 px; Margin-Bottom: 20 px; Margin-Left: 10 px; Margin-Right: 1 px; } Долго. 31
Модель TRBL – Top-Right-Bottom-Left margin: 10 px 20 px 15 px 1 px; margin: 10 px; = margin: 10 px; margin 10 px 20 px; = margin: 10 px 20 px; margin: 10 px 20 px 15 px; = margin: 10 px 20 px 15 px 20 px; 32
Строчные элементы такие элементы веб-страницы, которые являются непосредственной частью другого элемента. 33
НЕЛЬЗЯ ВКЛАДЫВАТЬ БЛОЧНЫЕ В СТРОЧНЫЕ 34
Отличия, кстати Строчные элементы могут содержать только данные или другие строчнык элементы, а в блочные допустимо вкладывать другие блочные элементы, строчные элементы, а также данные. Иными словами, строчные элементы никак не могут хранить блочные элементы. Блочные элементы всегда начинаются с новой строки, а строчнык таким способом не акцентируются. Блочные элементы занимают всю доступную ширину, например, окна браузера, а ширина строчных элементов равна их содержимому плюс значения отступов, полей и границ. 35
Плавающие элементы такие элементы, которые обтекаются по контуру другими объектами веб-страницы. float : left; float: right; 36
1. Обтекание картинок текстом 37
2. Создание врезок 38
3. Расположение слоев по горизонтали 39
Лабораторная работа № 1 Создание макетов различной конфигурации с помощью блочной верстки и CSS 40
Позиционирование элементов 41
Как позиционировать position: ? left: 10 px; top: 20 px; right: 40 px; bottom: 50 px; 42
position: relative; Положение элемента устанавливается относительно его исходного места. Добавление свойств left, top, right и bottom изменяет позицию элемента и сдвигает его в ту или иную сторону от первоначального расположения. 43
position: absolute Указывает, что элемент абсолютно позиционирован, при этом другие элементы отображаются на вебстранице словно абсолютно позиционированного элемента и нет. Отсчет координат ведется от родителя со свойством position. Если такого не находится, то от верхнего левого угла браузера. 44
45
CSS 3 46
Закругленные уголки border-radius: 25 pt/55 pt; 47
48
Тени box-shadow 49
Тени text-shadow 50
Границы из картинок border-image 51
Растягивание блоков Resize 52
Линейный градиент 53
54
Радиальный градиент 55
56
box-reflect 57
верстка шаблонов, мобильная верстка — Tokar.ua
Блочная система (Grid System) Bootstrap позволяет вам горизонтально разделить страницу на 12 столбцов. Если использовать все 12 частей вам нет необходимости, такие блоки можно легко группировать, создавая более широкие столбцы. Они будут состоять из двух, трех и так далее частей страницы, разделённой на 12 частей. Это около 8.3% на столбец.
Разделить таким образом можно как страницу, так и любой блочный элемент, размеры блоков будут рассчитаны как часть родительского элемента.
Вот пример того, как можно разделить страницу при помощи Bootstrap.
span 1 | span 1 | span 1 | span 1 | span 1 | span 1 | span 1 | span 1 | span 1 | span 1 | span 1 | span 1 |
span 4 | span 4 | span 4 | |||||||||
span 4 | span 8 | ||||||||||
span 6 | span 6 | ||||||||||
span 12 |
Блочная структура в Bootstrap рассчитана также на мобильные устройства и планшеты. Блоки будут автоматически перестраиваться в зависимости от размера экрана.
Классы для ячеек
В блочной верстке Bootstrap есть четыре основных класса:
- xs (extra small) — для мобильных телефонов, до 767 пикс. включительно
- sm (small) — для планшетов, размер экрана 768—991 пикс.
- md (middle) — для десктопов, 992—1199 пикс.
- lg (large) — для больших экранов, от 1200 пикс.
Прелесть верстки на бутстрапе в том, что эти классы вы можете комбинировать, чтобы создавать адаптивную верстку и точно знать, как макет будет отображаться на том или ином размере экрана.
Базовая структура макета
Это пример верстки макета при помощи блочной системы Bootstrap:
<div> <div></div> </div> <div> <div></div> <div></div> <div></div> </div> <div> ... </div>
Для начала создайте строку с ячейками: <div>
и далее добавьте в нее нужное количество столбцов с соответствующими классами .col-*-*.
Обратите внимание, что сумма ячеек для каждого типа (sm, xs, md, lg) в ячейке .col-*-*
не должна превышать 12 частей для каждой строки.
Отступы для колонок
Вы можете указывать, какой отступ будет у колонки, если вы хотите “отодвинуть” ее вправо. Для этого используйте класс .col-md-offset-*
. Такой класс увеличит отступ слева на количество колонок, указанное в *
<div> <div>.col-sm-5 .col-md-6</div> <div> .col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div> </div>
Смена порядка отображения ячеек
Можно указывать, в каком порядке будут отображаться ячейки, при помощи классов .col-md-push-*
и .col-md-pull-*
.
<div> <div>.col-sm-4 .col-sm-push-8</div> <div>.col-sm-8 .col-sm-pull-4</div> </div>
Ниже приведено несколько примеров вёрстки самых популярных макетов при помощи блочной верстки Bootstrap.
Пример: три одинаковые колонки
Этот пример показывает, как сверстать три равных по ширине колонки, которые будут отображаться горизонтально на планшетах и более крупных экранах. На экране мобильного такая верстка будет растянута и каждая из ячеек займёт всю ширину экрана:
<div> <div>.col-sm-4</div> <div>.col-sm-4</div> <div>.col-sm-4</div> </div>
Пример: две колонки разной ширины
В этом примере страница делится на две колонки разной ширины, которые будут отображаться горизонтально на любых устройствах, кроме мобильных телефонов:
<div> <div>.col-sm-4</div> <div>.col-sm-8</div> </div>
Пример: две колонки с двумя вложенными колонками
В этом случае страница будет разделена на две разные колонки на планшетах и больших экранах, а большая колонка в свою очередь будет разделена на две равные колонки. На экранах мобильных телефонов эти колонки будут растягиваться на всю ширину экрана.
<div> <div> .col-sm-8 <div> <div>.col-sm-6</div> <div>.col-sm-6</div> </div> </div> <div>.col-sm-4</div> </div>
Отзывчивая мобильная верстка
Добавляя несколько классов одной и той же ячейке, вы можете добиться полного контроля над отображением верстки на разных размерах экрана.
В этом примере созданы две разные по размеру ячейки, которые на экране телефона займут всю ширину экрана, на планшете будут неравными, а на большом мониторе станут одинаковыми по размеру:
<div> <div> <div> </div>
Таким образом вы легко сможете контролировать, как отображать ячейки из вашего шаблона, а вёрстка станет мобильной без дополнительных усилий.
RelatedHTML-блоки и встроенные элементы
Каждый элемент HTML имеет отображаемое значение по умолчанию, в зависимости от типа элемента это.
Имеется два отображаемых значения: блочное и встроенное.
Элементы блочного уровня
Элемент уровня блока всегда начинается с новой строки.
Элемент уровня блока всегда занимает всю доступную ширину (тянется влево и вправо, насколько это возможно).
Элемент уровня блока имеет верхнее и нижнее поле, в то время как встроенный элемент нет.
Элемент
Вот элементы уровня блока в HTML:
Встроенные элементы
Встроенный элемент не начинается с новой строки.
Встроенный элемент занимает ровно столько ширины, сколько необходимо.
Это элемент внутри абзаца.
Вот встроенные элементы в HTML:
Примечание: Встроенный элемент не может содержать уровень блока. элемент!
Элемент
Элемент Элемент При использовании вместе с CSS элемент Лондон — столица Англии. Это самый густонаселенный город Соединенного Королевства, в котором проживает более 13 миллионов жителей. Элемент Элемент При использовании вместе с CSS элемент У моей мамы голубые глаза
а у моего отца темно
зеленые Атрибут HTML Несколько элементов HTML могут использовать один и тот же класс. Атрибут В следующем примере у нас есть три элемента Лондон — столица Англии. Париж — столица Франции. Токио — столица Японии.
, класс
и id
являются общими. Пример
Лондон
Элемент
встроенный контейнер, используемый для разметки части текста или части документа.
не имеет обязательных атрибутов, но стиль
, класс
и id
являются общими.
может использоваться для стилизации частей текста: Пример
Попробуй сам » Краткое содержание главы
является встроенным
контейнер, используемый для разметки части текста или части документа HTML-теги
Тег Описание Определяет раздел в документе (на уровне блока) Определяет раздел в документе (встроенный)
HTML-классы — Атрибут класса
class
:
используется для указания класса для элемента HTML. Использование атрибута класса
class
часто используется для указания
к имени класса в таблице стилей. Он также может использоваться JavaScript для доступа и
манипулировать элементами с определенным именем класса. class
со значением
«город». Все три .город
определение стиля в головном разделе: Пример
.city {
background-color: помидор;
цвет: белый;
граница: сплошной черный цвет 2px;
маржа: 20 пикселей;
отступ: 20 пикселей;
}
Лондон
Париж
Токио