Фон / Границы / Тени
Фоновый цвет и изображения
Допускаются множественные свойства через запятую.
div {
/* Фон цветом */
background-color: red;
/* Фон изображением */
background-image: 'url(images/some-image.png)';
background-image: 'url(images/some-image1.png), url(images/some-image2.png)';
/* Повтор фонового изображения - для паттернов */
background-repeat: no-repeat | repeat | repeat-x | repeat-y | round | space;
/* Позиция фонового изображения (раньше использовали для спрайтов) */
background-position: auto auto | 0 0 | 50% 50% | left bottom;
/* Размер фонового изображения */
background-size: 50px | 50px 100px | 50px auto | 50% 50% | contain | cover;
/* Прокрутка фонового изображения */
background-attachment: scroll* | fixed;
/* Область отображения фонового изображения (Взаимодействие padding, border и background-image) */
background-origin: padding-box* | content-box | border-box;
/* padding-box - по ум* (рамка "отодвигает" фон), на padding не реагирует; */
/* content-box - если задан padding, то фон реагирует на него и будет двигаться не от границы блока, а от внутренней границы border; */
/* border-box - фон "залезает" под border, на padding не реагирует; */
/* Обрезка фонового изображения */
background-clip: border-box* | cotent-box | padding-box;
/* border-box - по ум* (без обрезания); */
/* cotent-box - обрезает фон по краю содержимого (весь фон, который "не влез" в контейнер будет обрезан); */
/* padding-box - обрезает фон по внутреннему краю border (если фон "влез" в border как при background-origin: border-box, то край фона будет обрезан по рамке); */
/* Краткая запись */
background: [bc] [bi] [br] [bp] [ba];
[bc] — background-color;
[bi] — background-image;
[br] — background-repeat;
[bp] — background-position;
[ba] — background-attachment;
}
mix-blend-mode
Текст фоном.
.parent {
background-image: url(https://www.w3schools.com/css/img_lights.jpg);
}
.child {
background-color: black;
mix-blend-mode: multiply;
}
data url
Можно вставлять inline svg прямо в css и добавлять туда внутренние стили через тэк style, поддерживаются даже анимации.
Lea Verou - Even More CSS Secrets
body {
background-image: url("data:image/svg+xml;utf8,\
<svg width='100' height='100' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'>\
<style>@keyframes dance {to{transform: rotate(-20deg)}}</style>\
<line x1='50' y1='50' x2='250' y2='100' stroke='deeppink' stroke-width='6' style='animation: dance 1s infinite alternate' />\
</svg>");
}
Градиент
Линейный
div {
background-image:
/* Направление названием - to left | to top | to right | to bottom* */
linear-gradient(to bottom, yellow, deeppink),
/* Направление в градусах */ linear-gradient(45deg, white, black),
/* многоцветный градиент */
/* По умолчанию все цвета равномерно распределяются по ширине */
linear-gradient(to right, red, green, blue),
/* колорстопы в % */
/* Если указывать явный шаг для каждого цвета, чтобы конец одного цвета был началом другого, */
/* то самого градиента не будет, будут только эти цвета в чистом виде */
linear-gradient(45deg, green 30%, yellow 70%),
linear-gradient(45deg, green 0, green 50%, yellow 50%, yellow 100%),
/* колорстопы в px */
linear-gradient(
to right,
red 0,
red 15px,
green 15px,
green 30px,
blue 30px,
blue 45px
),
/* повторяющийся градиент */
repeating-linear-gradient(
to right,
red 0,
red 15px,
green 15px,
green 30px,
blue 30px,
blue 45px
);
}
Радиальный
Радиальный градиент начинается в центре элемента, считается по ширине и высоте.
div {
background-image:
radial-gradient(ellipse, yellow, deeppink),
/* многоцветный градиент */ radial-gradient(red, green, blue),
/* колорстопы в % */
radial-gradient(red 0, red 15%, green 15%, green 30%, blue 30%, blue 45%),
/* колорстопы в px */
radial-gradient(
red 0,
red 15px,
green 15px,
green 30px,
blue 30px,
blue 45px
),
/* повторяющийся градиент */
repeating-radial-gradient(
red 0,
red 15px,
green 15px,
green 30px,
blue 30px,
blue 45px
);
}