CSS āϞ⧇āφāωāϟ calc() āĻāϰ āϏāĻžāĻĨ⧇ āφāϰāĻ“ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšāϝāĻŧ⧇ āĻ“āϠ⧇

āĻāĻ•āϟāĻŋ āϏ⧁āĻ¨ā§āĻĻāϰ CSS āϞ⧇āφāωāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻļ⧁āϰ⧁ āĻšāϝāĻŧ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇ āϰāĻžāĻ–āĻž āϏāĻŽāĻ¸ā§āϤ āϜāĻŋāύāĻŋāϏ⧇āϰ āϜāĻ¨ā§āϝ āĻŽāĻžāĻĒ āύāĻŋāĻ°ā§āϧāĻžāϰāϪ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡āĨ¤ āĻāĻ•āϟāĻŋ āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāĻž āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϏāĻŦāϏāĻŽāϝāĻŧ āϏāĻžāχāϜāĻŋāĻ‚ āχāωāύāĻŋāĻŸā§‡āϰ āĻŽāĻŋāĻļā§āϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŽāĻžāĻĒ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻžāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, 10px āĻŦāϞ⧁āύ, āĻāĻ•āϟāĻŋ āĻāϞāĻžāĻ•āĻžāϰ 50% āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻ¸ā§āĻĨāĻžāύ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻšāĻ“āϝāĻŧāĻž āĻ­āĻžāϞ āĻšāĻŦ⧇⧎ āφāĻšā§āĻ›āĻž āφāĻĒāύāĻŋ calc() āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ–āύāχ āϤāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āφāĻĒāύāĻŋ āĻāχ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϟāĻŋ āϝ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ āĻŦāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ āϏ⧇āĻ–āĻžāύ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϝāĻžāϤ⧇ āφāĻĒāύāĻŋ āĻāϟāĻŋāϕ⧇ āĻĒāϜāĻŋāĻļāύāĻŋāĻ‚ āϜāĻŋāύāĻŋāϏāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻŦāĻž rgb() āϰāϙ⧇āϰ āĻŽāĻžāύāϗ⧁āϞāĻŋāϤ⧇āĻ“ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϤāĻžāχ āĻāϟāĻŋāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āϟāĻžāχāϞ āĻļā§€āĻŸā§‡ āĻĒā§āϰāϚ⧁āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āφāĻĒāύāĻŋ calc() āĻĻāĻŋāϝāĻŧ⧇ āĻ•āĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ?

calc() āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āφāĻĒāύāĻžāϰ āĻ¸ā§āϟāĻžāχāϞāĻļā§€āĻŸā§‡ āĻāĻ•āϟāĻŋ CSS āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ āĻŦāĻž āϏāĻ‚āĻ–ā§āϝāĻž āϝ⧇āĻ–āĻžāύ⧇āχ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϞ⧇āφāωāϟāϕ⧇ āφāϰāĻ“ āύāĻŽāύ⧀āϝāĻŧ āĻ•āϰāϤ⧇ āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĻ⧁āϟāĻŋ āĻĒā§āϰāϧāĻžāύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻĻ⧇āϝāĻŧ:

  • āĻļāϤāĻžāĻ‚āĻļ āĻāĻŦāĻ‚ āĻĒāϰāĻŽ āĻŽāĻžāύ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻžāĨ¤
  • āϏāĻžāχāϜāĻŋāĻ‚ āχāωāύāĻŋāϟ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰāĻžāĨ¤

āĻĒāϰāĻŽ āĻāĻ•āϕ⧇āϰ āϏāĻžāĻĨ⧇ āĻļāϤāĻžāĻ‚āĻļ⧇āϰ āĻŽāĻŋāĻļā§āϰāĻŖ

āφāϏ⧁āύ āĻĒāϰāĻŽ āĻāĻ•āϕ⧇āϰ āϏāĻžāĻĨ⧇ āĻļāϤāĻžāĻ‚āĻļ⧇āϰ āĻŽāĻŋāĻļā§āϰāϪ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ–āĻŋāĨ¤ āĻŦāϞ⧁āύ āφāĻŽāϰāĻž āωāĻĒāϞāĻŦā§āϧ āĻāϞāĻžāĻ•āĻžāϰ 50% āĻ•āĻŽ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻĒāĻŋāĻ•ā§āϏ⧇āϞ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāϤ⧇ āϚāĻžāχ, āϤāĻžāϰāĻĒāϰ āφāĻŽāϰāĻž āĻāϟāĻŋāϕ⧇ āĻāĻ­āĻžāĻŦ⧇ āϞāĻŋāĻ–āϤ⧇ āĻĒāĻžāϰāĻŋ:

#foo {
    width: calc(50% - 100px);
}
<div id="foo">Always 100 pixels less than half the available area</div>

āϝāĻĻāĻŋ āĻāϟāĻŋāϰ āĻĒāϟāĻ­ā§‚āĻŽāĻŋāϰ āϰāĻ™ āϏāĻŦ⧁āϜ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻāϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻāϰāĻ•āĻŽ āĻšāĻŦ⧇:

