CSS

calc() function in CSS allows you to perform arithmetic calculations and use the result to specify element sizes, margins, paddings, and more.

calc()

 CSSのcalc()関数は、Web制作において非常に便利なツールであり、要素のサイズや位置を計算する際に使用されます。calc()関数は算術演算を行うためのものであり、指定された式を評価して結果を返します。

 calc()関数は、以下のような演算子を使用することができます。

 calc()関数を使用することで、要素の幅や高さ、マージン、パディング、位置などの値を計算する際に、他の値や変数との組み合わせが可能になります。これにより、動的なデザインを作成することができます。

幅や高さの計算

 要素の幅や高さを計算する場合には、calc()関数を使用することができます。例えば、幅が親要素の50%から30ピクセルを減算した値になる場合は、次のように表現できます。

CSS

div {
	width: calc(50% - 30px);
}

マージンやパディングの計算

 マージンやパディングの値を計算する際にも、calc()関数が役立ちます。例えば、マージンが要素の幅の10%である場合は、次のように表現できます。

CSS

div {
	margin: calc(10% * 0.1);
}

複数の値の組み合わせ

 calc()関数は、複数の値や単位を組み合わせることも可能です。例えば、要素の幅が親要素の幅の50%からマージンの2倍を減算し、ピクセル単位で指定する場合は、次のように表現できます。

CSS

div {
	width: calc(50% - 2 * 10px);
}

 また、calc()関数は他のプロパティと組み合わせて使用することもできます。例えば、calc()関数を使用して要素の高さを計算し、それをmax-heightプロパティに指定する場合は、次のように表現できます。

CSS

div {
	height: calc(100% - 20px);
	max-height: calc(100% - 20px);
}

 以上がcalc()関数の基本的な使い方です。これを使うことで、動的なレイアウトを作成したり、要素のサイズや位置を計算する際に便利に活用することができます。ただし、式の中には適切な単位を使用する必要がありますし、ブラウザの互換性にも注意が必要です。

Browser support

Data on support for the calc feature across the major browsers from caniuse.com