私が開発しているサイトの 1 つは、外部スタイルシートを読み込んでいます。
@import url(http://www.othersite.com/stylesheet.css);
これは、Safari を除くすべてのブラウザで適切に機能します。Safariはそれをロードしようとさえしません。私は何を間違っていますか?
私が開発しているサイトの 1 つは、外部スタイルシートを読み込んでいます。
@import url(http://www.othersite.com/stylesheet.css);
これは、Safari を除くすべてのブラウザで適切に機能します。Safariはそれをロードしようとさえしません。私は何を間違っていますか?
この古いバグと関係があるのでしょうか: http://www.thinkomph.com/thinking/2011-04/odd-css-bug-in-webkit-and-safari-4/ ?
解決策は簡単です。私の @import ディレクティブは、他の CSS 命令に囲まれていました。IE はこれを許容しますが、実際の W3C 仕様では、@import ディレクティブは他の CSS 命令の前に表示する必要があると宣言しており、Firefox はこの制限を尊重しています。したがって、私の @import ディレクティブは無視されていました。ファイルの先頭に移動すると、すべてが機能し始めました。
と
外部スタイル シートに指定できる @charset ルールは最大 1 つです — 埋め込みスタイル シートに指定することはできません — また、ドキュメントの先頭に指定する必要があり、前に文字を追加することはできません。
<link rel="stylesheet" type="text/css" href="http://www.othersite.com/stylesheet.css" />
@import とタグの使用の長所と短所を詳しく説明している記事を読んでいるときに、解決策に出くわしました。@import の代わりにタグを使用してみましたが、何らかの理由で問題が解決しました。Safari がスタイルシートをロードします。なぜこれが機能するのかについて誰かが洞察を持っている場合は、コメントしてください:)