Кувалдин Артем
Разработчик интерфейсов
Графический формат — это способ записи графической информации.
Векторная графика |
Растровая графика |
|
![]() |
– это изображения, созданные при помощи математических описании элементарных геометрических объектов:
Изображение по вертикали и горизонтали разбивается на достаточно мелкие прямоугольники – пикселы.
– определяет то количество оттенков, в диапазоне которых точка может изменять свой цвет.
Глубина цвета (битов) | Количество цветов |
---|---|
2 | 22 = 4 |
4 | 24 = 16 |
8 | 28 = 256 |
16 | 216 = 65 536 |
24 | 224 = 16 777 216 |
1 бит / 24 бита
Плюсы растрового изображения:
Минусы растрового изображения:
— математическая модель описания представления цветов в виде кортежей чисел (обычно из трёх, реже — четырёх значений).
– кодирует любой цвет, представляя в виде комбинации трех цветов (каналов): красного (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: rgba(255, 0, 0, .5);
}
В CSS существует 140 зафиксированных имен
Данная модель является вычитающей, поскольку цвета в ней образуются путем вычитания из черного цвета базовых цветов: голубого (Cyan), пурпурного (Magenta), желтого (Yellow).
(Hue, Saturation, Value)
Чаще всего используется в простой обработке изображений.
(Hue, Saturation, Lightness)
Преимуществом HSL перед RGB является то, что HSL является гораздо более понятным. Кроме того, с помощью него легче создать палитры подходящих цветов (сохраняя оттенок и меняя яркость и насыщенность)
.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);
}
Её цветовой охват максимально близок к восприятию человека с нормальным зрением.
— язык разметки масштабируемой векторной графики
В настоящий момент формат SVG поддерживается 96.67% браузеров.
BMP | GIF |
15.6 MB | 860 KB |
применяемый для хранения фотоизображений и подобных им изображений
BMP | GIF | JPEG |
15.6 MB | 860 KB | 980 KB |
BMP | GIF | JPEG | PNG |
15.6 MB | 860 KB | 980 KB | 4.9MB |
png-8 | gif |
![]() |
![]() |
16 KB | 17 KB |
– обеспечивает сжатие изображений как с потерями, так и без потерь.
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
Photoshop имеют расширение *.psd
Отключение направляющих View -> Extras или ⌘+H
Window -> Workspace -> New Workspace ...
инструмент используется для запоминания состояний.
View –> Layer Comps
Зажать ⌘ (выбор Move Tools) + кликнуть на изображение.
Включить Auto–Select
Показать один слой – зажать Alt и нажать на "глазик".
Если наложение отлично от Normal – нужно поговирить с дизайнером.
⌘+Alt+Shift+S или через меню "File" -> "Save for Web...
Важно указывать размеры картинок, чтобы зарезервировать место под картинку.

.box1 {
background-image: url(yandex.png);
}
Картинка 250х250, содежащий блок 200x200
.box1 {
background-image: url(yandex.png);
/*background-size: 100% auto;*/
background-size: 100%;
}
Картинка 250х250, содежащий блок 200x200
.box1 {
background-image: url(yandex.png);
/*Можно указывать значение в px*/
background-size: 100% 100%;
}
Картинка 250х250, содежащий блок 200x200
.box1 {background-image: url(yandex.png);
background-size: cover;
}
.box2 { background-image: url(yandex.png);
background-size: contain;
}
.box-0 {
background-repeat: repeat; /*по умолчанию*/
}
.box1 {
background-repeat: no-repeat;
}
.box2 {
background-repeat: repeat-x;
}
.box3 {
background-repeat: repeat-y;
}
.box1 {background-image: url(yandex.png);
/*left | center | right | <проценты> | <значение>*/
/*top | center | bottom | <проценты> | <значение>*/
background-position: 75% 50%;
}
background-position: 100% 0;
background-position: 100% 100%;
background-position: 0 100%;
background-position: 0 0;
.box1 {
background-image: url(yandex.png);
/*scroll | fixed | local*/
background-attachment: fixed
}
.box {
color: #f00;
background: currentColor;
box-shadow: 0 0 55px currentColor;
}
– определяет область позиционирования фонового рисунка
.box { border: 10px solid red; 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(image.png) 50% 10% / 50px 80px
no-repeat #290;
}
.box {
background: linear-gradient(#f00,#0f0);
}
.box {
background: linear-gradient(45deg, #ff0 0, #f00 30%, #0f0 30%);
}
.box {
background: radial-gradient(#fff,#00f);
}
background: radial-gradient(100px 200px at 100px 10px,
#fff 0%,#f00 50%,#00f 100%);
background: linear-gradient(135deg, #ECEDDC 25%, rgba(0, 0, 0, 0) 25%) -50px 0,
linear-gradient(225deg, #ECEDDC 25%, rgba(0, 0, 0, 0) 25%) -50px 0,
linear-gradient(315deg, #ECEDDC 25%, rgba(0, 0, 0, 0) 25%),
linear-gradient(45deg, #ECEDDC 25%, rgba(0, 0, 0, 0) 25%);
background-size: 100px 100px;
background-color: #EC173A;
– прием объединить много изображений в одно.
Нужно сделать кнопки "поделиться"
.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;
}
Особенности:
.cartoon {
width: 50px;
height: 72px;
background-image: url(sprite.png);
animation: sprite 1s steps(9) infinite;
}
@keyframes sprite {
100% { background-position-x: 100%; }
}
– способ оптимизации загрузки изображения.

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