CSS Box Model и Отступы

CSSCSSBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В оживленном цифровом мире "Дом питомца", веб-сайте, посвященном предоставлению высококачественных услуг по уходу за питомцами, наш главный герой, Джордан, талантливый веб-разработчик, имеет задачу улучшить макет и дизайн сайта.
Сцена расположена в уютном офисе, из которого открывается вид на городской горизонт, где Джордан решен оптимизировать пользовательский опыт, тщательно применяя принципы CSS Box Model и Отступов.

В этом лабе мы будем использовать свойства, такие как CSS Box Model и Отступы, чтобы усовершенствовать макет.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL css(("CSS")) -.-> css/BasicConceptsGroup(["Basic Concepts"]) css(("CSS")) -.-> css/BasicStylingGroup(["Basic Styling"]) css(("CSS")) -.-> css/CoreLayoutGroup(["Core Layout"]) css/BasicConceptsGroup -.-> css/properties("Properties") css/BasicConceptsGroup -.-> css/values("Values") css/BasicStylingGroup -.-> css/colors("Colors") css/CoreLayoutGroup -.-> css/box_model("Box Model") css/CoreLayoutGroup -.-> css/margin_and_padding("Margin and Padding") css/CoreLayoutGroup -.-> css/borders("Borders") subgraph Lab Skills css/properties -.-> lab-289075{{"CSS Box Model и Отступы"}} css/values -.-> lab-289075{{"CSS Box Model и Отступы"}} css/colors -.-> lab-289075{{"CSS Box Model и Отступы"}} css/box_model -.-> lab-289075{{"CSS Box Model и Отступы"}} css/margin_and_padding -.-> lab-289075{{"CSS Box Model и Отступы"}} css/borders -.-> lab-289075{{"CSS Box Model и Отступы"}} end

Разбор модели коробки

Подумайте, как заставить элементы появляться там, где мы их разместили в дизайне.

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

Диаграмма CSS Box Model

Нажав F12, чтобы открыть инструменты разработчика, как показано на рисунке ниже при выборе элемента <li>, мы можем увидеть модель коробки элемента в разделе Computed.

Представление модели коробки в инструментах разработчика

Далее представим три важных свойства модели коробки:

  • border
  • padding
  • margin
✨ Проверить решение и практиковаться

Граница

Сокращенное свойство CSS border задает границу элемента. Он задает значения border-width, border-style и border-color.

Формат использования следующий:

border: width style color;

Например, чтобы добавить границу к элементу <p>, можно использовать следующий CSS:

Пример кода CSS с границей

На странице с питомцами, если кнопки внутри формы имеют границу, можно добавить следующее содержимое в файл style.css, чтобы стилизовать их:

form.btn {
  text-align: center;
  background-color: #e6e8e8;
  color: #000;
  font-weight: 700;
  letter-spacing: 2px;
  border: 2px solid #eaeaea;
}

此外, мы можем добиться эффекта округления углов на кнопках с помощью свойства border-radius. Вот, как это можно добавить:

form.txt-box {
  width: 100%;
  border-radius: 2px;
  border: 2px transparent;
  color: #3d3939;
}
form.btn {
  text-align: center;
  background-color: #e6e8e8;
  color: #000;
  font-weight: 700;
  letter-spacing: 2px;
  border: 2px solid #eaeaea;
  border-radius: 4px;
}

В разделе "О нас", чтобы создать эффект круглой картинки, можно действительно использовать свойство border-radius. Вот, как это применить:

.circle {
  width: 950px;
  height: 650px;
}
.circle img {
  border-radius: 100%;
  width: 70%;
  height: 100%;
}
✨ Проверить решение и практиковаться

Внутренние отступы

Сокращенное свойство CSS padding сразу задает область внутренних отступов по всем четырем сторонам элемента.

Формат использования следующий:

padding: top right bottom left;

padding-top: top padding value;
padding-left: left padding value;
padding-right: right padding value;
padding-bottom: bottom padding value;

Например, чтобы добавить внутренние отступы к элементу <p>, можно использовать следующий CSS:

Иллюстрация примера CSS с внутренними отступами

Добавьте следующее в файл style.css:

h1 {
  padding-bottom: 30px;
  padding-left: 0.5em;
  text-align: center;
  font-size: 4em;
}
h2 {
  font-size: 2.8vw;
  padding-bottom: 15px;
  text-transform: uppercase;
}
header {
  background-color: rgb(233, 174, 87);
  width: 100%;
  max-height: max-content;
  min-height: 1em;
  padding-top: 1%;
  padding-bottom: 1%;
  text-transform: uppercase;
}
.navigation li a {
  text-decoration: none;
  color: black;
  padding: 10px;
}
.container {
  padding: 0px;
  padding-top: 1em;
  width: 100%;
}
section {
  width: 100%;
  padding: 10% 0;
}
.cover-sect {
  padding: 5% 0;
}
.title-text {
  width: 40%;
  text-align: center;
  color: black;
  padding: 0 20px;
}
.service figcaption {
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 10px;
}
.contact-section p {
  padding-right: 2em;
  padding-left: 3em;
}

