一個我開發加載外部樣式表的網站:Safari瀏覽器將不會從外部服務器加載CSS文件
@import url(http://www.othersite.com/stylesheet.css);
這正常工作在每一個瀏覽器,除了Safari瀏覽器。 Safari甚至不嘗試加載它。我究竟做錯了什麼?
一個我開發加載外部樣式表的網站:Safari瀏覽器將不會從外部服務器加載CSS文件
@import url(http://www.othersite.com/stylesheet.css);
這正常工作在每一個瀏覽器,除了Safari瀏覽器。 Safari甚至不嘗試加載它。我究竟做錯了什麼?
<link rel="stylesheet" type="text/css" href="http://www.othersite.com/stylesheet.css" />
我在閱讀一篇詳細介紹使用@import與tag的優缺點的文章時偶然發現了這個解決方案。我嘗試使用標籤而不是@import,並且出於任何原因解決了我的問題。 Safari現在將加載樣式表。如果任何人有任何洞察,爲什麼這個作品請評論:)
難道它必須做這個老bug:http://www.thinkoomph.com/thinking/2011-04/odd-css-bug-in-webkit-and-safari-4/?
解決方法很簡單。我的@import指令被其他 CSS指令包圍。儘管IE允許這樣做,但實際的W3C規範聲明@import指令應該出現在任何其他CSS 指令之前,並且Firefox會尊重此限制。因此,我的@import 指令被忽略。我把它移到文件的頂部,並且所有的東西都開始工作了。
和
最多一個@charset規則可以出現在外部樣式表 - 它 不能出現在嵌入的樣式表 - 它必須出現在 很啓動文件,沒有任何字符前面。
我不確定在我的例子中就是這種情況,因爲在這之前的所有其他@import語句都被很好地處理,識別並加載。也許是因爲這是我的主樣式表文件中可能導致問題的最後一項? – MKUltra
我打算在上面的評論中提出這個解決方案,並問你爲什麼決定使用'@ import'而不是更常見的'link'標記。 – Sparky
堅持使用@import而不是鏈接的原因是因爲鏈接不能正確級聯,據我所知。那有意義嗎? – MKUltra
沒有意義。 – Sparky