āĻāĻŦāĻ‚ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻĒāĻŋāϤāĻžāĻŽāĻžāϤāĻžāϰ āφāĻ•āĻžāϰ āϏāĻ™ā§āϕ⧁āϚāĻŋāϤ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻāϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻšāĻŦ⧇:

āĻāĻ–āĻžāύ⧇ āϚāĻŽā§ŽāĻ•āĻžāϰ āϜāĻŋāύāĻŋāϏ āĻšāϞ āφāĻŽāϰāĻž āϏāĻŦāϏāĻŽāϝāĻŧ āϜāĻžāύāĻŋ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁āϰ āĻĄāĻžāύ āĻšāĻžāϤ⧇āϰ āĻĒā§āϰāĻžāĻ¨ā§āϤ āĻĨāĻžāĻ•āĻŦ⧇ 100px āϧāĻžāϰāĻŖ āĻ•āϰāĻž āĻāϞāĻžāĻ•āĻžāϰ āĻŽāĻžāĻāĻ–āĻžāύ⧇āϰ āĻŦāĻžāĻŽ āĻĻāĻŋāϕ⧇āĨ¤ āĻāχāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϧāϰāύ⧇āϰ āĻŽāĻžāύ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽ āĻšāĻ“āϝāĻŧāĻž āφāĻĒāύāĻžāϰ āĻ“āϝāĻŧ⧇āĻŦ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϕ⧇ āφāϗ⧇āϰ āĻĨ⧇āϕ⧇ āĻ…āύ⧇āĻ• āĻŦ⧇āĻļāĻŋ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āϏāĻš āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āφāĻ•āĻžāϰ⧇āϰ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āϞ⧇āφāωāϟ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āĻŽāĻŋāĻ•ā§āϏāĻŋāĻ‚ āχāωāύāĻŋāϟ

āφāϰ⧇āĻ•āϟāĻŋ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āϜāĻŋāύāĻŋāϏ āĻšāϞ āĻāĻ•āϟāĻŋ āĻĢāϞāĻžāĻĢāϞ āφāĻ•āĻžāϰ āĻĒ⧇āϤ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĒāϰāĻŋāĻŽāĻžāĻĒ⧇āϰ āϏāĻžāĻĨ⧇ āχāωāύāĻŋāϟāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻžāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āφāĻĒāύāĻŋ 'em' āĻāĻŦāĻ‚ 'px' āĻāĻ•āĻ• āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻ•āϰ⧇ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĢāĻ¨ā§āĻŸā§‡āϰ āφāĻ•āĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āφāĻ•āĻžāϰ āϏ⧇āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

#bar {
    height: calc(10em + 3px);
}

āφāĻĒāύāĻŋ āĻāĻ–āĻžāύ⧇ āĻāĻŦāĻ‚ āĻāĻ–āĻžāύ⧇ āĻŽāĻžāύāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āĻ•āĻŋāϛ⧁ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āωāĻĻāĻžāĻšāϰāĻŖ āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇ āĻĻ⧇āϖ⧁āύ

calc() āĻĻāĻŋāϝāĻŧ⧇ āφāĻĒāύāĻŋ +, -, * āĻāĻŦāĻ‚ / āĻŽāĻžāύ āϝ⧋āĻ—, āĻŦāĻŋāϝāĻŧā§‹āĻ—, āϗ⧁āĻŖ āĻāĻŦāĻ‚ āĻ­āĻžāĻ— āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϏāĻŦ āϧāϰāϪ⧇āϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤ āφāĻĒāύāĻŋ calc() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ CSS āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ āĻŦāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āφāĻŽāϰāĻž āĻļā§€āĻ˜ā§āϰāχ āϕ⧋āĻŖ āĻāĻŦāĻ‚ āĻĢā§āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¨ā§āϏāĻŋ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ calc() āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝāĻ“ āĻ•āĻžāϜ āĻ•āϰāĻ›āĻŋāĨ¤ āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ⧇āϰ āϜāĻ¨ā§āϝ calc() āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻāĻ–āύ Chrome 19 (Dev channel build)-āĻ -webkit-calc āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, Firefox-āĻ -moz-calc āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ 8 āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻĨ⧇āϕ⧇ āĻāĻŦāĻ‚ Internet Explorer-āĻ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ 9 āφāύāĻĒā§āϰāĻŋāĻĢāĻŋāĻ•ā§āϏāĻĄ āĻĨ⧇āϕ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāĻšā§āϛ⧇āĨ¤ āύ⧀āĻšā§‡ āĻāĻ•āϟāĻŋ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āϰ⧇āϖ⧇ āφāĻĒāύāĻŋ āĻ•āĻŋ āĻŽāύ⧇ āĻ•āϰ⧇āύ āϤāĻž āφāĻŽāĻžāĻĻ⧇āϰ āϜāĻžāύāĻžāύāĨ¤