menu
menu

キーワード検索

 

最近の投稿

@importについて

  • Labs

CSS

こんにちは(・∀・)

今日は@importについてです。

@importで外部CSSを読み込むのはパフォーマンスの低下に繋がるという検証結果を最近世間で見かける様になっておりましたので、当サイトでも切り替えようと考えてはいたのですが中々移行する事が出来ずにおりました。

@importの問題

ところが最近WordPress化計画が着々と進行中の当サイトである問題が!

IETesterでサンプルの動作確認をしようとした所、IE6、IE7、IE8でCSSの一部が読み込まれない事態が発生!色々と調べて行く内に原因は@importで外部CSSを読み込む事とIEの条件分岐にあることが判明。

IEの条件分岐でhtml5shivが読み込まれなくなっておりHTML5で作ってあると認識されなくなっておりました。

CSSをモジュール化して運用するのは便利だったのですが、IE6、IE7はともかく、WindowsXPで使用されるIE8で読み込まれないのはちょっと問題があるので急遽当サイトでも対応する事に。

@importをやめて<head>内にlinkでCSSを直接読み込むように変更して、さらにIEの条件分岐も変更。

IEの条件分岐は、今まで、


<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

だったのを、


<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

に変更。

結果、IE6ではいまだおかしな表示ですが(IE6はもういいよね!)、IE7とIE8でCSSがちゃんと読み込まれるようになりました(IE7もいらないけどね!)。

WordPressとHTML5でCSSの表示がおかしい場合、@importと条件分岐に問題があるかもしれません。参考までに。

参考

CSS @import を使用しない Google PageSpeed Insights
[css] @importを使うべきでない理由
[CSS]外部スタイルシートの指定は@importとlinkでどちらがいいか

  • カテゴリー:Labs