Використовується для вказівки значення властивостей, які в якості значень використовують розмір, кут, час, число. Це дозволяє задавати значення, засновані на додаванні або відніманні різних одиниць вимірювань, наприклад можна задати 100%-nbsp;-20px. Якщо значення не може бути обчислено, воно ігнорується.
Синтаксис
<code><i>Властивість</i>: calc(<вираз>)
Позначення
| Опис | Приклад | |
|---|---|---|
| <тип> | Вказує тип значення. | <розмір> |
| A && B | Значення повинні виводитися в зазначеному порядку. | <размер> && <колір> |
| A | B | Вказує, що потрібно вибрати лише одне значення із запропонованих (A або B). | normal | small-caps |
| A || B | Кожне значення може використовуватися самостійно або спільно з іншими у довільному порядку. | width || count |
| [ ] | Групує значення. | [ crop || cross ] |
| * | Повторювати нуль або більше разів. | [,<час>]* |
| + | Повторювати один або більше разів. | <число>+ |
| ? | Вказаний тип, слово або група не є обов'язковим. | inset? |
| {A, B} | Повторювати не менше A, але не більше B разів. | <радіус>{1,4} |
| # | Повторювати один або більше разів через кому. | <час># |
Значення
Вираз є комбінацією значень розмірів і наступних знаків математичних дій.
- + — додавання (width: calc(20px + 20px));
- -— віднімання (padding: calc(10% — 10px););
- * — множення (height: calc(20%*2);)
- /— розподіл. На нуль ділити заборонено (width: calc(100%/3);). div>
Приклад
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>calc</title> <style> div { border: 1px solid #000; height: 200px; background: url(/example/image/figure.jpg) no-repeat; background-position: calc(100% — 20px) 0; }
</style>
</head>
<body> <div></div>
</body>
</html>У цьому прикладі задається положення фонового малюнка як 20 пікселів від правого краю.
Примітка
Internet Explorer не підтримує calc всередині @keyframes.
Firefox до версії 16 підтримує -moz-calc.
Chrome до версії 26 підтримує -webkit-calc.
Safari 6 підтримує -webkit-calc.
Специфікація
| Специфікація | Статус |
|---|---|
| CSS Values and Units Module Level 4 | Робочий проект |
| CSS Values and Units Module Level 3 | Можлива рекомендація |
Специфікація
Кожна специфікація проходить кілька стадій схвалення.
>- Recommendation (Рекомендація) — специфікація схвалена W3C і рекомендована як стандарт.
- Candidate Recommendation (Можлива рекомендація) — група, яка відповідає за стандарт, задоволена, як він відповідає своїм цілям, але потрібна допомога спільноти розробників з реалізації стандарту.) — на цьому етапі документ представлений на розгляд Консультативної ради W3C для остаточного затвердження. та внесення поправок для розгляду спільнотою.
- Editor's draft (Редакторська чернетка) — чорнова версія стандарту після внесення змін до редакторів проекту.
- Draft (Чернетка специфікації) — перша чорнова версія стандарту.
Браузери
| 9 | 12 | 19 | 26 | 15 | 6.1 | 4 | 16 |
| 4.4 | 4 | 16 | 37 | 7.1 |
Браузери
У таблиці браузерів застосовуються такі позначення.
- — властивість повністю підтримується браузером з усіма допустимими значеннями;
- — властивість браузером не сприймається та ігнорується;
- — при роботі можлива поява різних помилок, або властивість підтримується лише частково, наприклад, не всі допустимі значення діють або властивість застосовується не до всіх елементів, зазначених у специфікації.
Число вказує версію браузера, з якої властивість підтримується.
