かつてのWeb戦国時代、IE6がWindows XPとともに登場した2001年8月、ブラウザ戦争の真っ只中でCSSの仕様に頭を悩ませた開発者も多かったはず。今日は、そんなレトロな気分を味わいながら、CSSのcalc()関数に潜む意外な落とし穴についてお話ししよう。
CSSのcalc()関数は、幅や高さを動的に計算する便利な機能だ。例えば、calc(100% – var(–margin))のようにカスタムプロパティを使った計算が可能。しかし、ここで注意!–marginを単位なしの「0」に設定すると、calc()の値が無効になってしまうのだ。回避策は簡単で、「0px」と単位を付けるだけで問題解決。だが、CSSリンターが自動的に単位を剥がしてしまう場合もあるので、コードチェックには要注意だ。
IE6の全盛期、2002〜2003年頃には市場シェア約95%を誇ったInternet Explorerだが、2022年6月15日にIE11のサポートが終了し、Microsoft Edgeへとバトンが渡された。あの頃の苦労を思い出しつつ、現代のCSS仕様の細かな挙動にも気を配りたいものだ。
まとめると、calc()を使う際は単位なしの「0」を避け、「0px」を使うのが安全策。IE時代の試行錯誤を懐かしみながら、最新のWeb技術にも目を光らせよう。出典: Web Platform News
コメントを残す