Spec-Zone.ru › CSS

CSS значения и единицы

Каждое объявление CSS включает пару свойство/значение. В зависимости от свойства, значение может включать целое число или ключевое слово, а также ряд ключевых слов и значений с или без единиц измерения. Существует стандартный набор типов данных — значений и единиц — которые принимают свойства CSS. Ниже приведён обзор большинства этих типов данных. Для получения более подробной информации см. страницу для каждого типа значения.

Текстовые типы данных

  • <custom-ident>
  • Заранее определённые ключевые слова как <ident>
  • <string>
  • <url>

Текстовые типы данных являются либо <string>, цитированным рядом символов, либо <ident>, «идентификатором CSS», который представляет собой нецитированную строку. <string> должен быть заключён в кавычки, одинарные или двойные.

Идентификаторы CSS, перечисленные в спецификациях как <ident> или <custom-ident>, должны быть без кавычек.

В спецификациях CSS значения, которые могут быть определены веб-разработчиком, такие как анимации ключевых кадров, имена шрифтов или области сетки, перечислены как <custom-ident>, <string> или оба.

Когда разрешены как цитированные, так и нецитированные пользовательские значения текста, в спецификации будет указано <custom-ident> | <string>, что кавычки необязательны, как в случае с именами анимации:

@keyframe validIdent {
  /* keyframes go here */
}
@keyframe 'validString' {
  /* keyframes go here */
}

Некоторые текстовые значения недействительны, если заключены в кавычки. Например, значение grid-area может быть <custom-ident>, поэтому если у нас есть область сетки с именем content мы будем использовать её без кавычек:

.item {
  grid-area: content;
}

В сравнении, тип данных, являющийся <string>, например, строковое значение свойства content, должен быть заключен в кавычки:

.item::after {
  content: "This is my content.";
}

Хотя вы можете, в целом, создавать любые имена, включая использование эмодзи, идентификатор не может быть none, unset, initial, или inherit, начинаться с цифры или двух дефисов, и, как правило, не должен совпадать с любым другим заранее определённым ключевым словом CSS. Более подробную информацию см. на страницах справочников <custom-ident> и <string>.

Заранее определённые ключевые слова

Заранее определённые ключевые слова — это текстовые значения, определённые спецификацией для данного свойства. Эти ключевые слова также являются идентификаторами CSS и поэтому используются без кавычек.

При просмотре синтаксиса значений свойств CSS в спецификации CSS или на странице свойства MDN допустимые ключевые слова будут перечислены в следующем формате. Следующие значения являются заранее определёнными ключевыми словами, разрешёнными для float.

left | right | none | inline-start | inline-end

Эти значения используются без кавычек:

.box {
  float: left;
}

Значения CSS

Помимо заранее определённых ключевых слов, являющихся частью спецификации для свойства, все свойства CSS принимают значения CSS initial, inherit, unset, revert и revert-layer, которые явно задают поведение по умолчанию.

initial

Представляет значение, указанное как начальное значение свойства.

inherit

Представляет вычисленное значение свойства на родительском элементе, при условии, что оно наследуется.

unset

Выступает как inherit или initial, в зависимости от того, наследуется ли свойство или нет.

revert

Сбрасывает свойство до его наследуемого значения, если оно наследуется от родителя, или до значения по умолчанию, установленного стилями пользователя (или стилями пользователя, если они существуют).

revert-layer

Отменяет значение свойства в слое каскада до значения свойства в правиле CSS, соответствующем элементу в предыдущем слое каскада. Значение свойства с этим ключевым словом пересчитывается так, как будто никакие правила не были указаны для целевого элемента в текущем слое каскада.

URL

Тип <url> использует функциональную запись, которая принимает <string> — URL. Это может быть абсолютный URL или относительный URL. Например, если вы хотите включить изображение фона, вы можете использовать любое из следующих.

.box {
  background-image: url("images/my-background.png");
}

.box {
  background-image: url("https://www.exammple.com/images/my-background.png");
}

Параметр для url() может быть заключён в кавычки или без них. Если без кавычек, он анализируется как <url-token>, который имеет дополнительные требования, включая экранирование определённых символов. См. <url> для получения дополнительной информации.

Числовые типы данных

  • <integer>
  • <number>
  • <dimension>
  • <percentage>

Целые числа

Целое число состоит из одной или нескольких десятичных цифр, 0 через 9, таких как 1024 или -55. Целое число может быть предварено символом + или - без пробела между символом и целым числом.

Числа

Число <number> представляет собой вещественное число, которое может или не может иметь десятичную точку с дробной частью, например, 0.255, 128 или -1.2. Числа также могут быть предварены символами + или -.

Размеры

