LOGO
    • d
    • n

CSS | Шпаргалка по CSS

zapaDEV

To exclude some image from lazyload add data-no-lazy="1" attribute. Or class="skip-lazy"

Стилизация подчеркивания

text-decoration: text-decoration-line || text-decoration-color || text-decoration-style || text-decoration-thickness

text-decoration-line

Тип линии подчеркивания

text-decoration-line: underline; // подчёркивание;
text-decoration-line: line-through; // зачёркивание;
text-decoration-line: overline; // надчёркивание;
text-decoration-line: underline overline; // подчёркивание + надчёркивание;
text-decoration-line: underline line-through; // подчёркивание + зачёркивание;
text-decoration-line: none; //  убирает вышеперечисленные эффекты;

text-decoration-color

Цвет линии подчеркивания

text-decoration-color: ;

text-underline-offset

Растояние до линии подчеркивания

text-underline-offset: ;

text-decoration-thickness

Толщина линии подчеркивания

text-decoration-thickness: ;

Пропорции

aspect-ratio: 1 / 1;
aspect-ratio: 16 / 9;

Списки

list-style-position: outside  | inside | inherit;

Фильтры

CSS filter generator to convert from black to target hex color

filter: brightness(0) invert(1); // Белый

Двухцветный bakcground

background-image: linear-gradient(180deg, $main-color 96px, $sub-color 96px);

Перенос слов

word-break: break-all;

Транзишин/анимация при появлении

.element.show {
  animation: SHW .3s;
  animation-fill-mode: both;
}


@keyframes SHW {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}

Input[type="search"] убрать крест

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

Псевдо-элементы и Псевдо-классы

Псевдо-классы

Псевдо-классы предназначены для изменения стиля существующих элементов страницы в зависимости от их динамического состояния, например при работе со ссылками (:link, :visited, :hover, :active, :focus).

Состояния

:link {}; // это ПК, отвечающий за “нормальное” состояние ссылки и используется для выбора ссылок, которые еще не были посещены.
:visited {}; // используется для стилей ссылок, по которым был переход. Позиция ПК :visited вторая по счету (после :link).
:hover {};  // используется для стилизации элементов, когда курсор пользователя находится над ними.
:active {}; // используется для элементов, которые были “активированы” при помощи курсора или касанием для сенсорных устройств.
:focus {}; // используется для стилизации элементов, которые получили фокус при помощи курсора, тапа на тачскрине или при помощи клавиатуры.

Структура

:first-child {}; // первый дочерний элемент.
:first-of-type {}; // первый дочерний элемент заданного типа
:last-child {}; // последний дочерний элемент.
:last-of-type {}; // последний дочерний элемент заданного типа.
:not(s) {}; // стилизация элементов, которые не содержат заданный селектор.
:nth-child(n) {}; // n-дочерний элемент.
:nth-last-child(n) {}; // n-дочерний элемент, отсчёт ведётся с конца.
:nth-of-type(n) {}; // n-дочерний элемент заданного типа.
:nth-last-of-type(n) {}; // n-дочерний элемент заданного типа, отсчёт ведётся с конца.
:only-child {}; // выбирает единственный дочерний элемент в родителе.
:only-of-type {}; // нацелен на элемент, который не имеет братьев этого конкретного типа. Это похоже на :only-child за исключением того, что мы можем нацелится на конкретный элемент, сделав селектор более специфичным.
:target {}; // … что ж, он выбирает уникальный ID элемента и помещает его в URL. Пример: статья с уникальным ID будет иметь желтый фон если URL страницы заканчивается на #target.

Валидация

:checked {}; // управляет радио-кнопками, чекбоксами и элементами option, которые были выбраны.
:default {}; // нацелен на элемент по умолчанию в форме среди группы сходных элементов.
:disabled {}; // работает с элементами форм в их отключенном состоянии. “Задизейбленный” (отключенный) элемент не может быть выбран, с ним нельзя взаимодействовать или активировать его, он не может получить фокус.
:empty {};  // нацелен на элементы, которые не содержат в себе контент любого рода.
:enabled {}; // выбирает включенные (активные для взаимодействия) элементы. Все элементы формы активны по умолчанию — утверждение верно до тех пор, пока мы не используем disabled атрибут в разметке.
:in-range {}; // выбирает элементы, которые имеют диапазон значений и значения, находящиеся в этом диапазоне.
:out-of-range {}; // работает с элементами, которые имеют диапазон значений и значения которого выходят за пределы этого диапазона.
:indeterminate {}; // нацелен на элементы ввода (радио-кнопки и чекбоксы), которые не были выбраны или не выбраны при загрузке страницы.
:valid {}; // нацелен на элемент формы, который заполнен в соответствии с форматированием этого элемента.
:invalid {}; // работает с элементами формы, чье форматирование не совпадает с требуемым.
:optional {}; // предназначен для полей ввода, которые не являются обязательными. Другими словами до тех пор, пока поле не имеет атрибута required, оно будет подчиняться ПК :optional.
:read-only {}; // нацелен на нередактируемый элемент.
:read-write {}; // выбирает элементы, которые могут быть отредактированы пользователем.
:required {}; // работает с элементами, которые имеют атрибут required в html-разметке.

Язык

Языковые псевдоклассы связаны с текстом, содержащимся на странице. Они не управляют никакими медиа-элементами, такими как изображения или видео.

:lang(fr) {}; // соответствует языку элемента, который определен комбинацией атрибута lang=””, определенного meta элемента и информации из заголовка полученного по протоколу HTTP.
:dir {}; // (эксперимент) нацелен на элемент, направление которого указывается в документе

Прочее

:root {}; // относится к самому высокому родительскому элементу в документе. Практически во всех случаях :root будет относится к элементу html в документе. Однако он может обратится и к другому элементу, если он используется в другом языке разметки, например SVG или XML.
:fullscreen {}; // (эксперимент) выбирает элементы, которые отображаются в полноэкранном режиме.

Псевдо-элементы

Псевдо-элементы определяют стиль элементов, чётко не определённых в структуре документа (:first-letter, :first-line), а также позволяют генерировать и стилизировать несуществующее содержимое (:before, :after и свойство content).

В CSS3 псевдо-элементы начинаются с двух двоеточий :: (::first-letter, ::first-line, ::before, ::after).

В CSS3 также был (до 2008 года) псевдо-элемент ::selection. Он стилизует выделенный пользователем текст. Браузеры Mozilla Firefox и SeaMonkey поддерживают нестандартный псевдо-элемент ::-moz-selection.

E::first-line
E::first-letter
E::before
E::after

Image CSS Cheat Sheet