CSSハックとは

 CSSコーディングを行い、Webブラウザのバグに対して個別対処を行う手法の1つにCSSハックと呼ばれるものがあります。CSSハックとは、WebブラウザのバグやCSSの解釈の違いを逆に利用して、特定のWebブラウザにのみ、CSSのセレクタレベルで個別指定を行う方法です。

 CSSハックを記述する場合には、まずモダンWebブラウザを基準にコーディングしていき、IEで表示がおかしい箇所(セレクタ)に対して、CSSハックを後に併記します。通常のセレクタの後から併記することで、まずモダンブラウザは前のセレクタを解釈し、後ろのCSSハックの記述はIEで再読み込みするという順番になります。

 注意したいのはあくまでもCSSハックは裏技に過ぎません。Webブラウザのバージョンアップで使えなくなったハックも過去には存在していますので、使い続けるためにはハックの最新情報にアンテナを張る必要があります。また、CSSハックを使用する際には、コード内にコメントを書いておくと複数人でファイルを扱う場合にミスを軽減することができます。

使用頻度の高いCSSハック「clearfix」

 「clearfix」と呼ばれるCSSハックはIEを含むすべてのWebブラウザ向けハックです。これはfloatプロパティの仕様がデザインのレイアウトに適さないケースがあり、その問題を解決する方法として、一般的に使われています。

 floatを指定して、その後の回り込んだボックスの要素量が少ない場合、背景が表示されないCSSの仕様があります。例えば、左側に写真を配置してfloatを指定し、右側に説明文を流し込む場合などです。

 この場合に説明文の縦幅が写真よりも長ければ、背景を表示できるのですが、説明文の縦幅が短い、もしくは説明文がない場合に、背景を指定した親ボックスの高さが0になってしまいます。

 これは、CSSの正しい仕様ですからこの解釈自体はバグではありません。しかし、回り込みを行ったボックスの背景を表示させるシチュエーションはデザイン上頻繁にありますので、その際の対処法として「clearfix」を使うのが有効的な方法です(図2)。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30