Что такое функция calc() в CSS

Ответ

Функция calc() позволяет выполнять математические вычисления прямо в CSS. Она работает с разными единицами измерения (px, %, em, rem и т.д.), автоматически конвертируя их при вычислениях.

.container {
  width: calc(100% - 40px); /* Ширина минус отступы */
  height: calc(100vh - 2rem); /* Высота экрана минус размер шрифта */
  padding: calc(1em + 5px); /* Динамический padding */
}

Особенности:

  • Обязательно ставить пробелы вокруг операторов (+, -, *, /)
  • Можно комбинировать разные единицы измерения
  • Поддерживается во всех современных браузерах
  • Полезно для адаптивного дизайна

Ответ 18+ 🔞

Да ты посмотри, что эти фронтендеры выдумали, ёпта! Раньше, блядь, всё было просто: ширина 200 пикселей — и хрен с горы. А теперь, сука, calc()! Прям как в школе на алгебре, только вместо иксов — проценты и пиксели в одном уравнении.

Вот смотри, как это выглядит, этот ваш высший пилотаж:

.container {
  width: calc(100% - 40px); /* От всей ширины отгрызли по 20 пикселей с боков, чтоб не прилипало */
  height: calc(100vh - 2rem); /* От всей высоты окна отняли два таких... шрифтовых размера, блядь */
  padding: calc(1em + 5px); /* А тут вообще гибрид собрали, эбонитовый, из относительных и абсолютных единиц */
}

А главная фишка, на которую все постоянно забивают, — пробелы! Вокруг каждого плюса, минуса, звёздочки — пробел обязателен, сука! Иначе браузер посмотрит на эту абракадабру, и у него волнение ебать, терпения ноль ебать, и он просто проигнорирует всю строку. И всё, пиздец вашему адаптиву.

Раньше, чтобы колонку с фиксированным сайдбаром сделать, надо было мозги наизнанку вывернуть, а теперь — calc(100% - 300px) и в рот меня чих-пых, готово! Удобная, блядь, штука. Все современные браузеры её жрут, как горячие пирожки. Так что юзайте, не стесняйтесь, главное — пробелы не забывайте, а то будете потом сидеть и думать: «Э, бошка, думай, че не работает-то?».