Стилизация с помощью CSS
Введено| English | Значение |
|---|---|
| padding/ˈpædɪŋ/ | внутренние отступы |
| border/ˈbɔːdə/ | рамка |
| CSS/ˌsiː es ˈes/ | CSS |
| selector/sɪˈlektə/ | селектор |
| declaration/ˌdekləˈreɪʃn/ | объявление |
| the box model/ðə bɒks ˈmɒdl/ | блочная модель |
| margin/ˈmɑːdʒɪn/ | внешние отступы |
| responsive design/rɪˈspɒnsɪv dɪˈzaɪn/ | адаптивный дизайн |
| media query/ˈmiːdiːə ˈkwɪərɪ/ | медиа-запрос |
Карточка размером 320 пиксель переполняет экран 320 пикселей
- Объявленная ширина карточки не всегда является её полной шириной. Внутренние отступы (padding) и границы (borders) могут добавлять пространство за пределами ширины контента.
- CSS применяет правила представления. Селектор выбирает элементы; декларация задает свойство и значение, например
color: navy.
Назовите одну практическую причину сохранения переиспользуемых стилей презентации в одном файле стилей.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
Пример: «Общий файл стилей позволяет нам согласованно обновлять соответствующие карточки без редактирования каждого HTML-элемента».
Объясните каждый элемент модели коробки
- Модель коробки включает контент, внутренние отступы (padding), рамку (border) и внешние отступы (margin). Внутренние отступы и рамка находятся внутри нарисованной коробки; внешние отступы отделяют её от соседних элементов.
- При использовании
content-box, ширине 320 px, внутренних отступах 16 px с обеих сторон и рамках 2 px с обеих сторон получается 356 px до внешних отступов. При использованииborder-box, объявленная ширина 320 px уже включает эти внутренние отступы и рамки.
Расположите области модели блока от содержимого наружу.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
Отступы (padding) и рамка (border) окружают содержимое; маржин (margin) отделяет блок от соседних элементов.
При использовании content-box ширина содержимого составляет 320 px, левая/правая внутренняя отступ — по 16 px, а левая/правая рамка — по 2 px. Какова ширина до применения внешних отступов (в пикселях)?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
320 + 16 + 16 + 2 + 2 = 356 px.
Сделайте ширину гибкой
- Адаптивный дизайн подстраивает контент и макет под доступное пространство. Данная карточка заполняет свой контейнер шириной до 400 px, включая внутренние отступы и рамку.
- Используйте это правило для элемента с
class="card". Длинный непрерывный контент, внешние отступы родителя и другие правила всё равно требуют проверки; одного объявления недостаточно, чтобы гарантировать, что вся страница поместится.
.card {
box-sizing: border-box;
width: 100%;
max-width: 400px;
padding: 16px;
border: 2px solid currentColor;
overflow-wrap: anywhere;
}
Внутри контейнера 280 px эта карточка имеет ширину 280 px вместе со своими внутренними отступами и рамкой. Внутри контейнера 700 px она ограничивается значением 400 px. Её внешние отступы по-прежнему добавляют дополнительное пространство.
Карточка с внутренними отступами должна заполнять свой контейнер до 400 пикселей, включая свои рамки. Какой набор правил подходит лучше всего?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
border-box включает отступы и рамки в объявленную ширину. Родительская разметка и содержимое всё ещё требуют проверки.
Изменяйте макет только тогда, когда это необходимо
- Медиа-запрос применяет правила при выполнении определённого условия. Например, измените две колонки на одну, если они станут слишком узкими для чтения.
- Определяйте точку переломника (breakpoint) исходя из контента, затем проверяйте несколько различных ширин и увеличенный размер текста. Не предполагайте, что все телефоны или все ноутбуки имеют одинаковую полезную ширину экрана.
Проверьте правило, которое фактически применяется
- Каскад учитывает такие факторы, как источник, важность и слои, ещё до определения специфичности селектора. Для сравнимых правил ID-селектор более специфичен, чем селектор класса; селектор класса более специфичен, чем селектор элемента.
- Когда сравнимые правила имеют равную специфичность, решение может быть принято на основе последовательности в источнике. Используйте инструменты разработчика в браузере для проверки применённых правил, загруженных таблиц стилей и вычисленных значений.
!important участвует в каскаде; он не нарушает работу CSS. Избегайте использования его как необъяснённого « заплатки ». Сначала определите причину: отсутствие таблицы стилей, некорректное объявление или переопределяющее правило могут объяснить неожиданный результат.
Два обычных правила из одного источника и слоя используют одинаковый селектор .card и задают противоречащие цвета. Никаких других решающих факторов нет. Какой цвет победит?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Равная специфичность не делает порядок нерелевантным. Для сравнимых равных правил более поздний порядок в источнике определяет результат.
!important является частью правил каскада CSS, но не следует использовать его как необъяснимый патч.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Влияние на приоритет. Проверьте конфликт и используйте его осознанно, а не утверждая, что это нарушает работу CSS.
Сопоставьте наблюдение с следующим полезным шагом проверки.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Исследуйте фактическую причину, а не предполагайте, что все сбои вызваны специфичностью.
Протестируйте коробку и восприятие чтения
- Попробуйте узкие и широкие контейнеры, навигацию с клавиатуры и увеличенный текст. Убедитесь, что текст читаем в обеих цветовых темах и что контент может переноситься.
- Объясните одно исправление переполнения, используя расчёт коробки, и один конфликт стилей, основываясь на фактических применяемых правилах.
Рассчитайте полную коробку, предпочтите гибкие размеры, затем проверьте каскад. Специфичность важна, но это не единственный решающий фактор.
Источник: W3C Каскад CSS.
Карточка корректно отображается при обычном размере текста, но выходит за рамки при увеличении текста. Что следует сделать?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Адаптивное поведение включает изменение размеров текста и ограничений контента, а не только скриншот одного разрешения экрана.