Единица <dimension> — это <number> с присоединённой к ней единицей измерения, например 45deg, 100ms, или 10px. Идентификатор единицы измерения нечувствителен к регистру. Между числом и идентификатором единицы измерения никогда не должно быть пробела или каких-либо других символов: например, 1 cm — это недопустимый формат.

CSS использует размеры для указания:

  • <length> (Единицы измерения расстояния)
  • <angle>
  • <time>
  • <frequency>
  • <flex>
  • <resolution>

Все эти типы подробно рассмотрены в нижеследующих разделах.

Единицы измерения расстояния

В тех случаях, когда в качестве значения свойства допускается единица измерения расстояния, также известная как длина, это описывается как тип <length>. В CSS существуют два типа длин: относительные и абсолютные. Относительные единицы измерения длины задают длину относительно чего-то другого.

Существует два типа относительных длин: длины, относительные к шрифту, и длины, относительные к области просмотра. Оба типа делятся на два подтипа. Единицы измерения длины, относительные к шрифту, могут быть локально-относительными или относительно корневого шрифта. Единицы измерения длины, относительные к области просмотра, могут быть относительными к высоте или ширине области просмотра или, как определено в модуле CSS Containment, к контейнеру.

Локально-относительные длины

Локально-относительные длины относятся к размеру локального шрифта или межстрочному интервалу, задавая длину относительно вычисленного размера элемента элемента или относительно унаследованного значения элемента в случае циклической ссылки, например, значения em для свойства font-size или значения lh для свойства line-height. Например, em относительно размера шрифта элемента, а ex относительно высоты x-высоты шрифта элемента.

Единица Относительно
cap Высота заглавных букв (номинальная высота заглавных букв) шрифта элемента.
ch Средний размер продвижения узкого глифа в шрифте элемента, как представлено глифом "0" (НОЛЬ, U+0030).
em Размер шрифта шрифта элемента.
ex Высота x шрифта элемента.
ic Средний размер продвижения глифа в полном формате в шрифте элемента, как представлено глифом "水" (иероглиф воды, U+6C34).
lh Межстрочный интервал элемента.
Относительные длины к корневому шрифту

Длины, относительные к корневому шрифту, задают длину относительно родительского элемента корневого элемента, такого как <html> или <SVG>. Например, rem относительно размера шрифта корневого элемента, а rex относительно высоты x шрифта корневого элемента.

Единица Относительно
rcap Высота заглавных букв (номинальная высота заглавных букв) шрифта корневого элемента.
rch Средний размер продвижения узкого глифа в шрифте корневого элемента, как представлено глифом "0" (НОЛЬ, U+0030).
rem Размер шрифта шрифта корневого элемента.
rex Высота x шрифта корневого элемента.
ric Средний размер продвижения глифа в полном формате в шрифте корневого элемента, как представлено глифом "水" (иероглиф воды, U+6C34).
rlh Межстрочный интервал корневого элемента.
Единицы области просмотра

Единицы измерения области просмотра задают длину, относительную к размерам области просмотра. Например, vw относительно ширины области просмотра, а vh относительно высоты области просмотра.

Единица Относительно
dvh 1% от высоты динамической области просмотра.
dvw 1% от ширины динамической области просмотра.
lvh 1% от высоты большой области просмотра.
lvw 1% от ширины большой области просмотра.
svh 1% от высоты малой области просмотра.
svw 1% от ширины малой области просмотра.
vb 1% от размера области просмотра по оси блока корневого элемента.
vh 1% от высоты области просмотра.
vi 1% от размера области просмотра по оси строки корневого элемента.
vmax 1% от большей стороны области просмотра.
vmin 1% от меньшей стороны области просмотра.
vw 1% от ширины области просмотра.
Единицы контейнера

Единицы измерения длины контейнера задают длину, относительную к размерам контейнера запроса. Например, cqw относительно ширины контейнера запроса, а cqh относительно его высоты.

Единица Относительно
cqb 1% от размера контейнера запроса по оси блока
cqh 1% от высоты контейнера запроса
cqi 1% от размера контейнера запроса по оси строки
cqmax Большее значение из cqi или cqb
cqmin Меньшее значение из cqi или cqb
cqw 1% от ширины контейнера запроса

Абсолютные единицы измерения длины

Абсолютные единицы измерения длины фиксированы и соответствуют физической длине: дюймы или сантиметры. Поэтому многие из этих единиц измерения более полезны, когда выходные данные представляют собой фиксированный размер носителя, например, печать. Например, mm — это физический миллиметр, 1/10 часть сантиметра.

