āĻāĻāĻāĻŋ āϏā§āύā§āĻĻāϰ 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 āĻāύāĻĒā§āϰāĻŋāĻĢāĻŋāĻā§āϏāĻĄ āĻĨā§āĻā§ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻā§āĻā§āĨ¤ āύā§āĻā§ āĻāĻāĻāĻŋ āĻŽāύā§āϤāĻŦā§āϝ āϰā§āĻā§ āĻāĻĒāύāĻŋ āĻāĻŋ āĻŽāύ⧠āĻāϰā§āύ āϤāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāύāĻžāύāĨ¤