Кувалдин Артем
Разработчик интерфейсов
Графический формат — это способ записи графической информации.
Векторная графика |
Растровая графика |
|
|
– это изображения, созданные при помощи математических описании элементарных геометрических объектов:
Изображение по вертикали и горизонтали разбивается на достаточно мелкие прямоугольники - пикселы.
– определяет то количество оттенков, в диапазоне которых точка может изменять свой цвет.
Глубина цвета (битов) | Количество цветов |
---|---|
2 | 22 = 4 |
4 | 24 = 16 |
8 | 28 = 256 |
16 | 216 = 65 536 |
24 | 224 = 16 777 216 |
Плюсы растрового изоражения:
Минусы растрового изоражения:
— математическая модель описания представления цветов в виде кортежей чисел (обычно из трёх, реже — четырёх значений).
– кодирования любой цвет представляется в виде комбинации трех цветов (каналов): красного (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 {
/*Короткая запись(HEX)*/
color: #f00;
}
Похож по синтаксису на RGB, но включает в себя альфа-канал, задающий прозрачность элемента (0 - прозрачный, 1 - непрозрачный).
red-box:hover {
background: rgba(255, 0, 0, .5);
}
В CSS существует 140 именованных цветов
Данная модель является вычитающей, поскольку цвета в ней образуются путем вычитания из черного цвета базовых цветов: голубого (Cyan), пурпурного (Magenta), желтого (Yellow).
HSV (Hue, Saturation, Value), где:
Такая модель чаще всего используется в простой обработке изображений, т.к. при помощи неё удобно регулировать основные параметры фотографий, не прибегая к куче различных фильтров или отдельных настроек.
HSL (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.43% браузеров.
применяемый для хранения фотоизображений и подобных им изображений
png-8 | gif |
16 KB | 17 KB |
– заключается в удалении «ненужной» информации из 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
Window -> Workspace -> New Workspace ...
инструмент используется для запоминания состояний.
View -> Layer Comps
Зажать ⌘/Ctrl (выбор Move Tools) и кликнуть на изображение.
Включить Auto-Select
Показать один слой - зажать Alt и нажать на "глазик".
Если наложение отлично от Normal - нужно поговирить с дизайнером.
⌘/Ctrl+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);
background-size: 30%;
/*left | center | right | <проценты> | <значение>*/
/*top | center | bottom | <проценты> | <значение>*/
background-position: 75% 50%;
}
/* 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(to right, #ff3236 0%,#7db9e8 100%;
}
.box {
background: radial-gradient(ellipse at center, #000 0%,#67babf 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;
}
Особенности:
.cartoon {
width: 50px;
height: 72px;
background-image: url(sprite.png);
background-size: auto 100%;
background-repeat: no-repeat;
animation: sprite 1s steps(9) infinite;
}
@keyframes sprite {
100% {
background-position-x: 100%;
}
}
– способ оптимизации загрузки изображения.
.logo {
background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MiIgaGVpZ2h0PSIzNCIgdmlld0JveD0iMCAwIDE2NDAgNjgwIj48cGF0aCBkPSJNNTU2IDIwMGgtNDdjLTQgMC02IDMtNiA1djE0NWgtODd2LTE0NWMwLTQtMi01LTUtNWgtNDdjLTQgMC02IDItNiA1djM2OGMwIDQgMiA2IDUgNmg0OGMzIDAgNS0yIDUtNnYtMTc2aDg3djE3NmMwIDQgMiA2IDYgNmg0N2M0IDAgNS0zIDUtNnYtMzY4YzAtMy0yLTUtNS01em0xMDY2IDMyOWMtMS0yLTItMy00LTMtNCAwLTI0IDgtNTQgOC01OCAwLTg2LTU1LTg2LTE0MyAwLTc3IDIzLTE1NCA2My0xNTQgMTEgMCAyMyAzIDQ0IDIyIDIgMiA0IDMgNiAzczUtMiA3LTVsMjAtMzNjMi0yIDItNSAyLTcgMC0zLTMtNS04LTgtMzEtMTYtNTItMTktNzAtMTktNzEgMC0xMjYgODUtMTI2IDIxNyAwIDExNCA1MyAxODAgMTI5IDE4MCAzMiAwIDY2LTE1IDgwLTI1IDMtMiA0LTUgMy04bC02LTI2em0tMzIzLTE1OGw5MS0xNjZjMi0yIDEtNS0yLTVoLTQ1Yy0xMyAwLTE3IDUtMjIgMTRsLTY4IDE0MmMtNCA4LTggMTQtMTEgMTZ2LTE2N2MwLTMtMi01LTUtNWgtNDljLTIgMC01IDItNSA1djM2OWMwIDIgMiA1IDUgNWg0OWMzIDAgNS0yIDUtNXYtMTkwYzIgMiA0IDQgNSA3bDg2IDE3N2M1IDkgMTEgMTEgMjEgMTFoNDhjMyAwIDQtMyAyLTVsLTEwNi0yMDN6bS00MzQgMTYxaC05Yy0xMSAwLTE0LTUtMTQtMTR2LTMxM2MwLTQtMi01LTUtNWgtMTUxYy00IDAtNiAyLTYgNXYyN2MwIDkyLTUgMjEwLTU0IDI5OWgtMTdjLTUgMC02IDItNiA2djExMWMwIDQgMyA1IDUgNWgzNmM4IDAgMTEtNiAxMS0xMXYtNjNoMTYydjY5YzAgMyAyIDUgNSA1aDM5YzUgMCA5LTQgOS0xMXYtMTA1YzAtNC0yLTYtNi02em0tODIgMGgtMTEwYzM5LTY2IDU0LTE0MCA1OS0yMzEgMi0yMCAyLTQwIDItNTNoNDh2Mjg0em0yMzYtMzQxYy04MiAwLTExOCAxMDMtMTE4IDIxNSAwIDExNCA1MiAxODMgMTI3IDE4MyAzNyAwIDcwLTE0IDg2LTI1IDMtMiA0LTQgMy03bC02LTI2Yy0xLTMtMi01LTYtNS0zIDAtMjUgOC01NiA4LTU4IDAtODYtNTEtODYtMTE3di0xOHMzMCA0IDQ3IDRoMTExdi0zMmMwLTExNy00Mi0xODAtMTAyLTE4MHptLTggMTY0Yy0xNyAwLTQ1IDMtNDUgM3MwLTExIDItMjNjNy02NCAyMy05NyA0OS05NyAyNCAwIDM5IDMzIDQzIDkyIDEgMTIgMSAyNiAxIDI2aC01MHoiLz48cGF0aCBmaWxsPSIjZjAwIiBkPSJNMjcxIDExaC04NmMtODUgMC0xNTcgNjQtMTU3IDE4OSAwIDc1IDM1IDEzMCA5NyAxNThsLTExNiAyMDljLTQgNyAwIDEyIDYgMTJoNTRjNSAwIDgtMiA5LTVsMTA1LTIwNWgzOHYyMDVjMCAyIDIgNSA1IDVoNDdjNSAwIDYtMiA2LTZ2LTU1NGMwLTUtMy04LTgtOHptLTUwIDMwOWgtMzJjLTUwIDAtOTgtMzYtOTgtMTI3IDAtOTUgNDUtMTMzIDkyLTEzM2gzOXYyNjB6Ii8+PC9zdmc+);
}
Кувалдин Артем
akuv@yandex-team.ru
Deadline
10 декабря
02:59:59.999