Единица Название Равно
cm Сантиметры 1см = 96px/2.54
in Дюймы 1дюйм = 2.54см = 96px
mm Миллиметры 1мм = 1/10 от 1см
pc Пики 1пика = 1/6 от 1 дюйма
pt Пункты 1пункт = 1/72 от 1 дюйма
px Пиксели 1px = 1/96 от 1 дюйма
Q Четверти миллиметров 1Q = 1/40 от 1см

При включении значения длины, если длина 0, идентификатор единицы измерения не требуется. В противном случае идентификатор единицы измерения обязателен, нечувствителен к регистру и должен следовать непосредственно за числовой частью значения без пробела между ними.

Единицы измерения углов

Значения углов представлены типом <angle> и принимают следующие значения:

Единица Название Описание
deg Градусы В полном круге 360 градусов.
grad Грады В полном круге 400 градов.
rad Радианы В полном круге 2π радиан.
turn Обертывания В полном круге 1 оборот.
Единицы измерения времени

Значения времени представлены типом <time>. При включении значения времени идентификатор единицы измерения — s или ms — обязателен. Принимает следующие значения.

Единица Название Описание
ms Миллисекунды В секунде 1000 миллисекунд.
s Секунды
Единицы измерения частоты

Значения частоты представлены типом <frequency>. Принимает следующие значения.

Единица Название Описание
Hz Герцы Представляет количество повторений в секунду.
kHz Килогерцы Один килогерц равен 1000 герцам.

1Hz, что также можно записать как 1hz или 1HZ, — это одна цикличность в секунду.

Единицы гибкости

Единицы гибкости представлены типом <flex>. Принимает следующее значение.

Единица Имя Описание
fr Flex Представляет гибкую длину внутри контейнера сетки
Единицы разрешения

Единицы разрешения представлены типом <resolution>. Они представляют размер одной точки в графическом представлении, таком как экран, указывая, сколько таких точек помещается в дюйм, сантиметр или пиксель CSS. Принимает следующие значения:

Единица Описание
dpcm Точки на сантиметр.
dpi Точки на дюйм.
dppx, x Точки на единицу px.

Проценты

A <percentage> — это тип, представляющий дробь от некоторого другого значения.

Значения процентов всегда относительны к другому значению, например, длине. Каждый свойство, допускающий проценты, также определяет величину, к которой относится процент. Эта величина может быть значением другого свойства того же элемента, значением свойства родительского элемента, измерением содержащего блока или чем-то другим.

Например, если вы задаёте width ящика в процентах, это относится к проценту вычисленной ширины родительского элемента ящика:

.box {
  width: 50%;
}

Смешивание процентов и размеров

Некоторые свойства принимают размер, который может быть либо одним из двух типов, например, <length> или <percentage>. В этом случае допустимое значение детализировано в спецификации в виде комбинированной единицы, например, <length-percentage>. Другие возможные комбинации:

  • <frequency-percentage>
  • <angle-percentage>
  • <time-percentage>

Специальные типы данных (определены в других спецификациях)

  • <color>
  • <image>
  • <position>

Цвет

Значение <color> задаёт цвет элемента (например, цвет фона), и определено в CSS Color Module.

Изображение

Значение <image> определяет все типы изображений, которые могут быть использованы в CSS, и определено в CSS Image Values and Replaced Content Module.

Позиция

Тип <position> определяет 2D позиционирование объекта внутри области позиционирования, например, изображение фона внутри контейнера. Этот тип интерпретируется как background-position и, следовательно, задаётся в спецификации CSS Backgrounds and Borders.

Функциональная нотация

  • calc()
  • min()
  • max()
  • minmax()
  • clamp()
  • toggle()
  • attr()

Функциональная нотация — это тип значения, который может представлять более сложные типы или вызывать специальную обработку CSS. Синтаксис начинается с имени функции, сразу за которым следует левая круглая скобка ( , затем аргументы нотации, а затем правая круглая скобка ). Функции могут принимать несколько аргументов, которые отформатированы аналогично значению свойства CSS.

Разрешается использовать пробелы, но они необязательны внутри скобок. (Но см. заметки о пробелах на страницах для min(), max(), minmax(), и clamp() функций.)

Некоторые устаревшие функциональные нотации, такие как устаревший синтаксис для rgb(), rgba(), hsl(), и hsla(), использовали запятые, но запятые обычно используются только для разделения элементов в списке. Если запятая используется для разделения аргументов, пробелы перед и после запятой необязательны.

Спецификации

Спецификация
CSS Values and Units Module Level 4
CSS Color Module Level 4
CSS Images Module Level 3

См. также

  • Основные типы данных CSS
  • Введение в CSS: Значения и единицы
  • Тригонометрические функции в CSS

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Values_and_Units

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API