currentColor
Ключевое слово currentColor соответствует значению свойства color для текущего элемента. Это позволяет использовать значение цвета для свойств, которые не получают его по умолчанию.
<!DOCTYPE html> <html> <head> <title>currentColor</title> <meta charset="utf-8"> <style> div { background: #f0f0f0; /* Цвет фона */ color: #3b4d81; /* Синий цвет текста */ padding: 10px; /* Поля вокруг текста */ border: 1px solid; /* Параметры тени */ border-radius: 5px; /* Радиус скругления уголков */ box-shadow: 0 0 5px currentColor; /* Параметры тени */ transition: 1s; /* Переход */ } div:hover { color: #009d4b; /* Зелёный цвет текста */ } </style> </head> <body> <div>Ваш браузер поддерживает currentColor.</div> </body> </html>
В данном примере значение currentColor применяется для установки цвета тени у блока. Цвет рамки явно не указан, поскольку он по умолчанию задаётся таким же, как и значение color. При наведении указателя на блок, цвет текста, рамки и тени меняется на зелёный.
inherit
Ключевое слово, которое сообщает, что необходимо наследовать значение свойства у родительского элемента. Естественно, результат будет заметен только в том случае, если у родителя указанное свойство установлено.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>inherit</title> <style> div { border: 1px solid green; padding: 10px; } p { border: inherit; padding: inherit; } </style> </head> <body> <div><p>Внимание, запрашиваемая страница не найдена!</p></div> </body> </html>
initial
Значение initial применяется для установки исходного значения свойства. Может пригодиться в нескольких случаях, к примеру, восстановить значения свойств, заданных браузером по умолчанию или задать начальное значение свойства, измененное в результате наследования.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>initial</title> <style> h2 { color: #ffb734; font-family: Arial, sans-serif; } p { color: green; } .initial { color: initial; font-family: initial; } </style> </head> <body> <h2>Метод случайных чисел</h2> <p> Разделим пустыню на <span class="initial">ряд элементарных прямоугольников</span>, размер которых совпадает с размером клетки для льва. После чего перебираем полученные прямоугольники, каждый раз выбирая заданную область случайным образом. Если в данной области окажется лев, то мы поймаем его, накрыв клеткой. </p> <h2 class="initial">Метод Гаусса</h2> </body> </html>
unset
Является комбинацией ключевых слов initial и inherit. Ключевое слово unset устанавливает значение свойства как inherit, если свойство наследуется от своего родителя, в противном случае значение устанавливается как initial.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>unset</title> <style> * { margin: unset; padding: unset; border: unset; } </style> </head> <body> <h1>Заголовок</h1> <p>Внимание, запрашиваемая страница не найдена!</p> </body> </html>
url
Адреса применяются для указания пути к файлу, например, для установки фоновой картинки на странице. Для этого применяется ключевое слово url(), внутри скобок пишется относительный или абсолютный адрес файла. При этом адрес можно задавать в необязательных одинарных или двойных кавычках.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Добавление фона</title> <style> body { background: url("https://alishoff.com/media/images/blog.jpg") no-repeat; } </style> </head> <body> <div>Внимание, запрашиваемая страница не найдена!</div> </body> </html>
time
Задаёт время в секундах или миллисекундах. Значение состоит из целого или дробного числа, за которым сразу же следует символ s для секунд или ms для миллисекунд. Пробел после числа недопустим. Для преобразования единиц помните, что 1s = 1000ms.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Загрузка...</title> <style> .loading { width: 240px; margin: auto; padding: 20px 0 10px; background: #333; color: #fff; text-align: center; } .spin { display: inline-block; width: 30px; height: 30px; border: 10px solid #ccc; border-right: 10px solid transparent; border-radius: 30px; animation: spin 2s linear 0s infinite normal; /* Анимация */ } /* Задаём вращение */ @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style> </head> <body> <div class="loading"> <div class="spin"></div> <p>Загружается...</p> </div> </body> </html>
percent
Процентная запись обычно применяется в тех случаях, когда надо изменить значение относительно родительского элемента или когда размеры зависят от внешних условий. Так, ширина таблицы 100% означает, что она будет подстраиваться под размеры окна браузера и меняться вместе с шириной окна.
Допускается указывать дробное значение, например 50.3%.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ширина в процентах</title> <style> table { width: 100%; /* Ширина таблицы в процентах */ background: #f0f0f0; /* Цвет фона */ } </style> </head> <body> <table> <tr><td>Содержимое таблицы</td></tr> </table> </body> </html>
size
Для задания размеров различных элементов в CSS используются абсолютные и относительные единицы измерения. Абсолютные единицы не зависят от устройства вывода, а относительные единицы определяют размер элемента относительно значения другого размера.
- Относительные единицы
Относительные единицы обычно используют для работы с текстом:
Единица em это изменяемое значение, которое зависит от размера шрифта текущего элемента (размер устанавливается через стилевое свойство font-size). В каждом браузере заложен размер текста, применяемый в том случае, когда этот размер явно не задан. Поэтому изначально 1em равен размеру шрифта, заданного в браузере по умолчанию или размеру шрифта родительского элемента. Процентная запись идентична em, в том смысле, что значения 1em и 100% равны.
Единица ex определяется как высота символа «x» в нижнем регистре. На ex распространяются те же правила, что и для em, а именно, он привязан к размеру шрифта, заданного в браузере по умолчанию, или к размеру шрифта родительского элемента.
Единица ch равна ширине символа «0» для текущего элемента и подобно em зависит от размера шрифта.
Разница между em и rem следующая. em зависит от размера шрифта родителя элемента и меняется вместе с ним, а rem привязан к корневому элементу, т. е. размеру шрифта заданного для элемента html.
Также есть группа относительных единиц привязанных к размеру области просмотра браузера:
- Абсолютные единицы
Абсолютные единицы представляют собой физические размеры - дюймы, сантиметры, миллиметры, пункты, пики, а также пиксели. Для устройств с низким dpi (количество точек приходящихся на один дюйм, определяет плотность точек) привязка идёт к пикселю. В этом случае один дюйм равен 96 пикселям. Очевидно, что реальный дюйм не будет совпадать с дюймом на таком устройстве. На устройствах с высоким dpi реальный дюйм совпадает с дюймом на экране, поэтому размер пикселя вычисляется как 1/96 от дюйма. Основные абсолютные единицы:
При установке размеров обязательно указывайте единицы измерения, например width: 30px. В противном случае браузер не сможет показать желаемый результат, поскольку не понимает, какой размер вам требуется. Единицы не добавляются только при нулевом значении (margin: 0).
string
Любые строки необходимо брать в двойные или одинарные кавычки. Если внутри строки требуется оставить одну или несколько кавычек, то можно комбинировать типы кавычек или добавить перед кавычкой обратную косую черту.
Свойство: 'первая "строка"' Свойство: "первая 'строка'" Свойство: "первая \"строка\""
В первой строке применяются одинарные кавычки в сочетании с двойными. Во второй строке все с точностью до наоборот, в третьей же строке используются только двойные кавычки, но внутренние экранированы с помощью слэша.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Строка</title> <style> .new::after { content: " обновлено"; color: #ff0000; } </style> </head> <body> <p class="new"> DEL используется для выделения текста, который был удалён в новой версии документа. </p> </body> </html>
angle
Задаёт угол наклона или поворота. Положительное значение отмеряется по часовой стрелке, отрицательное против часовой стрелки.
Угол может задаваться в следующих единицах:
filter
Фильтр - это функция, которая позволяет изменять вид изображения, применяя к нему разные эффекты, вроде контрастности, яркости, преобразования в чёрно-белую картинку и др.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Фильтр</title> <style> .sepia { filter: sepia(1); transition: 2s; } .sepia:hover { filter: sepia(0); } </style> </head> <body> <img src="https://alishoff.com/uploads/5d7246541ed9f.jpg" alt="" class="sepia"> <img src="https://alishoff.com/uploads/5d7246541ed9f.jpg" alt="" class="sepia"> </body> </html>
В данном примере при наведении курсора мыши на фотографию, она из сепии плавно превращается в цветную.
color
Цвет в стилях можно задавать разными способами: по шестнадцатеричному значению, по названию, в формате RGB, RGBA, HSL, HSLA.
- По шестнадцатеричному значению
Для задания цветов используются числа в шестнадцатеричном коде. Шестнадцатеричная система, в отличие от десятичной системы, базируется, как следует из её названия, на числе 16. Цифры будут следующие: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Цифры от 10 до 15 заменены латинскими буквами. Числа больше 15 в шестнадцатеричной системе образуются объединением двух чисел в одно. Например, числу 255 в десятичной системе соответствует число FF в шестнадцатеричной системе. Чтобы не возникало путаницы в определении системы счисления, перед шестнадцатеричным числом ставят символ решетки #, например #666999. Каждый из трёх цветов - красный, зелёный и синий - может принимать значения от 00 до FF. Таким образом, обозначение цвета разбивается на три составляющие #rrggbb, где первые два символа отмечают красную компоненту цвета, два средних - зелёную, а два последних - синюю. Допускается использовать сокращенную форму вида #rgb, где каждый символ следует удваивать. Так, запись #fe0 следует расценивать как #ffee00.
- По названию
Браузеры поддерживают некоторые цвета по их названию. Например: white, silver, gray, black, red, orange...
- С помощью RGB
Можно определить цвет, используя значения красной, зелёной и синей составляющей в десятичном исчислении. Каждая из трёх компонент цвета принимает значение от 0 до 255. Также допустимо задавать цвет в процентном отношении, при этом 100% будет соответствовать числу 255. Вначале указывается ключевое слово rgb, а затем в скобках, через запятую указываются компоненты цвета, например rgb(255, 128, 128) или rgb(100%, 50%, 50%).
- RGBA
Формат RGBA похож по синтаксису на RGB, но включает в себя альфа-канал, задающий прозрачность элемента. Значение 0 соответствует полной прозрачности, 1 - непрозрачности, а промежуточное значение вроде 0.5 - полупрозрачности.
- HSL
Название формата HSL образовано от сочетания первых букв Hue (оттенок), Saturate (насыщенность) и Lightness (светлота). Оттенок это значение цвета на цветовом круге и задаётся в градусах. 0° соответствует красному цвету, 120° - зелёному, а 240° - синему. Значение оттенка может изменяться от 0 до 359.
Насыщенностью называется интенсивность цвета, измеряется в процентах от 0% до 100%. Значение 0% обозначает отсутствие цвета и оттенок серого, 100% максимальное значение насыщенности.
Светлота задает, насколько цвет яркий и указывается в процентах от 0% до 100%. Малые значения делают цвет темнее, а высокие светлее, крайние значения 0% и 100% соответствуют чёрному и белому цвету.
- HSLA
Формат HSLA похож по синтаксису на HSL, но включает в себя альфа-канал, задающий прозрачность элемента. Значение 0 соответствует полной прозрачности, 1 - непрозрачности, а промежуточное значение вроде 0.5 - полупрозрачности.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Цвета</title> <style> body { background-color: #F9F2E3; } h2 { background-color: rgb(214, 86, 43); color: rgba(255, 255, 255, .9); padding: 10px; } p { color: green; } div { background-color: hsl(60, 100%, 25%); color: hsla(120, 100%, 50%, .5); } </style> </head> <body> <h2>Предупреждение</h2> <p> Все перечисленные на сайте методы ловли льва являются теоретическими и базируются на вычислительных методах. Авторы не гарантируют вашей безопасности при их использовании и снимают с себя всякую ответственность за результат. Помните, лев это хищник и опасное животное! </p> <div>Арррргх!</div> </body> </html>
number
Значением может выступать целое число, содержащее цифры от 0 до 9 и десятичная дробь, в которой целая и десятичная часть разделяются точкой. Если число начинается с нуля, то его можно опустить (.5 вместо 0.5).