Введение в CSS | htmlbook.ru
После знакомства с HTML разработчики сайтов разделяются на две основные категории. Одна часть считает, что с помощью HTML на сайте можно создавать всё или практически всё, другая же понимает, что в целом средств разметки недостаточно для оформления веб-документов. Действительно, HTML лишь первый этап в процессе обучения созданию сайтов. Следующим шагом является изучение стилей или CSS (Cascading Style Sheets, каскадные таблицы стилей).
Стили представляют собой набор параметров, управляющих видом и положением элементов веб-страницы. Чтобы стало понятно, о чем идет речь, посмотрим на рис. 1.1.
Рис. 1.1. Веб-страница, созданная только на HTML
Это обычная веб-страница, оформленная без всяких изысков. Тот же самый документ, но уже с добавлением стилей приобретает совершенно иной вид (рис. 1.2).
Рис. 1.2. Веб-страница, созданная на HTML и CSS
Перемена разительна, поэтому заглянем в код, чтобы понять, в чем же разница (пример 1.1).
Пример 1.1. Исходный код документа
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<title>Флексагон</title>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
</head>
<body>
<h2>Флексагон</h2>
<p>Флексагон представляет собой бумажную фигуру, которая имеет
три и более стороны. Поначалу кажется, что это невозможно, но вспомните
ленту Мёбиуса, она ведь имеет всего одну сторону, в отличие от листа бумаги,
и, тем не менее, реальна. Так же реален и флексагон, который легко сделать и
склеить в домашних условиях. Он выглядит как двухсторонний шестиугольник, но
стоит согнуть его особым образом, и мы увидим третью сторону. Легко убедиться,
что мы имеем дело именно с тремя сторонами, если раскрасить их в разные цвета.
Перегибая флексагон, по очереди будем наблюдать все его поверхности.</p>
</body>
</html>
Сам код HTML никаких изменений не претерпел и единственное добавление — это строка <link rel=»stylesheet» href=»style.css»>. Она ссылается на внешний файл с описанием стилей под именем style.css. Содержимое этого файла показано в примере 1.2.
Пример 1.2. Содержимое стилевого файла style.css
body {
font-family: Arial, Verdana, sans-serif; /* Семейство шрифтов */
font-size: 11pt; /* Размер основного шрифта в пунктах */
background-color: #f0f0f0; /* Цвет фона веб-страницы */
color: #333; /* Цвет основного текста */
}
h2 {
color: #a52a2a; /* Цвет заголовка */
font-size: 24pt; /* Размер шрифта в пунктах */
font-family: Georgia, Times, serif; /* Семейство шрифтов */
font-weight: normal; /* Нормальное начертание текста */
}
p {
text-align: justify; /* Выравнивание по ширине */
margin-left: 60px; /* Отступ слева в пикселах */
margin-right: 10px; /* Отступ справа в пикселах */
border-left: 1px solid #999; /* Параметры линии слева */
border-bottom: 1px solid #999; /* Параметры линии снизу */
padding-left: 10px; /* Отступ от линии слева до текста */
padding-bottom: 10px; /* Отступ от линии снизу до текста */
}
В файле style.css как раз и описаны все параметры оформления таких тегов как <body>, <h2> и <p>. Заметьте, что сами теги в коде HTML пишутся как обычно.
Поскольку на файл со стилем можно ссылаться из любого веб-документа, это приводит в итоге к сокращению объёма повторяющихся данных. А благодаря разделению кода и оформления повышается гибкость управления видом документа и скорость работы над сайтом.
CSS представляет собой свой собственный язык, который совпадает с HTML только некоторыми значениями, например способом определения цвета.
Типы стилей
Различают несколько типов стилей, которые могут совместно применяться к одному документу. Это стиль браузера, стиль автора и стиль пользователя.
Стиль браузера
Оформление, которое по умолчанию применяется к элементам веб-страницы браузером. Это оформление можно увидеть в случае «голого» HTML, когда к документу не добавляется никаких стилей. Например, заголовок страницы, формируемый тегом <h2>, в большинстве браузеров выводится шрифтом с засечками размером 24 пункта.
Стиль автора
Стиль, который добавляет к документу его разработчик. В примере 1.2 показан один из возможных способов подключения авторского стиля.
Стиль пользователя
Это стиль, который может включить пользователь сайта через настройки браузера. Такой стиль имеет более высокий приоритет и переопределяет исходное оформление документа. В браузере Internet Explorer подключение стиля пользователя делается через меню , как показано на рис. 1.3.
Рис. 1.3. Подключение стиля пользователя в браузере Internet Explorer
В браузере Opera аналогичное действие происходит через команду (рис. 1.4).
Рис. 1.4. Подключение стиля пользователя в браузере Opera
Указанные типы стилей могут спокойно существовать друг с другом, если они не пытаются изменить вид одного элемента. В случае возникновения противоречия вначале имеет приоритет стиль пользователя, затем стиль автора и последним идёт стиль браузера.
Вопросы для проверки
1. Требуется задать цвет заголовка зелёным. Какое стилевое свойство подойдёт для этой цели?
- font-color
- color
- font-family
- text
- font-size
2. Что такое стиль?
- Способ сокращения HTML-кода за счёт переноса части данных в другой файл.
- Язык разметки гипертекстовых документов.
- Набор правил форматирования элементов веб-страницы.
- Метод преобразований текстовых документов в HTML.
- Технология, представляющая собой разные приёмы для вёрстки HTML-кода.
3. Как расшифровывается аббревиатура CSS?
- Colorful Style Sheets
- Cascading Style Sheets
- Computer Style Sheets
- Creative Style Sheets
- Common Style Sheets
Ответы
1. color
2. Набор правил форматирования элементов веб-страницы.
3. Cascading Style Sheets
Введение в CSS — Изучение веб-разработки
CSS (каскадные таблицы стилей) используется для стилизации и компоновки веб-страниц — например, для изменения шрифта, цвета, размера и интервала содержимого, разделения его на несколько столбцов или добавления анимации и других декоративных элементов. Этот модуль обеспечивает хорошее начало вашего пути к освоению CSS с основами того, как он работает, как выглядит синтаксис и как вы можете начать использовать его для добавления стилей в HTML.
Необходимые условия
Перед запуском этого модуля вы должны иметь:
- Базовое знакомство с использованием компьютеров и пассивным использованием Интернета (то есть, просматривая его, потребляя контент).
- Базовая рабочая среда, описанная в разделе Установка базового программного обеспечения, и понимание того, как создавать файлы и управлять ими, подробно описано в разделе Работа с файлами.
- Основное знакомство с HTML, как описано в модуле Введение в HTML.
Примечание: Если вы работаете на компьютере / планшете / другом устройстве, на котором у вас нет возможности создавать свои собственные файлы, вы можете опробовать (большую часть) примеры кода в онлайн-программах кодирования, таких как JSBin или Thimble.
Руководства
Этот модуль содержит следующие статьи, в которых вы ознакомитесь со всеми основными теориями CSS и сможете проверить некоторые навыки.
- Что такое CSS?
- CSS (Каскадные таблицы стилей) позволяет создавать великолепно выглядящие веб-страницы, но как же это работает? Эта статья объясняет, что такое CSS с помощью простого примера синтаксиса, а также охватывает некоторые ключевые термины о языке.
- Начало работы с CSS
- В этой статье мы возьмем простой HTML-документ и применим к нему CSS, изучая некоторые практические вещи о языке.
- Как структурирован CSS
- Теперь, когда у вас есть представление о том, что такое CSS и как его использовать, пришло время немного углубиться в структуру самого языка. Мы уже встречали множество концепций, обсуждаемых здесь; Вы можете вернуться к этому, чтобы повторить, если вы находите какие-либо более поздние концепции запутанными.
- Как работает CSS
- Мы изучили основы CSS — для чего он нужен и как писать простые таблицы стилей. В этом уроке мы рассмотрим, как браузер берет CSS и HTML и превращает их в веб-страницу.
- Использование ваших новых знаний
- С учетом того, что вы узнали за последние несколько уроков, вы должны обнаружить, что вы можете форматировать простые текстовые документы с использованием CSS, чтобы добавить к ним свой собственный стиль. Эта статья дает вам шанс сделать это.
Смотрите также
- Intermediate Web Literacy 1: Intro to CSS
- Отличный базовый курс от Mozilla, в котором рассматриваются и тестируются многие навыки, о которых говорилось в модуле Введение в CSS. Узнайте о стилях элементов HTML на веб-странице, селекторах CSS, атрибутах и значениях.
CSS — Изучение веб-разработки | MDN
Каскадные таблицы стилей, или CSS, — это технология, которую следует изучать непосредственно после HTML. В отличие от HTML, который служит для определения структуры и семантики содержимого, CSS отвечает за его внешний вид и отображение. К примеру, с помощью CSS можно изменять шрифт, цвет, размер, межстрочный интервал, разделять содержимое на колонки, а также добавлять анимацию и другие декоративные элементы.
План обучения
Прежде чем браться за CSS, Вам стоит разобраться с основами HTML. Мы рекомендуем изучить модуль Введение в HTML. После его прохождения переходите к:
- изучению CSS, начиная с модуля Введение в CSS;
- далее — к более продвинутой теме HTML-модули
- после этого — к модулю JavaScript и тому, как его использовать, чтобы добавить Вашим веб-страницам динамического функционала.
Мы рекомендуем изучать HTML и CSS одновременно. HTML гораздо интереснее в сочетании с CSS и изучать эти языки раздельно было бы ошибочно.
В данном разделе содержится информация, которая требует самой базовой ознакомленности с компьютером и интернетом. В статье Установка рабочего пространства подробно описано необходимое ПО и способы его установки, необходимо также будет уметь создавать и управлять файлами, в чём поможет статья Работа с файлами, которая включена в полное руководство для новичка Основы веб.
Перед тем как начинать данный раздел, мы рекомендуем пройти руководство Основы веб, хотя это вовсе не обязательно; большая часть того, что Вы найдёте в статье об основах CSS также встречается в разделе Введение в CSS, хотя и более детально.
Модули
Этот раздел содержит модули в порядке, наиболее подходящем для работы с ними. Лучше всего начать с самого первого.
- Введение в CSS
- CSS (каскадные таблицы стилей) используется для стилизации и компоновки веб-страниц, — например, для изменения шрифта, цвета, размера и интервала содержимого, разделения его на несколько столбцов или добавления анимации и других декоративных элементов. Этот модуль обеспечивает хорошее начало Вашего пути к освоению CSS с основами того, как он работает, как выглядит синтаксис и как Вы можете начать использовать его для добавления стилей в HTML.
- Дизайн текста
- Здесь мы рассмотрим основы стилизации текста, в том числе изменение шрифта, жирности, курсивного написания, межстрочного и межбуквенного интервалов, теней и других особенностей текста. Завершается модуль демонстрацией применения пользовательских шрифтов на вашей странице, оформлением списков и ссылок.
- Стилизация блоков
- Далее мы рассмотрим дизайн блоков, один из основных шагов к разметке веб-страницы. В этом модуле мы кратко рассмотрим работу с блочными элементами, а затем ознакомимся с приемами управления блоками, установив такие свойства, как поля, оступы и границы, настроим фоновые цвет и изображение, а также рассмотрим более сложные функции, такие как тени и фильтры.
- Размещение элементов с помощью CSS
- К текущему моменту мы познакомились с основами CSS. Мы знаем, как оформлять текст, как оформлять и изменять блоки, в которых находится ваш контент. Пришло время узнать, как разместить ваши блоки в нужных местах в зависимости от области просмотра и тому подобного. Мы уже знаем достаточно, чтобы погрузиться в изучение разметки с помощью CSS, в то, как изменять отображение в зависимости от особенностей экрана, как иcпользовать современные методы разметки, такие как Flexbox и CSS grid, и некоторые традиционные методы разметки, которые все ещё применяются.
- Адаптивный дизайн (TBD)
- В настоящее время существоет множество устройств, способных осуществлять просмотр веб-страниц, адаптивный веб-дизайн (RWD — Responsive Web Design) стал основным навыком веб-разработки. В этом модуле рассказывается об основных принципах и инструментах RWD, объясняется, как применять различные CSS к документу в зависимости от таких функций устройства, как ширина экрана, ориентация и разрешение, а также изучить имеющиеся возможности отображения различных видео и изображений в зависимости от характеристик используемого пользователем устройства.
Решаем часто встречающиеся проблемы в CSS
В разделе Использование CSS для решения общих проблем даны ссылки на разделы, объясняющие, как следует использовать CSS для решения самых распространенных проблем при создании веб-страницы.
В самом начале Вы будете применять цвет к тексту и фону HTML-элементов, изменять их размер, форму, местоположение, добавлять и стилизовать границы. Однако с уверенным знанием даже основ CSS Вы сможете сделать практически что угодно. Одним из плюсов изучения CSS является то, что Вы быстро начнёте понимать, можно или нельзя что-то сделать средствами CSS, даже если Вы еще не уверены, как это сделать.
Смотрите также
- CSS на MDN
- Основная точка входа для CSS документации на MDN с подробными ссылками на дополнительные учебники.
- CSS-справочник
- Комплексный справочник по всем многочисленным особенностям языка CSS, — если Вы, к примеру, хотите знать, какие значения может иметь свойство, то Вам сюда.
Большая подборка лучших ресурсов для изучения CSS
Подборка ресурсов для изучения CSS с разделением на тематические группы. Два по цене одного: план обучения и лучшие учебники в одной статье!
CSS – это обширная область, включающая множество аспектов манипулирования элементами страницы. Начинающим веб-разработчикам бывает непросто понять, что и как изучать. Поэтому мы собрали лучшие ресурсы по CSS и разбили их на группы – так вы одновременно можете составить план обучения и подобрать необходимые материалы.
Новичкам лучше начинать с самого начала и последовательно разбираться с темами. Более опытные веб-разработчики имеют полную свободу в передвижении по нашему дайджесту.
Селекторы
Селекторы – ключевое понятие CSS, ведь чтобы как-нибудь стилизовать элемент, его прежде всего нужно найти.
Концепции для начинающих: Как работают CSS селекторы
Одно из лучших введений в концепцию CSS-селекторов, включая их сложные комбинации и псевдоселекторы.
Развиваем скилл в CSS-селекторах
Пошаговое руководство для изучения CSS-селекторов.
Box Model
Еще одна базовая теоретическая концепция в CSS. Она объясняет, как формируются различные элементы страницы и почему реальная ширина блока не всегда равна значению свойства width.
Открывая Box Model
Отличный вводный ресурс с грамотными визуальными пояснениями и подробным разбором свойств.
The box model
Полноценная документация коробочной модели с интерактивными примерами.
Построение макета
Веб-страница начинается с макета – определения взаимного расположения элементов. Современные системы раскладки (Flexbox и CSS Grid) – это очень мощные инструменты, позволяющие манипулировать блоками по вашему желанию. Существуют и другие – более традиционные – свойства позиционирования, которые вы должны изучить.
Начало работы с CSS-макетами
Замечательное руководство для новичков и тех, кто хочет освоить современные CSS-тренды. Разобраны все инструменты макетирования: от float до Grid.
Суперруководство по Flexbox – обучение на примерах
Flexbox-система стала самым крупным прорывов в CSS за последние десять лет и продолжает оставаться востребованной.
Комплексное руководство по выравниванию на Flexbox
Flexbox существенно упрощает задачу горизонтального и вертикального выравнивания элементов.
Flexbox Froggy
Милая и полезная игра, которая позволяет практиковать свои навыки flexbox, позиционируя забавных лягушек на лилиях.
Руководство для начинающих по CSS Grid
Большой, простой и максимально визуализированный гайд по Grid-системе.
Полное руководство по Grid
Один из самых полных ресурсов для изучения CSS Grid, включающий все возможные свойства и значения Grid-правил.
Лучшие практики с CSS Grid
CSS Grid существует уже достаточно долго, чтобы можно было сформулировать лучшие практики использования.
Еще одна коллекция интересных фактов о CSS Grid
Использование сокращенных свойств, явных и неявных строк и столбцов и еще немало полезных уроков. Множество примеров, в которых можно копаться в свое удовольствие.
Шпаргалка по Grid Layout
Удобная шпаргалка с основами Grid-разметки.
CSS Grid Garden
Еще одна отличная обучающая игра, в которой вам нужно позиционировать морковку в саду.
Как браузеры позиционируют float-элементы
Системы Flexbox и Grid практически вытеснили старый добрый float из процесса создания макетов, но иногда он все еще нужен.
CSS-позиционирование за десять шагов
Пошаговое руководство, которое расскажет вам об абсолютном и относительном позиционировании в CSS.
Z-index: разделение слоев с помощью CSS
На первый взгляд z-index – очень простое свойство, но в его использовании есть множество подводных камней. Эта статья подробно объяснит, откуда что берется.
Позиционирование
Полная документация для изучения CSS позиционировая, включающая также новый «липкий» (sticky) способ позиционирования.
Что не так со схлопывающимися маргинами?
Схлопывание маргинов – камень преткновения для многих начинающих веб-разработчиков. Эта статья очень наглядно объясняет причины и значение этого явления.
Стилизация текста
Самая важная часть любого сайта – контент, а значит, текст. В CSS есть множество способов сделать его красивым.
Основы стилизации текста и шрифта
Начинайте знакомство с текстовыми свойствами CSS отсюда. Здесь вы узнаете все о шрифтах, размерах, начертаниях и многом другом.
Руководство по CSS-стилизации ссылок
Гиперссылки в интернете необычайно важны, поэтому подход к их оформлению должен быть особым.
Стилизуем списки
Списки – замечательный способ отобразить разнообразные массивы данных. Они имеют собственный набор стилей, с которым вы здесь и познакомитесь.
Используем @font-face
Подробное руководство по использованию пользовательских шрифтов.
Стилизация контейнеров
Контейнеры, или коробки (boxes), – главные структурные элементы веб-страниц. С их устройством вы уже разобрались, изучая box model. Теперь пришла пора украшать.
Как добавить забавные CSS-фоны на сайт
Фон – один из самых мощных инструментов выделения элементов. CSS позволяет использовать для этого изображения, градиенты и многое другое.
Стилизация таблиц
Таблицы полезны для структурированного отображения данных, но в исходном виде они не очень гламурны. К счастью, мы вполне можем сделать их красивыми.
Box-shadow, одна из лучших новых функций CSS3
Подробное введение в свойство box-shadows, которое научит вас создавать тени с нужными параметрами и даже комбинировать их самым невероятным образом.
CSS Outline
Outline немножко потерялся в сравнении с border, но это тоже очень мощный инструмент выделения блоков со своими преимуществами.
Множественные рамки
4 способа создания нескольких рамок для одного блока.
CSS-фильтры
Очень простая инструкция по использованию CSS-фильтров.
filter
Полная документация для изучения CSS фильтров с примерами.
Единицы измерения
Практически все величины (размер, позицию, параметры тени) нужно как-то измерять.
Значения и единицы CSS
Введение во все существующие типы единиц в CSS: от пикселей до неизмеряемых значений.
REM vs EM
Лучшее описание отзывчивых единиц rem и em со всеми их плюсами и минусами.
Знакомство с единицами вьюпорта
Единицы вьюпорта позволяют согласовать макет с размерами экрана.
Функция calc() с примерами
Calc – один из самых полезных инструментов CSS. Эта статья расскажет, как его правильно использовать.
Цвета и градиенты
В вебе используют целых 3 уникальные цветовые системы, а также есть возможность создавать сложные градиенты.
Color
Подробный разбор различных цветовых систем.
CSS-градиенты
Создание различных градиентов и браузерная поддержка.
CSS-градиенты
Визуальный инструмент для генерации CSS градиентов.
Как добавить градиенты к изображениям
Статья расскажет, как сделать градиент выцветания фонового изображения.
Прогресс-бар на CSS3
Использование градиентов для создания красивых прогресс-баров.
Переходы и анимация
Плавное и регулируемое изменение состояний страницы очень важно для улучшения пользовательского опыта.
Объяснение CSS transitions
Большое пошаговое введение в использование переходов CSS.
CSS transitions
Хорошая статья для изучения CSS переходов с отличными примерами различных функций плавности.
Введение в CSS-анимацию
Этот материал объясняет принцип работы анимации ключевых кадров в CSS.
Animista
Графический интерфейс для изучения и создания анимации.
Трансформации
CSS позволяет перемещать и изменять элементы в 2d или 3d пространстве. Трансформации можно объединять с плавными переходами, получая невероятные эффекты.
Трансформации
Замечательное подробное введение в различные типы преобразований CSS и их последствия.
Высокопроизводительные анимации
Статья расскажет, как создавать высокопроизводительные анимации с помощью CSS.
Псевдоклассы и псевдоэлементы
Таинственные «псевдоштучки» могут быть очень полезными, если нужно реализовать на странице нечто нестандартное.
Учимся использовать :after и :before
Подробное введение в псевдоэлементы: before и: after.
На что способны псевдоэлементы
Большой список удивительных возможностей псевдоэлементов CSS.
Анимация псевдоэлементов
С помощью псевдоэлементов можно создавать сложные и красивые анимации.
Использование псевдоэлементов в CSS Grid
Псевдоэлементы в CSS считаются прямыми потомками создавшего их элемента, а значит могут участвовать в формировании Grid-макета.
Как работают псевдоклассы CSS
Отличное руководство по псевдоклассам с визуальными диаграммами.
Селекторы псевдоклассов
Полный перечень всех доступных CSS-псевдоклассов.
@-правила
CSS умеет учитывать особенности среды формирования страницы (размеры вьюпорта или экрана устройства, вывод на печать, ориентацию. Это очень полезно для создания отзывчивых сайтов.
@-правила CSS
Обзор различных @-правил и их возможностей.
CSS медиа-запросы
Использование медиа-запросов для адаптации страницы к различным экранам.
Как писать mobile-first CSS
Mobile-first – популярный подход к разработке адаптивного дизайна.
Специфичность
Разобравшись с практическими основами CSS, начинайте погружение в теорию. Концепции специфичности, каскадности и наследования стилей очень важны для успешной работы.
Специфика специфичности
Отличное введение в теорию CSS. Коротко и по делу.
CSS-специфичность: что нужно знать
Подробный обзор концепции специфичности со множеством примеров и списком полезных ресурсов.
Сохраняем низкую CSS-специфичность
Чем ниже специфичность стилей, тем лучше. Эта статья расскажет, как следовать этому правилу.
Препроцессоры
Использование препроцессоров облегчает и ускоряет CSS-разработку.
Основы Sass
Руководство по основным функциям Sass.
LESS за 10 минут
Полезное руководство для изучения CSS-фреймворка LESS для начинающих.
Stylus
Еще один популярный препроцессор CSS с лаконичным синтаксисом.
Введение в PostCSS
PostCSS для CSS – это аналог Babel для JavaScript.
CodeKit vs. Prepros
Эти инструменты позволяют компилировать код препроцессоров в чистый CSS без использования сложных систем сборки.
CSS-архитектура
CSS проекта имеет тенденцию нарастать как снежный ком. Чтобы не запутаться в стилях, важно правильно их организовывать.
Введение в объектно-ориентированный CSS (OOCSS)
OOCSS – одно из первых низкоспецифичных соглашений об именовании в CSS.
БЭМ для начинающих
На сегодняшний день БЭМ – самое популярное CSS-соглашение. Из статьи вы узнаете, что это такое и для чего необходимо.
SMACSS
Одна из первых крупных архитектурных CSS-систем с великолепной документацией, в которой доступно изложена концепция систематизации стилей.
ITCSS: масштабируемая и поддерживаемая CSS-архитектура
Одна из немногочисленных хороших статей по архитектуре ITCSS.
ECSS
Еще один подход к организации CSS кода.
Подход 80-20 для устойчивого SCSS
Только самые важные и широко используемые функции SCSS для начинающих веб-разработчиков.
Популярные практики
Широко распространенные и полезные практики CSS, которые сделают вашу жизнь немного проще.
Autoprefixer
Автоматическая расстановка браузерных префиксов существенно упрощает работу.
Линтинг CSS со stylelint
Держите свои стили чистыми, валидными и свободными от ошибок.
О normalize.css
Рассказ о том, зачем нужна нормализация стилей.
Фреймворки
Создавайте сайты быстрее и проще с помощью CSS-фреймворков.
Bootstrap
Самый популярный CSS-фреймворк со множеством настроек.
Bootstrap 4 за 30 минут
Отличный учебник по последней версии Bootstrap.
ZURB Foundation
Фреймворк имеет огромное количество SCSS-настроек и позволяет создавать собственные расширяемые компоненты на базе имеющихся.
Semantic UI
Мощная фреймворк с широкими возможностями тематизации.
Learn Semantic
Обширный набор учебных пособий для Semantic UI.
Bulma
Компактный и легкий фреймворк для тех, кто не любит излишества.
MaterializeCSS
Фреймворк реализует систему Google Material Design. Есть реализации для многих популярных js-фреймворков.
Комплексные ресурсы
Caniuse.com
Ключевой инструмент для определения поддержки браузером любой функции CSS.
CSS-шпаргалка
Обширная шпаргалка по всем свойства и значениям CSS.
Альманах CSS
Алфавитный онлайн-альманах свойств и ключевых слов с описаниями, интерактивными примерами и массой полезной информации.
Рассылки
Регулярные информационные рассылки помогут вам идти в ногу с CSS-миром.
Делитесь своими любимыми ресурсами для изучения CSS в комментариях.
Оригинал: The Ultimate Guide to Learning CSS
Самоучитель CSS | Учебный курс
Стилем или CSS (Cascading Style Sheets, каскадные таблицы стилей) называется набор параметров форматирования, который применяется к элементам документа, чтобы изменить их внешний вид. Цвет, размеры, положение и другие параметры хранятся в определённом месте и легко «прикручиваются» к любому элементу. Стили являются удобным, практичным и эффективным инструментом при вёрстке веб-страниц и оформления текста, таблиц, ссылок, изображений и пр. При использовании стилей мы получаем «чистый» код HTML, который только определяет структуру документа и набор элементов, а оформление веб-страницы и самих элементов возлагается на CSS.
С помощью стилей также можно определить дизайна для разных устройств вывода: принтера, монитора, смартфона, планшета и др. Например, на экране монитора отображать страницу в одном дизайне, а при её печати — в другом. Эта возможность также позволяет скрывать или показывать некоторые элементы документа при отображении на разных устройствах. CSS учитывает ориентацию устройства (портретная или альбомная), размер и другие параметры экрана и мгновенно переключает вид веб-страницы в зависимости от того, на каком устройстве и как мы просматриваем сайт.
Стили, как правило, хранятся в одном или нескольких специальных файлах, ссылка на которые указывается во всех веб-страницах сайта. Благодаря этому удобно править стиль в одном месте, при этом оформление элементов автоматически меняется на всех страницах, которые связаны с указанным файлом. Таким образом, достаточно отредактировать один стилевой файл и оформление связанных с ним веб-страниц сразу же поменяется.
Влад Мержевич
Веб-разработчик, автор нескольких книг, посвящённых созданию сайтов, HTML и CSS. Кандидат технических наук.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 19.11.2018
Редакторы: Влад Мержевич
Что такое CSS, изучаем CSS основы с нуля, рекомендуется всем новичкам!
Добрый день дорогие читатели! Сегодня я немного начну с самых азов и поговорю о том, что же такое CSS.
Возможно раньше вы уже слышали об этом термине и о том, что он реально может сделать для вас и вашего сайта.
CSS (Cascading Style Sheet) это аббревиатура, которая переводится как Каскадные таблицы стилей.
Изучение CSS: что я могу сделать с его помощью?
CSS это, прежде всего, язык стилей, определяющий отображение HTML документов на блоге или сайте. Например таблицы стилей хорошо работают со шрифтами, цветом, полями, строками, высотой, шириной, фоновыми изображениями, позиционированием и многое другое. Вот например как бы выглядел мой сайт smarticle.ru если бы на нем не было css стилей:
Реально просто полная каша из текста и картинок, а вот как выглядит сайт с включением таблицы стилей (тот же участок):
HTML вообще не служит средством для оформления веб сайтов. А CSS как раз дает такие возможности для вебмастеров, более точные и сложные. Каскадные таблицы стилей поддерживаются всеми существующими браузерами сегодня.
Всего лишь несколько уроков из нашей серии и вы уже сможете сделать свои собственные стили и использовать их на своих сайтах.
В чем кроется различие между HTML и CSS?
HTML является неким каркасом, скелетом, куда помещается содержимое сайта, все теги. CSS используется для форматирования содержимого веб документа.
Звучит наверное немного заумно и не понятно. Продолжайте чтение и изучение CSS и вы все поймете.
В старые добрые времена, когда Мадонна была девственницей, один парень по имени Тим Бернерс Ли изобрел всемирную паутину, которой мы так активно сегодня пользуемся, а язык разметки HTML предназначался для структурирования текста. Автор мог только делать разметку текста. «Тут заголовок» или «Тут параграф», применяя теги, например
<h2> и <p> .
Когда Веб стал набирать популярность, дизайнеры стали искать новые пути форматирования онлайн документов. Для удовлетворения их потребностей производители браузеров (в то время Netscape и Microsoft) придумали новые html теги, такие как, например,
<font> , которые несколько отличались от привычных тегов, определив расположение, там где они будут находится, а не саму структуру.
Это также привело к тому, что оригинальные структурные теги, такие как
<table> стали все больше применяться в макетах страниц, вместо добавления структуры в текст. Таким образом появилась так называемая «табличная верстка». Были такие теги как
<blink> , которые поддерживались только одним типом браузеров. «Вам нужно использовать браузер X для просмотра этой страницы» — вот такие условия были на многих сайтах.
CSS был изобретен, чтобы в корне изменить эту ситуацию, путем предоставления веб дизайнерам возможностей точного дизайна, который бы поддерживался всеми браузерами. В то же время, такое разделение удобно с точки зрения редактирования и внесения изменений, что делает обслуживание сайта намного проще.
Какие они основные преимущества CSS?
Появление каскадных страниц вызвало революцию в мире веб дизайна. Вот список этих преимуществ:
- Контроль расположения элементов на всех страницах из одного файла стилей
- Абсолютный контроль над всей разметкой сайта
- Можно разделять стили (одни – для отображения дизайна, другие – для текста и печатания, третьи – для отображения в мобильных устройствах)
- Многочисленные передовые и сложные методы
Мы узнали небольшую историю о том, что же такое стили. В следующем уроке мы продолжим уже практическое изучение CSS. Впереди Вас ждет много нового и интересного! Рекомендуйте наш сайт своим друзьям и знакомым.
Знакомство с CSS — Изучение кода HTML и CSS
Урок 3
В этом уроке
3
CSS
Поделиться
CSS — это сложный язык, обладающий довольно большой мощностью.
Это позволяет нам добавлять макет и дизайн на наши страницы, и это позволяет нам делиться этими стилями от элемента к элементу и от страницы к странице. Однако, прежде чем мы сможем разблокировать все его функции, мы должны полностью понять несколько аспектов языка.
Во-первых, важно точно знать, как визуализируются стили. В частности, нам нужно знать, как работают различные типы селекторов и как порядок этих селекторов может влиять на отображение наших стилей. Мы также хотим понять несколько общих значений свойств, которые постоянно появляются в CSS, особенно те, которые имеют дело с цветом и длиной.
Давайте заглянем под капот CSS, чтобы понять, что именно происходит.
Каскад
Мы начнем разбирать, как именно рендерится стили, с рассмотрения так называемого каскада и изучения нескольких примеров каскада в действии.В CSS все стили располагаются каскадом от верха таблицы стилей к низу, позволяя добавлять или перезаписывать разные стили по мере продвижения таблицы стилей.
Например, предположим, что мы выбираем все элементы абзаца в верхней части нашей таблицы стилей и устанавливаем для них цвет фона оранжевый
и размер шрифта 24
пикселей. Затем в нижней части нашей таблицы стилей мы снова выбираем все элементы абзаца и устанавливаем для них цвет фона зеленый
, как показано здесь.
1 2 3 4 5 6 7 8 п { фон: оранжевый; размер шрифта: 24 пикселя; } п { фон: зеленый; }
Поскольку селектор абзаца, который устанавливает цвет фона на
зеленый
, идет после селектора абзаца, который устанавливает цвет фона наоранжевый
, он будет иметь приоритет в каскаде. Все абзацы появятся на зеленом фоне.Размер шрифта останется
24
пикселей, потому что второй селектор абзаца не определил новый размер шрифта.Каскадные свойства
Каскад также работает со свойствами внутри отдельных селекторов. Снова, например, предположим, что мы выбираем все элементы абзаца и устанавливаем для них цвет фона
оранжевый
. Затем непосредственно под объявлением свойства и значения фонаorange
мы добавляем другое объявление свойства и значения, устанавливая цвет фона наgreen
, как показано здесь.
1 2 3 4 5 п { фон: оранжевый; фон: зеленый; }
Поскольку объявление цвета фона
зеленый
идет после объявления цвета фонаоранжевый
, оно будет иметь приоритет над фономоранжевый
, и, как и раньше, наши абзацы будут отображаться с фономзеленый
.Все стили будут располагаться каскадом от верха нашей таблицы стилей к низу нашей таблицы стилей.Однако бывают случаи, когда каскад работает не так хорошо. Такие случаи возникают, когда используются разные типы селекторов, и специфика этих селекторов нарушает каскад. Давайте взглянем.
Расчетная специфичность
Каждый селектор в CSS имеет вес специфичности. Вес специфичности селектора вместе с его размещением в каскаде определяет, как будут отображаться его стили.
В Уроке 1 «Создание вашей первой веб-страницы» мы говорили о трех различных типах селекторов: селекторах типа, класса и идентификатора.Каждый из этих селекторов имеет различный вес специфичности.
Селектор типа имеет самый низкий вес специфичности и содержит значение
0-0-1
. Селектор класса имеет средний вес специфичности и имеет значение0-1-0
. Наконец, селектор ID имеет высокий вес специфичности и содержит значение1-0-0
. Как видим, баллы специфичности рассчитываются по трем столбцам. В первом столбце подсчитываются селекторы идентификаторов, во втором столбце подсчитываются селекторы классов,Изучение стиля HTML с помощью CSS — Изучение веб-разработки
Cascading Stylesheets — или CSS — это первая технология, которую вы должны начать изучать после HTML.В то время как HTML используется для определения структуры и семантики вашего контента, CSS используется для его стилизации и размещения. Например, вы можете использовать CSS, чтобы изменить шрифт, цвет, размер и интервал вашего контента, разделить его на несколько столбцов или добавить анимацию и другие декоративные функции.
Хотите стать фронтенд-разработчиком?
Мы составили курс, который включает всю важную информацию, необходимую для достижения вашей цели.
Начать
Предварительные требования
Вы должны изучить основы HTML, прежде чем пытаться использовать CSS.Мы рекомендуем вам сначала проработать наш модуль Введение в HTML.
После того, как вы поймете основы HTML, мы рекомендуем вам изучать дополнительно HTML и CSS одновременно, переходя от одного раздела к другому. Это связано с тем, что HTML намного интереснее и интереснее изучать, когда вы применяете CSS, и вы не можете действительно изучить CSS, не зная HTML.
Перед тем, как начать этот раздел, вы также должны быть знакомы с использованием компьютеров и пассивного использования Интернета (т.е., просто глядя на него, потребляя контент). У вас должна быть настроена базовая рабочая среда, как подробно описано в разделе «Установка основного программного обеспечения», и вы должны понимать, как создавать файлы и управлять ими, как описано в разделе «Работа с файлами» — оба эти компонента являются частью нашего модуля «Начало работы с веб-полным» для начинающих.
Также рекомендуется проработать «Начало работы с Интернетом», прежде чем переходить к этому разделу, особенно если вы новичок в веб-разработке. Однако многое из того, что описано в статье об основах CSS, также рассматривается в нашем модуле «Первые шаги CSS», хотя и гораздо более подробно.
Модули
Этот раздел содержит следующие модули в рекомендуемом порядке для работы с ними. Обязательно стоит начать с первого.
- Первые шаги CSS
- CSS (каскадные таблицы стилей) используются для стилизации и компоновки веб-страниц — например, для изменения шрифта, цвета, размера и интервала вашего контента, разделения его на несколько столбцов или добавления анимации и других декоративных функций. Этот модуль обеспечивает мягкое начало вашего пути к овладению CSS с основами того, как он работает, как выглядит синтаксис и как вы можете начать использовать его для добавления стиля в HTML.
- Строительные блоки CSS
Этот модуль продолжает работу с того места, где остановились первые шаги CSS — теперь вы познакомились с языком и его синтаксисом и получили некоторый базовый опыт его использования, пришло время погрузиться немного глубже. Этот модуль рассматривает каскад и наследование, все доступные типы селекторов, единицы измерения, размеры, стили фона и границ, отладку и многое другое.
Цель состоит в том, чтобы предоставить вам инструментарий для написания компетентного CSS и помочь вам понять всю основную теорию, прежде чем переходить к более конкретным дисциплинам, таким как стили текста и верстка CSS.
- Стилизация текста
- После изучения основ языка CSS следующая тема CSS, на которой вы должны сосредоточиться, — это стилизация текста — одна из самых распространенных вещей, которые вы делаете с помощью CSS. Здесь мы рассмотрим основы стилизации текста, включая настройку шрифта, жирности, курсива, межстрочного и буквенного интервала, теней и других функций текста. В завершение модуля мы рассмотрим применение пользовательских шрифтов к вашей странице, а также стили списков и ссылок.
- Макет CSS
- На этом этапе мы уже рассмотрели основы CSS, то, как стилизовать текст, а также как стилизовать и управлять блоками, внутри которых находится ваш контент.Теперь пора посмотреть, как разместить ваши блоки в нужном месте относительно области просмотра и друг друга. Мы рассмотрели необходимые предварительные условия, поэтому теперь мы можем углубиться в макет CSS, глядя на различные настройки отображения, современные инструменты макета, такие как flexbox, CSS-сетку и позиционирование, а также некоторые устаревшие методы, о которых вы, возможно, все еще хотите знать.
Решение общих проблем CSS
Использование CSS для решения общих проблем предоставляет ссылки на разделы контента, объясняющие, как использовать CSS для решения очень распространенных проблем при создании веб-страницы.
С самого начала вы в первую очередь будете применять цвета к элементам HTML и их фону; изменять размер, форму и положение элементов; а также добавить и определить границы элементов. Но мало что можно сделать, если вы хорошо разбираетесь даже в основах CSS. Одна из лучших вещей в изучении CSS заключается в том, что, когда вы знаете основы, обычно вы довольно хорошо понимаете, что можно, а что нельзя, даже если вы еще не знаете, как это делать!
«CSS — это странно»
CSS работает немного иначе, чем большинство языков программирования и инструментов дизайна, с которыми вы столкнетесь.Почему это работает именно так? В следующем видео Мириам Сюзанн дает полезное объяснение того, почему CSS работает так, как он работает, и почему он так эволюционировал:
См. Также
- CSS по MDN
- Основная точка входа для документации CSS на MDN, где вы найдете подробную справочную документацию по всем функциям языка CSS. Хотите знать все ценности, которые может принимать недвижимость? Это хорошее место.
Первые шаги CSS — Изучите веб-разработку
CSS (каскадные таблицы стилей) используются для стилизации и компоновки веб-страниц — например, для изменения шрифта, цвета, размера и интервала вашего контента, разделения его на несколько столбцов или добавления анимации и других декоративных функций.Этот модуль обеспечивает мягкое начало вашего пути к овладению CSS с основами того, как он работает, как выглядит синтаксис и как вы можете начать использовать его для добавления стиля в HTML.
Хотите стать фронтенд-разработчиком?
Мы составили курс, который включает всю важную информацию, необходимую для достижения вашей цели.
Начать
Предварительные требования
Перед запуском этого модуля у вас должно быть:
- Базовые знания об использовании компьютеров и пассивном использовании Интернета (т.е. глядя на него, потребляя контент.)
- Базовая рабочая среда, настроенная, как подробно описано в разделе «Установка основного программного обеспечения», и понимание того, как создавать файлы и управлять ими, как подробно описано в разделе «Работа с файлами».
- Базовое знакомство с HTML, как описано в модуле Введение в HTML.
Примечание : Если вы работаете на компьютере / планшете / другом устройстве, на котором у вас нет возможности создавать свои собственные файлы, вы можете опробовать (большую часть) примеры кода в онлайн-программе кодирования, такой как JSBin. или глюк.
Направляющие
Этот модуль содержит следующие статьи, которые познакомят вас со всей базовой теорией CSS и предоставят вам возможность проверить некоторые навыки.
- Что такое CSS?
- CSS (каскадные таблицы стилей) позволяет создавать великолепно выглядящие веб-страницы, но как это работает под капотом? В этой статье объясняется, что такое CSS, на простом примере синтаксиса, а также рассматриваются некоторые ключевые термины, связанные с языком.
- Начало работы с CSS
- В этой статье мы возьмем простой HTML-документ и применим к нему CSS, попутно изучая некоторые практические вещи о языке.
- Как устроен CSS
- Теперь, когда у вас есть представление о том, что такое CSS и основы его использования, пришло время немного глубже изучить структуру самого языка. Мы уже познакомились со многими концепциями, обсуждаемыми здесь; вы можете вернуться к этому, чтобы подвести итоги, если обнаружите, что какие-либо более поздние концепции сбивают с толку.
- Как работает CSS
- Мы узнали основы CSS, для чего он нужен и как писать простые таблицы стилей. В этом уроке мы рассмотрим, как браузер использует CSS и HTML и превращает их в веб-страницу.
- Используя свои новые знания
- Благодаря тому, что вы узнали на последних нескольких уроках, вы обнаружите, что можете форматировать простые текстовые документы с помощью CSS, чтобы добавить к ним свой собственный стиль. Эта статья дает вам шанс сделать это.
См. Также
- Средний уровень веб-грамотности 1: Введение в CSS
- Отличный базовый курс Mozilla, в котором исследуются и проверяются многие навыки, о которых говорилось в модуле Introduction to CSS .Узнайте о стилизации элементов HTML на веб-странице, селекторах CSS, атрибутах и значениях.
Начало работы с CSS — Изучение веб-разработки
В этой статье мы возьмем простой HTML-документ и применим к нему CSS, попутно изучая некоторые практические вещи о языке.
Начиная с некоторого HTML
Наша отправная точка — это HTML-документ. Вы можете скопировать приведенный ниже код, если хотите работать на своем компьютере. Сохраните приведенный ниже код как индекс .html
в папке на вашем компьютере.
Начало работы с CSS Я заголовок первого уровня
Это абзац текста. В тексте есть элемент span а также ссылку .
Это второй абзац. Он содержит выделенный элемент.
- Пункт первый
- Пункт два
- Элемент три
Примечание : Если вы читаете это на устройстве или в среде, где вы не можете легко создавать файлы, тогда не волнуйтесь — ниже представлены редакторы живого кода, которые позволят вам написать пример кода прямо здесь, на странице.
Добавление CSS в наш документ
Первое, что нам нужно сделать, это сообщить HTML-документу, что у нас есть некоторые правила CSS, которые мы хотим использовать.Существует три различных способа применения CSS к HTML-документу, с которыми вы часто будете сталкиваться, однако пока мы рассмотрим наиболее обычный и полезный способ сделать это — привязать CSS из заголовка вашего документа.
Создайте файл в той же папке, что и ваш HTML-документ, и сохраните его как styles.css
. Расширение .css
показывает, что это файл CSS.
Чтобы связать styles.css
с index.html
, добавьте следующую строку где-нибудь внутри
HTML-документа:
Этот элемент
сообщает браузеру, что у нас есть таблица стилей, используя атрибут rel
, и расположение этой таблицы стилей в качестве значения атрибута href
. Вы можете проверить, что CSS работает, добавив правило в файл styles.css
. С помощью редактора кода добавьте в файл CSS следующее:
h2 { красный цвет; }
Сохраните файлы HTML и CSS и перезагрузите страницу в веб-браузере. Заголовок первого уровня в верхней части документа теперь должен быть красным.Если это произойдет, поздравляем — вы успешно применили CSS к HTML-документу. Если этого не произошло, внимательно проверьте, все ли вы набрали правильно.
Вы можете продолжить работу в styles.css
локально, или вы можете использовать наш интерактивный редактор ниже, чтобы продолжить это руководство. Интерактивный редактор действует так, как если бы CSS на первой панели был связан с HTML-документом, как и в случае с нашим документом выше.
Стилизация элементов HTML
Сделав заголовок красным, мы уже продемонстрировали, что можем настроить таргетинг и стилизацию элемента HTML.Мы делаем это, ориентируясь на селектор элемента — это селектор, который напрямую соответствует имени элемента HTML. Чтобы настроить таргетинг на все абзацы в документе, используйте селектор p
. Чтобы сделать все абзацы зеленым, вы должны использовать:
p { цвет: зеленый; }
Вы можете указать сразу несколько селекторов, разделив их запятыми. Если я хочу, чтобы все абзацы и все элементы списка были зелеными, мое правило выглядит так:
p, li { цвет: зеленый; }
Попробуйте это в интерактивном редакторе ниже (отредактируйте поля кода) или в локальном документе CSS.
Изменение поведения элементов по умолчанию
Когда мы смотрим на хорошо размеченный HTML-документ, даже такой простой, как наш пример, мы можем увидеть, как браузер делает HTML-код читабельным, добавляя некоторые стили по умолчанию. Заголовки большие и жирные, а в нашем списке есть маркеры. Это происходит потому, что браузеры имеют внутренние таблицы стилей, содержащие стили по умолчанию, которые они по умолчанию применяют ко всем страницам; без них весь текст слился бы в кучу, и нам пришлось бы стилизовать все с нуля.Все современные браузеры по умолчанию отображают HTML-контент практически одинаково.
Однако вам часто может понадобиться нечто иное, чем выбор, сделанный браузером. Это можно сделать, просто выбрав HTML-элемент, который вы хотите изменить, и используя правило CSS, чтобы изменить его внешний вид. Хорошим примером является наш
- , неупорядоченный список. У него есть список маркеров, и если я решу, что мне не нужны эти маркеры, я могу удалить их следующим образом:
li { тип-стиль-список: нет; }
Попробуйте добавить это в свой CSS сейчас.
Свойство list-style-type
— хорошее свойство, которое стоит посмотреть в MDN, чтобы увидеть, какие значения поддерживаются. Взгляните на страницу list-style-type
, и вы найдете интерактивный пример в верхней части страницы, где можно попробовать различные значения, а затем все допустимые значения подробно описаны ниже.
Глядя на эту страницу, вы обнаружите, что помимо удаления маркеров списка вы можете их изменить — попробуйте изменить их на квадратные маркеры, используя значение квадрат
.
Добавление класса
До сих пор мы стилизовали элементы на основе их имен элементов HTML. Это работает до тех пор, пока вы хотите, чтобы все элементы этого типа в вашем документе выглядели одинаково. В большинстве случаев это не так, поэтому вам нужно будет найти способ выбрать подмножество элементов, не изменяя другие. Наиболее распространенный способ сделать это — добавить класс к вашему элементу HTML и нацелить этот класс.
В своем HTML-документе добавьте атрибут класса ко второму элементу списка.Ваш список теперь будет выглядеть так:
- Пункт первый
- Пункт два
- Элемент три
В вашем CSS вы можете настроить таргетинг на класс special
, создав селектор, который начинается с символа точки. Добавьте в свой файл CSS следующее:
.special { оранжевый цвет; font-weight: жирный; }
Сохраните и обновите, чтобы увидеть результат.
Вы можете применить класс special
к любому элементу на вашей странице, который должен иметь тот же вид, что и этот элемент списка.Например, вы можете захотеть, чтобы
в абзаце также было оранжевым и жирным. Попробуйте добавить к нему class
из special
, затем перезагрузите страницу и посмотрите, что произойдет.
Иногда вы видите правила с селектором, который перечисляет селектор HTML-элемента вместе с классом:
li.special { оранжевый цвет; font-weight: жирный; }
Этот синтаксис означает «целевой любой элемент li
, имеющий специальный класс». Если бы вы сделали это, вы бы больше не смогли применить класс к
или другому элементу, просто добавив к нему класс; вам нужно будет добавить этот элемент в список селекторов:
ли.специальный, span.special { оранжевый цвет; font-weight: жирный; }
Как вы понимаете, некоторые классы могут применяться ко многим элементам, и вам не нужно продолжать редактировать свой CSS каждый раз, когда что-то новое требует этого стиля. Поэтому иногда лучше обойти элемент и просто обратиться к классу, если вы не знаете, что хотите создать некоторые специальные правила только для одного элемента и, возможно, хотите убедиться, что они не применяются к другим вещам.
Стилизация предметов в зависимости от их расположения в документе
Бывают случаи, когда вы хотите, чтобы что-то выглядело иначе, в зависимости от того, где оно находится в документе.Есть несколько селекторов, которые могут вам здесь помочь, но пока мы рассмотрим только пару. В нашем документе два элемента
— один внутри абзаца, а другой внутри элемента списка. Чтобы выбрать только
, который вложен в элемент
Добавьте следующее правило в свою таблицу стилей.
li em { цвет: rebeccapurple; }
Этот селектор выберет любой элемент
, который находится внутри (потомка)
в третьем элементе списка теперь фиолетового цвета, но тот, который находится внутри абзаца, не изменился. Еще вы можете попробовать стилизовать абзац, когда он идет сразу после заголовка на том же уровне иерархии в HTML.Для этого поместите +
( смежный одноуровневый комбинатор ) между селекторами.
Попробуйте также добавить это правило в свою таблицу стилей:
h2 + p { размер шрифта: 200%; }
Живой пример ниже включает два правила, указанные выше. Попробуйте добавить правило, чтобы сделать промежуток красным, если он находится внутри абзаца. Вы узнаете, все ли у вас правильно, так как диапазон в первом абзаце будет красным, но тот, который находится в первом элементе списка, не изменит цвет.
Примечание : Как видите, CSS дает нам несколько способов нацеливать элементы, и мы пока лишь поверхностно коснулись! Мы подробно рассмотрим все эти и многие другие селекторы в наших статьях о селекторах позже в этом курсе.
Укладка вещей на основе состояния
Последний тип стилей, который мы рассмотрим в этом уроке, — это возможность стилизовать предметы в зависимости от их состояния. Простой пример этого — стилизация ссылок. Когда мы стилизуем ссылку, нам нужно настроить таргетинг на элемент
(привязка). Он имеет разные состояния в зависимости от того, не был ли он посещен, посещен, наведен, находится в фокусе с клавиатуры или находится в процессе нажатия (активации). Вы можете использовать CSS для таргетинга на эти различные состояния — нижеприведенный CSS выделяет невидимые ссылки в розовый цвет, а посещенные — в зеленый.
a: link { цвет: розовый; } а: посетил { цвет: зеленый; }
Вы можете изменить вид ссылки, когда пользователь наводит на нее курсор, например, удалив подчеркивание, что достигается следующим правилом:
a: hover { текстовое оформление: нет; }
В приведенном ниже живом примере вы можете поиграть с разными значениями для различных состояний ссылки. Я добавил к нему приведенные выше правила и теперь понимаю, что розовый цвет довольно светлый и его трудно читать — почему бы не изменить его на лучший цвет? Можете ли вы сделать ссылки жирными?
Мы удалили подчеркивание в нашей ссылке при наведении курсора.Вы можете удалить подчеркивание во всех состояниях ссылки. Однако стоит помнить, что на реальном сайте вы хотите, чтобы посетители знали, что ссылка является ссылкой. Оставив подчеркивание на месте, люди могут понять, что по тексту внутри абзаца можно щелкнуть — это то поведение, к которому они привыкли. Как и все, что есть в CSS, есть вероятность сделать документ менее доступным с вашими изменениями — мы постараемся выделить потенциальные подводные камни в соответствующих местах.
Примечание : вы часто будете видеть упоминания о доступности в этих уроках и в MDN. Когда мы говорим о доступности, мы имеем в виду требование, чтобы наши веб-страницы были понятны и могли использоваться всеми.
Ваш посетитель вполне может быть за компьютером с мышью или трекпадом или телефоном с сенсорным экраном. Или они могут использовать программу чтения с экрана, которая считывает содержимое документа, или им может потребоваться использовать текст гораздо большего размера, или они могут перемещаться по сайту, используя только клавиатуру.
Обычный HTML-документ обычно доступен каждому — когда вы начинаете стилизовать этот документ, важно, чтобы вы не сделали его менее доступным.
Комбинированные селекторы и комбинаторы
Стоит отметить, что вы можете комбинировать несколько селекторов и комбинаторов вместе. Например:
/ * выбирает любой , который находится внутри , который находится внутри * /
article p span {...}
/ * выбирает любой , который идет сразу после
, который идет сразу после * /
h2 + ul + p {...}
Вы также можете комбинировать несколько типов вместе. Попробуйте добавить в свой код следующее:
body h2 + p .special { цвет: желтый; цвет фона: черный; отступ: 5 пикселей; }
Это будет стилизовать любой элемент с классом special
, который находится внутри
, который идет сразу после
, который находится внутри
. Фух! В исходном HTML, который мы предоставили, единственный стилизованный элемент —
.
Не волнуйтесь, если это кажется сложным в данный момент — вы скоро начнете понимать это, когда будете писать больше CSS.
Завершение
В этом руководстве мы рассмотрели несколько способов стилизации документа с помощью CSS. Мы будем развивать эти знания по мере прохождения оставшихся уроков. Однако теперь вы уже знаете достаточно, чтобы стилизовать текст, применять CSS на основе различных способов нацеливания на элементы в документе и искать свойства и значения в документации MDN.
В следующем уроке мы рассмотрим, как устроен CSS.
В этом модуле
- Что такое CSS?
- Начало работы с CSS
- Как устроен CSS
- Как работает CSS
- Используя свои новые знания
5 лучших сайтов для изучения CSS в Интернете
Веб-дизайн может быть не самой доступной областью для всех, но CSS и HTML могут быть очень полезными, и это две части кодирования, которые действительно просты.Я имею в виду, чтобы изменить цвет вашего шрифта, вам просто нужно набрать: «color: red», неужели это проще?
На самом деле, становится сложнее, но на это стоит взглянуть, поскольку вы можете настроить все, от вашего блога до документов Google Docs, с небольшими знаниями CSS.Давайте посмотрим, где вы изучаете css онлайн бесплатно, и получите руководства по CSS для начинающих.
W3Школы
W3Schools — отличный сайт.У них есть множество руководств от HTML до PHP, и вы можете быть уверены, что все, что вы читаете, соответствует стандартам, поскольку сайт поддерживается W3C, отвечающим за современные веб-стандарты.
Уроки CSS довольно подробны и проведут вас через большую часть того, что вам нужно знать, но поскольку это больше техническая страница, вы увидите меньше примеров, чем где-либо еще, а примеры, которые у них есть, немного ограничены.
Если вы уже знакомы с CSS, это отличный справочный источник.
Tizag
Я часто сталкивался с этим веб-сайтом, когда искал что-то, и я взглянул на их руководства по CSS, которые я нашел немного лучше структурированными, чем W3School.Основная информация такая же, но если вы абсолютный новичок, вы можете начать здесь.
Tizag в моих глазах менее формален.Мне кажется, их примеры ближе к реальной жизни и тон более дружелюбный. Есть также полезные руководства по многим другим языкам, таким как HTML и MySQL, поэтому, если вам понравился бит CSS, вы можете остаться с таким же качеством на других языках.
CSS Zen Garden
Этот сайт сильно отличается от сайтов с обучающими материалами, о которых я упоминал ранее.В CSS Zen Garden вы можете проверить свои знания или учиться на коде, написанном другими. Вся идея в том, что существует один статический и неизменяемый HTML-файл, и вам нужно создать для него отдельный вид, используя только CSS.
Вы можете загрузить свою работу, и она будет продемонстрирована, и вы можете загрузить файлы других, чтобы посмотреть, как они делали то или это.Это действительно полезно, потому что я сам узнал больше на примере, чем на самом деле. То же самое и с шаблонами WordPress — если они вам нравятся, скачайте их и загляните в style.css, чтобы увидеть, как все работает.
CSS Play [больше не доступен]
CSS Play — это веб-сайт между Zen Garden и учебными сайтами, поскольку он демонстрирует определенные функции CSS и позволяет просматривать исходный код.
Вместо того, чтобы иметь всю страницу или весь сайт, вы можете взглянуть на примеры всплывающих меню, примеры непрозрачности, обходные пути для IE и так далее.
Если вам нужна конкретная функциональность и вы хотите узнать больше, этот веб-сайт может быть лучшим местом для начала.В нем есть изрядная доля рекламы, которая может немного отвлекать, но информация там надежная, и часто код или, по крайней мере, метод очень подробно объясняется.
Google
Правильно, старый добрый Google Search может стать отличным помощником для онлайн-изучения CSS и поиска руководств по CSS для начинающих.Помимо очевидной возможности исследовать то, что вам нужно, вы также можете посмотреть, как работают определенные свойства CSS. Не знаете, какие значения может иметь «переполнение»? Просто введите «css overflow» или «css overflow property», и первый результат скажет вам, что вам нужно знать.
То же самое касается практически всех языков программирования, я использую это также для PHP и MySQL, и я не думаю, что первый результат когда-либо меня подводил.
Итак, вот и все, больше никаких отговорок, пришло время изучить CSS! Вы можете добавлять свои собственные шаблоны Документов Google, изменять шаблоны WordPress и делать многое другое, счастливого CSS!
Алекса скоро может стать делом прошлого
Подпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.
Как выучить CSS — журнал Smashing Magazine
Об авторе
Рэйчел Эндрю — не только главный редактор журнала Smashing Magazine, но также веб-разработчик, писатель и спикер. Она является автором ряда книг, в том числе…
Больше о
Рэйчел
Андрей
…
Вам не нужно запоминать каждое свойство и значение CSS, так как есть хорошие места для их поиска. Однако есть некоторые фундаментальные вещи, которые значительно упростят вам использование CSS.Эта статья направлена на то, чтобы помочь вам в изучении CSS.
Многие люди просят меня порекомендовать им учебные пособия по различным частям CSS или спрашивают, как изучать CSS. Я также вижу много людей, которые не понимают, что такое CSS, отчасти из-за устаревших представлений о языке. Учитывая, что CSS существенно изменился за последние несколько лет, сейчас самое время освежить свои знания. Даже если CSS — это небольшая часть того, что вы делаете (потому что вы работаете в другом месте стека), CSS — это то, как вещи в конечном итоге выглядят так, как вы хотите, на экране, поэтому стоит быть в разумных пределах в актуальном состоянии.
Таким образом, цель этой статьи — описать ключевые основы CSS и ресурсы для дальнейшего чтения по ключевым областям современной разработки CSS. Многие из этих вещей прямо здесь, в Smashing Magazine, но я также выбрал некоторые другие ресурсы, а также людей, которым нужно следить в ключевых областях CSS. Это не полное руководство для начинающих, и оно не предназначено для охвата абсолютно всего. Моя цель — охватить весь спектр современного CSS, сосредоточив внимание на нескольких ключевых областях, которые помогут вам раскрыть остальной язык.
Основы языка
Для большей части CSS вам не нужно беспокоиться о заучивании свойств и значений наизусть. Вы можете найти их, когда они вам понадобятся. Однако у языка есть некоторые ключевые основы, без которых вам будет сложно понять его смысл. На самом деле стоит потратить некоторое время на то, чтобы убедиться, что вы понимаете эти вещи, поскольку в конечном итоге это сэкономит вам много времени и сэкономит нервы.
Селекторы, больше, чем просто класс
Селектор делает то, что написано на банке, он выбирает некоторую часть вашего документа, чтобы вы могли применить к нему правила CSS.Хотя большинство людей знакомы с использованием классов или непосредственной стилизацией HTML-элемента, такого как body
, существует большое количество более продвинутых селекторов, которые могут выбирать элементы в зависимости от их местоположения в документе, возможно, потому что они идут непосредственно после элемент, или нечетные строки в таблице.
Селекторы, которые являются частью спецификации уровня 3 (вы, возможно, слышали, что они называются селекторами уровня 3), имеют отличную поддержку браузера. Подробное описание различных селекторов, которые вы можете использовать, см. В справочнике MDN.
Некоторые селекторы действуют так, как если бы вы применили класс к чему-то в документе. Например, p: first-child
ведет себя так, как если бы вы добавили класс к первому элементу p
, они известны как селекторы псевдокласса . Селекторы псевдоэлемента действуют так, как если бы элемент был вставлен динамически, например :: first-line
действует аналогично тому, как вы оборачиваете диапазон
вокруг первой строки текста. Однако он будет применен повторно, если длина этой строки изменится, чего не было бы, если бы вы вставили элемент.С этими селекторами можно усложнить задачу. Ниже на CodePen показан пример псевдоэлемента, связанного с псевдоклассом. Мы нацелены на первый элемент p
с псевдо-классом : first-child
, затем селектор :: first-line
выбирает первую строку этого элемента, действуя так, как если бы вокруг этой первой строки в чтобы сделать его жирным и изменить цвет.
См. Первую строку «Ручка» Рэйчел Эндрю (@rachelandrew) на CodePen.
См. Первую строку «Ручка» Рэйчел Эндрю (@rachelandrew) на CodePen.
Наследование и каскад
Каскад определяет, какое правило выигрывает, когда к одному элементу может применяться несколько правил. Если вы когда-либо оказывались в ситуации, когда не могли понять, почему некоторые CSS не работают, скорее всего, вас сбивает каскад. Каскад тесно связан с наследованием, которое определяет, какие свойства наследуются дочерними элементами элемента, к которому они применяются. Это также связано со спецификой; разные селекторы имеют разную специфику, которая определяет, какой из них выигрывает, когда есть несколько селекторов, которые могут применяться к одному элементу.
Примечание : Чтобы понять все эти вещи, я бы посоветовал прочитать Каскад и наследование в MDN Introduction to CSS.
Если вам не удается применить CSS к элементу, тогда лучше всего начать с DevTools в браузере, взгляните на приведенный ниже пример, в котором у меня есть элемент h2
, на который нацелен селектор элементов h2
и делаем заголовок оранжевым. Я также использую класс, который устанавливает для h2
значение rebeccapurple.Класс более конкретный, поэтому h2
фиолетовый. В DevTools вы можете увидеть, что селектор элемента перечеркнут, поскольку он не применяется. Как только вы увидите, что браузер получает ваш CSS (но что-то другое отменило его), вы можете начать выяснять, почему.
См. Специфику Pen от Рэйчел Эндрю (@rachelandrew) на CodePen.
См. Специфику Pen от Рэйчел Эндрю (@rachelandrew) на CodePen. DevTools может помочь вам понять, почему некоторые CSS не применяются к элементу (большой предварительный просмотр)
Box Model
CSS — это все о коробках.Все, что отображается на экране, имеет поле, а модель бокса описывает, как определяется размер этого поля — с учетом полей, отступов и границ. Стандартная модель бокса CSS берет ширину, которую вы задали элементу, а затем добавляет к этой ширине отступ и границу — это означает, что пространство, занимаемое элементом, больше, чем ширина, которую вы ему дали.
Совсем недавно мы смогли выбрать использование альтернативной блочной модели, которая использует заданную ширину элемента в качестве ширины видимого элемента на экране.Любые отступы или граница вставляют содержимое поля по краям. Это имеет больше смысла для многих макетов.
В демонстрации ниже у меня две коробки. Оба имеют ширину 200 пикселей, границу 5 пикселей и отступ 20 пикселей. Первый блок использует стандартную модель блока, поэтому его общая ширина составляет 250 пикселей. Второй использует альтернативную блочную модель, поэтому его ширина составляет 200 пикселей.
См. Модели ящиков с ручками от Рэйчел Эндрю (@rachelandrew) на CodePen.
См. Модели ящиков с ручками от Рэйчел Эндрю (@rachelandrew) на CodePen.
Browser DevTools снова может помочь вам разобраться в используемой блочной модели. На изображении ниже я использую Firefox DevTools для проверки окна, используя модель коробки content-box
по умолчанию. Инструменты говорят мне, что это используемая блочная модель, и я могу видеть размер и то, как граница и отступы добавляются к назначенной мной ширине.
DevTools поможет вам понять, почему блок имеет определенный размер, и какая модель блока используется (большой предварительный просмотр)
Примечание : До IE6 Internet Explorer использовал альтернативную блочную модель, с отступами и границами, вставляющими содержимое вдали от заданная ширина.Итак, какое-то время браузеры использовали разные модели боксов! Если сегодня вас расстраивают проблемы совместимости, радуйтесь, что ситуация улучшилась, и теперь мы не имеем дело с браузерами, вычисляющими ширину вещей иначе.
Есть хорошее объяснение блочной модели и размера коробки на приемах CSS, а также объяснение наилучшего способа глобального использования альтернативной блочной модели на вашем сайте.
Обычный поток
Если у вас есть документ с HTML-разметкой, и вы просматриваете его в браузере, мы надеемся, что он будет удобочитаемым.Заголовки и абзацы начинаются с новой строки, слова отображаются в виде предложения с одним пробелом между ними. Теги для форматирования, такие как em, не прерывают поток предложений. Это содержимое отображается в обычном или блочном режиме. Каждая часть контента описывается как «в потоке»; он знает об остальном содержании и поэтому не перекрывается.
Если вы будете работать с таким поведением, а не против него, ваша жизнь станет намного проще. Это одна из причин, по которой имеет смысл начинать с правильно размеченного HTML-документа, поскольку из-за нормального потока и встроенных таблиц стилей, которые браузеры уважают, ваш контент начинается с читаемого места.
Контексты форматирования
Если у вас есть документ с содержимым в нормальном потоке, вы можете захотеть изменить внешний вид части этого содержимого. Вы делаете это, изменяя контекст форматирования элемента. В качестве очень простого примера, если вы хотите, чтобы все ваши абзацы выполнялись вместе и не начинались с новой строки, вы можете изменить элемент p
на display: inline
, изменив его с блока на встроенный контекст форматирования.
Контексты форматирования по существу определяют внешний и внутренний тип.Внешний определяет, как элемент ведет себя вместе с другими элементами на странице, внутренний — как должны выглядеть дочерние элементы. Так, например, когда вы говорите display: flex
, вы устанавливаете внешний контекст как контекст форматирования блока, а дочерние элементы — как контекст форматирования flex.
Примечание : Последняя версия спецификации дисплея изменяет значения display
для явного объявления внутреннего и внешнего значения. Следовательно, в будущем вы могли бы сказать display: block flex;
(блок ,
— внешний, а изгиб
— внутренний).
Узнать больше о display
можно в MDN.
Находится в потоке или вне его
Элементы в CSS описываются как «находящиеся в потоке» или «вне потока». Элементам в потоке предоставляется пространство, и это пространство соблюдается другими элементами в потоке. Если вы извлекаете элемент из потока, перемещая его или позиционируя его, пространство для этого элемента больше не будет использоваться другими элементами потока.
Это наиболее заметно для абсолютно позиционированных предметов.Если вы зададите элементу position: absolute
, он будет удален из потока, тогда вам нужно будет убедиться, что у вас нет ситуации, в которой элемент вне потока перекрывается и делает нечитаемыми некоторые другие части вашего макета.
См. Pen Out of Flow: абсолютное позиционирование Рэйчел Эндрю (@rachelandrew) на CodePen.
См. Pen Out of Flow: абсолютное позиционирование Рэйчел Эндрю (@rachelandrew) на CodePen.
Тем не менее, плавающие элементы также удаляются из потока, и хотя следующий контент будет обтекать сокращенные линейные блоки плавающего элемента, вы можете увидеть, поместив цвет фона на прямоугольник следующих элементов, которые они поднялись и игнорируют пространство, используемое перемещаемым элементом.
Увидеть перо Out of flow: float от Рэйчел Эндрю (@rachelandrew) на CodePen.
«Увидеть перо из потока: плавать» от Рэйчел Эндрю (@rachelandrew) на CodePen.
Вы можете узнать больше об элементах в потоке и вне потока на MDN. Важно помнить, что если вы извлекаете элемент из потока, вам нужно самостоятельно управлять перекрытием, поскольку обычные правила макета потока блоков больше не применяются.
Макет
Более пятнадцати лет мы занимаемся версткой в CSS без системы, предназначенной для системы верстки заданий.Это изменилось. Теперь у нас есть отлично работающая система макета, которая включает в себя сетку и Flexbox, а также макет с несколькими столбцами и старые методы макета, используемые для их реальной цели. Если CSS Layout для вас загадка, перейдите к руководству MDN Learn Layout или прочтите мою статью «Начало работы с CSS Layout» здесь, в Smashing Magazine.
Не думайте, что такие методы как grid и flexbox каким-то образом конкурируют . Чтобы правильно использовать Layout, вы иногда обнаружите, что компонент лучше всего как гибкий компонент, а иногда как Grid.Иногда вам может понадобиться, чтобы поток столбцов был multicol. Все это верный выбор. Если вы чувствуете, что боретесь с тем, как что-то ведет, это, в целом, очень хороший знак того, что, возможно, стоит сделать шаг назад и попробовать другой подход. Мы настолько привыкли взламывать CSS, чтобы заставить его делать то, что мы хотим, что, вероятно, забудем, что у нас есть ряд других вариантов, которые можно попробовать.
Макет — моя основная область знаний, и я написал ряд статей здесь, в Smashing Magazine и в других местах, чтобы попытаться помочь укротить новый ландшафт макета.В дополнение к упомянутой выше статье «Макет» у меня есть целая серия статей о Flexbox — начните с «Что происходит при создании гибкого контейнера Flexbox». В Grid By Example у меня есть множество небольших примеров CSS Grid плюс видеоурок.
Кроме того — и особенно для дизайнеров — посмотрите Джен Симмонс и ее серию видеороликов Layout Land.
Выравнивание
Я отделил выравнивание от компоновки в целом, потому что, хотя большинство из нас познакомились с выравниванием как частью Flexbox, эти свойства применимы ко всем методам компоновки, и их стоит понимать в этом контексте, а не думать о «Выравнивание Flexbox» или «Выравнивание сетки CSS.«У нас есть набор свойств выравнивания, которые работают по возможности одинаково; тогда они имеют некоторые различия из-за того, как ведут себя разные методы компоновки.
В MDN вы можете изучить «Выравнивание ящиков» и то, как это реализовано для сетки, Flexbox, Multicol и блочного макета. В журнале Smashing Magazine у меня есть статья, посвященная выравниванию в Flexbox: все, что вам нужно знать о выравнивании во Flexbox.
Размер
Большую часть 2018 года я провел, рассказывая о спецификациях внутреннего и внешнего размера, и о том, как они связаны с Grid и Flexbox в частности.В Интернете мы привыкли устанавливать размеры в длинах или процентах, так как именно так мы могли создавать макеты типа сетки с использованием поплавков. Однако современные методы компоновки могут распределять большую часть пространства за нас — если мы им позволим. Понимание того, как Flexbox распределяет пространство (или как работает модуль Grid fr
), стоит вашего времени.
Здесь, в Smashing Magazine, я писал об изменении размеров в макете в целом, а также о Flexbox в статье «Насколько велик этот гибкий блок?».
Адаптивный дизайн
Наши новые методы компоновки Grid и Flexbox часто означают, что мы можем обойтись меньшим количеством медиа-запросов, чем нам нужно, с нашими старыми методами, благодаря тому факту, что они гибкие и реагируют на изменения в области просмотра или размера компонента без необходимости изменять ширину элементов.Однако есть места, где вы захотите добавить точки останова для дальнейшего улучшения ваших проектов.
Вот несколько простых руководств по адаптивному дизайну, а для медиа-запросов в целом, ознакомьтесь с моей статьей Использование медиа-запросов для адаптивного дизайна в 2018 году. Я смотрю, для чего полезны медиа-запросы, а также показываю новые функции входит в Media Queries на уровне 4 спецификации.
Шрифты и типографика
Наряду с макетом использование шрифтов в Интернете претерпело огромные изменения за последний год.Здесь можно найти переменные шрифты, позволяющие одному файлу шрифта иметь неограниченное количество вариантов. Чтобы получить общее представление о том, что они из себя представляют и как они работают, посмотрите этот отличный краткий доклад Мэнди Майкл: «Вариативные шрифты и будущее веб-дизайна». Кроме того, я бы порекомендовал динамическую типографику с современным CSS и переменными шрифтами от Джейсона Паментала.
Для изучения переменных шрифтов и их возможностей есть забавная демонстрация от Microsoft, а также несколько игровых площадок, где можно опробовать переменные шрифты. Axis Praxis является наиболее известным (мне также нравится площадка для шрифтов).
Как только вы начнете работать с переменными шрифтами, это руководство по MDN окажется невероятно полезным. Чтобы узнать, как реализовать резервное решение для браузеров, которые не поддерживают переменные шрифты, прочтите статью «Реализация переменного шрифта с резервными веб-шрифтами» Оливера Шендорфера. Редактор шрифтов Firefox DevTools также поддерживает работу с переменными шрифтами.
Преобразования и анимация
CSS-преобразования и анимация — это определенно то, что я ищу по мере необходимости.Мне нечасто их нужно использовать, и синтаксис, кажется, выскакивает у меня из головы между использованием. К счастью, мне помогает справочник по MDN, и я бы посоветовал начать с руководств по использованию CSS-преобразований и CSS-анимации. У Зелла Лью также есть хорошая статья, в которой подробно объясняются переходы CSS.
Чтобы узнать о некоторых возможностях, загляните на сайт Animista.
Одна из вещей, которая может сбивать с толку в анимации, — это какой подход использовать.В дополнение к тому, что поддерживается в CSS, вам может потребоваться задействовать JavaScript, SVG или API веб-анимации, и все эти вещи, как правило, собираются вместе. В своем выступлении «Выбери свое анимационное приключение», записанном на мероприятии отдельно, Вэл Хед объясняет варианты.
Используйте шпаргалки как напоминание, а не как средство обучения
Когда я упоминаю ресурсы Grid или Flexbox, я часто вижу ответы, в которых говорится, что они не могут использовать Flexbox без определенной шпаргалки. У меня нет проблем со шпаргалками в качестве помощника памяти для поиска синтаксиса, и я опубликовал некоторые из них.Проблема с тем, чтобы полностью полагаться на них, заключается в том, что вы можете упустить из виду, почему все работает, копируя синтаксис. Затем, когда вы попадаете в случай, когда это свойство, кажется, ведет себя по-другому, эта очевидная несогласованность кажется сбивающей с толку или ошибкой языка.
Если вы оказались в ситуации, когда CSS, кажется, делает что-то очень странное, спросите , почему . Создайте сокращенный тестовый пример, который подчеркивает проблему, спросите кого-нибудь, кто более знаком со спецификацией. Многие проблемы CSS, о которых меня спрашивают, связаны с тем, что этот человек считает, что свойство работает не так, как в действительности.Вот почему я много говорю о таких вещах, как выравнивание и размер, поскольку это места, где часто живет эта путаница.
Да, в CSS есть странности. Это язык, который эволюционировал с годами, и в нем есть вещи, которые мы не можем изменить, пока не изобрели машину времени. Однако, когда вы разберетесь с основами и поймете, почему вещи ведут себя именно так, вам будет намного легче работать с более сложными местами.
(il).
.Больше о
Рэйчел
Андрей
…
body
, существует большое количество более продвинутых селекторов, которые могут выбирать элементы в зависимости от их местоположения в документе, возможно, потому что они идут непосредственно после элемент, или нечетные строки в таблице. p: first-child
ведет себя так, как если бы вы добавили класс к первому элементу p
, они известны как селекторы псевдокласса . Селекторы псевдоэлемента действуют так, как если бы элемент был вставлен динамически, например :: first-line
действует аналогично тому, как вы оборачиваете диапазон
вокруг первой строки текста. Однако он будет применен повторно, если длина этой строки изменится, чего не было бы, если бы вы вставили элемент.С этими селекторами можно усложнить задачу. Ниже на CodePen показан пример псевдоэлемента, связанного с псевдоклассом. Мы нацелены на первый элемент p
с псевдо-классом : first-child
, затем селектор :: first-line
выбирает первую строку этого элемента, действуя так, как если бы вокруг этой первой строки в чтобы сделать его жирным и изменить цвет. h2
, на который нацелен селектор элементов h2
и делаем заголовок оранжевым. Я также использую класс, который устанавливает для h2
значение rebeccapurple.Класс более конкретный, поэтому h2
фиолетовый. В DevTools вы можете увидеть, что селектор элемента перечеркнут, поскольку он не применяется. Как только вы увидите, что браузер получает ваш CSS (но что-то другое отменило его), вы можете начать выяснять, почему. content-box
по умолчанию. Инструменты говорят мне, что это используемая блочная модель, и я могу видеть размер и то, как граница и отступы добавляются к назначенной мной ширине. p
на display: inline
, изменив его с блока на встроенный контекст форматирования. display: flex
, вы устанавливаете внешний контекст как контекст форматирования блока, а дочерние элементы — как контекст форматирования flex. display
для явного объявления внутреннего и внешнего значения. Следовательно, в будущем вы могли бы сказать display: block flex;
(блок ,
— внешний, а изгиб
— внутренний). display
можно в MDN. position: absolute
, он будет удален из потока, тогда вам нужно будет убедиться, что у вас нет ситуации, в которой элемент вне потока перекрывается и делает нечитаемыми некоторые другие части вашего макета. fr
), стоит вашего времени.
Добавить комментарий