.form-box {
  padding-top: 1em;
}

form.form-content {
  padding: 0.8em 0;
}

form.txt-box {
  width: 100%;
  padding: 0.7em 0;
  border-radius: 2px;
  border: 2px transparent;
  color: #3d3939;
}
form.btn {
  text-align: center;
  background-color: #e6e8e8;
  color: #000;
  font-weight: 700;
  letter-spacing: inherit;
  border: 2px solid #eaeaea;
  border-radius: 4px;
  padding: 0.7em;
}
✨ Проверить решение и практиковаться

Отступы

Сокращенное свойство CSS margin задает область отступов по всем четырем сторонам элемента.

Формат использования следующий:

margin: top right bottom left;

margin-top: top margin value;
margin-left: left margin value;
margin-right: right margin value;
margin-bottom: bottom margin value;

Например, чтобы добавить отступы к элементу <p>, можно использовать следующий CSS:

Иллюстрация примера CSS с отступами

Добавьте следующее в файл style.css:

* {
  margin: auto;
}
.logo-section {
  width: 10%;
  margin-left: initial;
}
.logo {
  margin-left: 0.8em;
  max-width: 60%;
}
section div {
  width: 50%;
  margin: 0 auto;
}
.cover-sect {
  margin-top: 0px;
  padding: 5% 0;
}
.title-text {
  width: 40%;
  text-align: center;
  color: black;
  margin: auto;
  padding: 0 20px;
}
.circle img {
  border-radius: 100%;
  width: 70%;
  height: 100%;
  margin-left: 15%;
}
.services {
  width: 90%;
  margin: 20px auto;
}
form.txt-box {
  margin-top: 0.3em;
  width: 100%;
  padding: 0.7em 0;
  border-radius: 2px;
  border: 2px transparent;
  color: #3d3939;
}
footer div {
  margin-right: 2em;
}

footer span {
  text-align: center;
  margin-left: 2em;
}

footer.company-info {
  margin-left: 20em;
}

footer.contact-us {
  margin-left: 25em;
}
✨ Проверить решение и практиковаться

Тень коробки

На странице с питомцами, чтобы добавить эффект тени к кнопке отправки в форме, можно использовать свойство box-shadow.

Свойство box-shadow используется для добавления одной или нескольких теней коробки, создавая визуальное впечатление, будто коробка имеет тень.

Его синтаксис имеет следующий формат:

box-shadow: h-shadow v-shadow blur spread color inset;

Значение каждого параметра описано ниже:

Параметр Описание
h-shadow Обязательный. Горизонтальное положение тени, допускаются отрицательные значения.
v-shadow Обязательный. Вертикальное положение тени, допускаются отрицательные значения.
blur Необязательный. Расстояние размытия.
spread Необязательный. Размер тени.
color Необязательный. Цвет тени.
inset Необязательный. Меняет тень с внешней на внутреннюю.

Добавьте следующее в файл style.css:

form.btn {
  text-align: center;
  background-color: #e6e8e8;
  color: #000;
  font-weight: 700;
  letter-spacing: inherit;
  border: 2px solid #eaeaea;
  box-shadow: 0px 0px 10px 1px #29393e;
  border-radius: 4px;
  padding: 0.7em;
}

Примечание: Хотя мы рассмотрели много свойств CSS, вполне естественно, что макет страницы может по-прежнему выглядеть беспорядочным. Не беспокойтесь, позже мы познакомим вас с несколькими методами макетирования страниц. Эти методы помогут организовать и структурировать страницу более эффективно, в том числе Flexbox, Grid и другие модели макетирования CSS. Эти модели предоставляют мощные инструменты для создания отзывчивых, гибких и хорошо структурированных макетов.

✨ Проверить решение и практиковаться

Резюме

В этом практическом занятии вы прошли по сложностям CSS Box Model и Отступов с Джорданом, улучшая макет и дизайн сайта "Дом для питомцев". Начав с понимания компонентов box model - отступов, границ, внутренних отступов и содержимого - вы применили эти принципы для улучшения структуры сайта и пользовательского интерфейса. Управляя отступами, вы научились эффективно контролировать расстояние между элементами. Были сделаны调整 внутренних отступов, чтобы обеспечить четкое и привлекательное отображение содержимого внутри элементов. Это практическое занятие не только углубило ваши навыки CSS, но и подчеркнуло важность тщательного дизайна макета при создании привлекательных и удобных для пользователя веб-опытов.