Кодер. Стандартный CSS3
Что вообще за CSS3? Чем он отличается от CSS2.
То, чем мы давно привыкли пользоваться для стилизации приложений было не всегда.
Что нового принёсла 3 версия CSS? Пробежимся по фичам.
Отметим, что стандарт CSS3 предполагает разделение СSS на модули. Новые фичи - это отдельные модули.

Селекторы аттрибутов:
element[foo^="bar"] - селектор для аттрибута, значение которого начинается с bar
element[foo$="bar"] - селектор для аттрибута со значением bar
element[foo*="bar"] - селектор для аттрибута со значением, содержащим bar
Селекторы псевдо-элементов:
:root - корневой элемент
:nth-child(n) - селектор дочерних элементов (n - 1, 2, 3...)
:nth-last-child(n) - :nth-child(n) с конца
:nth-of-type(n) - селектор элемента по типу (n - 1, 2, 3...)
:empty - элемент без children
:target - целевой элемент URL (например http://www.url.com#content - элемент #content)
:enabled (:disabled) - элемент который в состоянии enabled (disabled)
:not(selector) - элемент который не матчится с селектором selector
Новые селекторы позволяют более гибко и просто выбирать и стилизовать элементы.
Подробнее и с примерами по ссылке.
Задавать значения цвета кроме как в шестнадцатеричной форме #FFFFFF можно через HSL, HSLA, и RGBA.
HSL - hue, saturation, and lightness - цветовая модель, в которой цветовыми координатами являются тон, насыщенность и светлота. hsl принимает значения от 0 до 359.

Считается, что преимуществом цветовой схемы HSL перед RGB являются более природные естественные цвета, так как формат RGB был создан специально для электроннолучевых трубок.
HLSA и RGBA добавляют альфа-канал, который отвечает за настройку прозрачности. Принимает значения от 0 до 1.
CSS3 позволяет скруглять элементы через border-radius, а также настраивать скругление для каждого из углов, например border-top-left-radius. А еще можно задавть изображение для рамок через border-image.
Настройка изображений заднего фона через
background-clip - распределение фона в границах элемента
background-origin- область позиционирования фонового рисунка
background-size - размер заднего фона
background-repeat - настройка повторения фонового изображения
background-attachment - возможность скрола изображения вместе со скролом элемента
background - комплексаная настройка фона
background-image: url(firstImage.jpg), url(secondImage.gif), url(thirdImage.png); - пример задания нескольких фоновых изображений
Можно использовать градиент в качестве фона: линейный и радиальный.
background: linear-gradient(direction, color-stop1, color-stop2, ...); - настройка линейного градиента.

background: radial-gradient(shape size at position, start-color, ..., last-color); - радиальный градиент.

Подробнее о background и border.
Media queries позволяются задавать различные стили, которые применяются к элементам в зависимости от типа и размеров экрана. На основе этого можно создавать отзывчивый дизайн.
Типы устройств:
- all - все
- print - принтеры
- screen - экраны компов, планшетов, смартфонов
- speech - скринридеры
Задать условие можно через самые популярные параметры min-width, max-width, а также многие другие (можно найти в дополнительных ссылках далее).
Также можно задать вид орментации через orientation: tablet/phone, landscape или portrait.
Пример:
@media screen and (min-width: 480px) {
body {
background-color: lightgreen;
}
}
Все это в совокупности позволяет вам настроить отображение веб приложения для различных устройств.
Подробнее о media queries тут, тут и тут.
- Режим написания
Позволяет настроить горизонтальное или вертикальное положение текста, а также направление блока (слева направо, снизу вверх и т.д.).

Каскадирование предполагает, что элементы вложены друг в друга и дочерние элементы наследуют свойства родителей.
Данный модуль позволяет устанавливать значения свойств, наследуя их от родительского элемента с помощью inherit. Также можно выставлять первоначальные значения, установленные браузером через initial. Кстати еще можно сбрасывать значения через unset.
7.Шрифты
С помощью @font-face можно установить значени шрифтов для отображения или загрузки (либо с сервака через url() либо с локальной машины через local())
Например
@font-face {
font-family: "Open Sans";
src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),
url("/fonts/OpenSans-Regular-webfont.woff") format("woff");
}
Также модуль позволяет выставить бессчетные параметры настройки шрифтов.
Модуль решает задачу разбивки и отображения контента в нескольких колонках, как в журнале или газете. Раньше это было очень сложной задачей, но с появлением этого модуля все стало гораздо проще.

Можно настроить число колонок для отображения текста при помощи свойства column-count, а ширину - column-width.
[Подробнее](https://habr.com/ru/company/microsoft/blog/143158/)
Модуль позволяет задавать значения свойтсв в следующих велечинах:
- rem, ch, em, ex - значения относительны корневого элемента (rem, ch) или шрифта (em, ex)
- vw, vh, vmax, and vmin - относительно vewport'a
- mm, cm, px, pt, pc - абсолютные значения
Установка значений в относительных велечинах добавляет гибкости. При изменении размеров шрифта, все значения размеров елементов буду автоматически пересчитаны, и вам не придется вручную всё подгонять.
Подробнее тут, тут и тут.
10. Гибкие макеты
Новое значение свойства display: flex - позволяет создавать гибкие макеты, которые позволяют избавиться от большинства костылей, которые применялись для расположение нескольких элементов в нужной последовательности. Можно завать направление flex-direction, соотношение размеров flex-grow, flex-basis, flex-shrink, правила переноса для элементов flex-wrap и многое другое.

Подробнее можно почитать в предыдущей статье
Это наиболее значимые нововведения (как по мне), что принес нам CSS3. Общий список можно найти тут.
Всегда рад обратной связи - если вы найдете неточности и захотите мне на них указать или у вас просто есть, что добавить. Писать можно в коменты или в телегу.
Присоединяйтесь к нашим каналам FrontEndDev и Web Stack в Telegram, чтобы не пропустить самое интересное из мира Web!