Функция calc() в CSS – это простой способ выполнить простые математические действия прямо в CSS стилях без использования, например, языка программирования PHP. Функция умеет работать с четырьмя простыми математическими операторами: сложение (+), вычитание (—), умножение (*) и деление (/). С помощью функции calc() вы можете рассчитать значения свойств CSS прямо во время их определения.
/* свойство: calc(математическое действие); */width: calc(100% - 35px);
Математическое действие, которое можно выполнить для выражения, может принимать следующие формы:
+ (сложение). Пример: width: calc(25px + 75px);- (вычитание). Пример: padding-top: calc(50px - 7%);* (умножение). Пример: line-height: calc(20% * 2);/ (деление). Пример: margin: calc(35% / 2);
calc(100% -35px) будет интерпретировано как величина в процентах и следующее за ним отрицательное число в пикселях (неверное выражение), в то время как выражение calc(100% - 35px) – будет интерпретировано как вычитание из процентов определенное количество пикселей (т.е., это будет правильное выражение).
Функция calc() становится крайне полезной, когда одно из значений является относительной единицей (например, %), а другое – фиксированной. Это свойство очень часто применяется в адаптивном веб-дизайне.
Пример использования: позиционирование объекта с помощью отступа
В примере ниже мы позиционируем блок на всю ширину окна, с отступами по краям в 40px при любом размере девайса.
.block {
position: absolute;
width: 85%; /* для браузеров, которые не поддерживают calc() */ width: calc(100% - 50px);
padding: 15px;
border: 1px #000 solid;
}
Поддержка на удивление довольно хорошая.
-moz-calc.-webkit-calc.-webkit-calc.
Музыкальные инструменты сопровождают человечество на протяжении всей его истории. Они появились задолго до письменности и…
VR-продакшн сегодня представляет собой отдельное направление в цифровом производстве, объединяющее технологии виртуальной реальности, 3D-графику, программирование,…
Еще несколько лет назад 3D-печать считалась занятием для «избранных» – людей, готовых тратить время на…
Пока практически ни одну сферу жизни человека нельзя представить без гаджетов. Эти поддерживаемые искусственным интеллектом…
В нашем путешествии по миру сокетов мы начали с "верхнего этажа" — WebSocket в браузере,…
В предыдущей статье мы говорили о WebSockets — технологии, позволяющей создавать интерактивные чаты в браузере.…