犬ターネット

cssのパラレルロードと@import

2012-05-17 css

ブラウザにはパラレルロードっつう並行してコンテンツを読み込む仕組みがあるんだけど、スタイルシートの @import 使って読み込む場合、このパラレルロード使えないってことをさっき知ったのでメモっておく。

ちなみにテストで使ったcssはPHPで作って1秒waitかけてる。

パラレルロードする場合

読み込みたいcssをhtmlにlinkタグで全部書いとけばいい。

<link rel="stylesheet" href="./base.php" />
<link rel="stylesheet" href="./1.php" />
<link rel="stylesheet" href="./2.php" />

Firebug使って計測するとこんな具合。1秒で読み込み終わり。

パラレルロードしない場合

ちょっと極端な例だけど、htmlにはcssを1個だけ読み込む記述を、

<link rel="stylesheet" href="./base.php" />

各cssには@importで読み込ませる記述を記述。

base.php
@import url('./1.php');

1.php
@import url('./2.php');

2.php
.hoge{};

Firebug使って計測するとこんな具合。3秒かかってる。見事に base.php → 1.php → 2.php の順に読み込まれている。

@importってほとんど使わないけど、こういう弊害があるってことを頭の片隅にいれとこう。


日記

永遠のファミリー