Екатерина Симонова
— математическая модель описания представления цветов в виде кортежей чисел (обычно из трёх, реже — четырёх значений).
– кодирует любой цвет, представляя в виде комбинации трех цветов (каналов): красного (Red), зеленого (Green) и синего (Blue), с разной интенсивностью.
Интенсивность каждого из трех цветов – это один байт (т. е. число в диапазоне от 0 до 255):
a:hover {
/* rgb(red, green, blue);*/
color: rgb(255, 0, 0);
/*color: rgb(100%, 0, 0);*/
}
a:hover {
/*Шестнадцатеричная запись*/
color: #ff0000;
}
a:hover {
/*Короткая запись*/
color: #f00;
}
Похож по синтаксису на RGB, но включает в себя альфа-канал, задающий непрозрачность элемента (0 – прозрачный, 1 – непрозрачный).
red-box:hover {
background-color: rgba(255, 0, 0, .5);
}
red-box:hover {
background-color: #ff000050;
}
(Hue, Saturation, Lightness)
.span-1 {
color: hsl(0, 0%, 100%);
}
.span-2 {
color: hsl(0, 100%, 50%);
background-color: hsl(120, 100%, 50%);
}
.span-3 {
color: hsl(30, 100%, 0%);
background-color: hsl(60, 100%, 100%);
}
Формат HSLA похож по синтаксису на HSL, но включает в себя альфа-канал, задающий непрозрачность элемента.
.box {
background-color: hsla(120, 100%, 50%, 1);
}
.box:hover {
background-color: hsla(120, 100%, 50%, .5);
}
.box {
background-color: #f00;
}
.box {
background-color: rgba(255, 0, 0, .5);
}
.box {
background-image: linear-gradient(#f00,#0f0);
}
.box {
background-image: linear-gradient(45deg, #ff0 0, #f00 30%,
#0f0 30%);
}
.box {
background-image: linear-gradient(to top right,
purple, crimson, orangered, gold);
}
.box {
background-image: linear-gradient(45deg,
purple, crimson, orangered, gold);
}
.box {
background-image: radial-gradient(gold, purple);
}
background: radial-gradient(100px 200px at 100px 10px,
white 0%, orangered 50%, purple 100%);
.box {
background-image: radial-gradient(circle, gold, red);
}
.box {
background-image: radial-gradient(200px 30px, gold, red);
}
.box {
background: radial-gradient(at top left, gold, red);
}
.box {
background-image: radial-gradient(at 600px 50px, gold, red);
}
background: linear-gradient(135deg, white 25%, transparent 25%) -50px 0,
linear-gradient(225deg, white 25%, transparent 25%) -50px 0,
linear-gradient(315deg, white 25%, transparent 25%),
linear-gradient(45deg, white 25%, transparent 25%);
background-size: 100px 100px;
background-color: red;
Векторная |
Растровая |
|
![]() |
– это изображения, состоящие из элементарных геометрических фигур:
— язык разметки масштабируемой векторной графики
В настоящий момент формат SVG поддерживается 95.83% браузеров.
Изображение по вертикали и горизонтали разбивается на достаточно мелкие прямоугольники – пикселы.
– определяет то количество оттенков, в диапазоне которых точка может изменять свой цвет.
Глубина цвета (битов) | Количество цветов |
---|---|
2 | 22 = 4 |
4 | 24 = 16 |
8 | 28 = 256 |
16 | 216 = 65 536 |
24 | 224 = 16 777 216 |
1 бит / 24 бита
Плюсы растрового изображения:
Минусы растрового изображения:
BMP | GIF |
15.6 MB | 860 KB |
применяемый для хранения фотоизображений и подобных им изображений
BMP | GIF | JPEG |
15.6 MB | 860 KB | 980 KB |
JPEG | PNG |
397KB | 2.07MB |
png-8 | gif |
![]() |
![]() |
16 KB | 17 KB |
BMP | GIF | JPEG | PNG |
15.6 MB | 860 KB | 980 KB | 4.9MB |
WebP
– обеспечивает сжатие изображений как с потерями, так и без потерь.
BMP | GIF | JPEG | PNG | WebP |
15.6 MB | 860 KB | 980 KB | 4.9MB | 450KB |
– заключается в удалении «ненужной» информации из SVG, тем самым уменьшается размер самого файла.
<svg version="1.2" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" height="300"><circle stroke="#f00" stroke-width="2" stroke-miterlimit="10" cx="50" cy="50" r="40"/></svg>
0.614 KiB – 68.2% = 0.195 KiB
<img src="img.png" alt="Изображение про img"
title="Что-то дополнительное" height="100" width="200">
<img src="img.png" alt="котик" height=100 width=200
srcset="img@2x.png 2x">
<img src="img800.png" alt="котик" height=100 width=200
srcset="img800.png 800w, img1500.png 1500w">
<img src="img.png" alt="picture" height=100 width=200>
<source media="(min-width: 800px)"
srcset="images/filter-cat.jpg" type="image/jpeg">
<source media="(max-width: 799px)"
srcset="images/cat.png" type="image/png">
<img src="img.png" alt="котик" height=100 width=200>
fill
contain
cover
none
.box1 {
background-image: url(pusheen.png);
}
.box1 {
background-image: url(pusheen.png);
background-size: 100%;
/*background-size: 100% auto;*/
}
Картинка 250х250, содежащий блок 200x200
.box1 {
background-image: url(pusheen.png);
background-size: 100% 100%;
/*Можно указывать значение в px*/
}
Картинка 250х250, содежащий блок 200x200
.box1 {
background-image: url(pusheen.png);
background-size: cover;
}
.box2 {
background-image: url(pusheen.png);
background-size: contain;
}
.box0 {
background-repeat: repeat; /*по умолчанию*/
}
.box1 {
background-repeat: no-repeat;
}
.box2 {
background-repeat: repeat-x;
}
.box3 {
background-repeat: repeat-y;
}
.box1 {
background-image: url(pusheen.png);
/*left | center | right | <проценты> | <значение>*/
/*top | center | bottom | <проценты> | <значение>*/
background-position: 75% 50%;
}
background-position: 0 0;
background-position: 50px 50px;
background-position: 100% 0;
background-position: 100% 100%;
background-position: 0 100%;
background-position: 0 0;
.box1 {
background-image: url(windows.png);
/*scroll | fixed | local*/
background-attachment: fixed
}
Какой-то текст
scroll
fixed
local
.box { background-repeat: no-repeat; padding: 20px; }
.box1 { background-origin: border-box; }
.box2 { background-origin: padding-box; /*по умолчанию*/ }
.box3 { background-origin: content-box; }
/* background: <bg-image> ||
<position> [ / <bg-size> ]? || <repeat-style> ||
<attachment> || <'background-color'>*/
.box {
background: url(pusheen.png) 50% 10% / 50px 80px
no-repeat #290;
}
.cat {
opacity: .5;
}
.cat {
filter: invert(100%) sepia(100%);
}
– прием объединить много изображений в одно.
Нужно сделать кнопки "поделиться"
.social {
width: 100px;
height: 100px;
background-repeat: no-repeat;
background-image: url(share.svg)
}
.fb {
background-position: 0 0;
}
.fb:hover {
background-position: 0 -100px;
}
.twitter {
background-position: -100px 0;
}
.twitter:hover {
background-position: -100px -100px;
}
Особенности:
<svg style="display: none;">
<symbol id="instagram" viewBox="0 0 24 28">...</symbol>
<symbol id="vk" viewBox="0 0 30 28">...</symbol>
</svg>
<div class="icons">
<svg width="20px" height="20px">
<use xlink:href='#instagram'/>
</svg>
<svg width="20px" height="20px">
<use xlink:href='#vk'/>
</svg>
</div>
– способ оптимизации загрузки изображения.

.logo {
background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My+);
}