我正在开发的网站之一是加载外部样式表:
@import url(http://www.othersite.com/stylesheet.css);
这在每个浏览器中都能正常工作,除了 Safari。Safari 甚至不会尝试加载它。我究竟做错了什么?
我正在开发的网站之一是加载外部样式表:
@import url(http://www.othersite.com/stylesheet.css);
这在每个浏览器中都能正常工作,除了 Safari。Safari 甚至不会尝试加载它。我究竟做错了什么?
它可能与这个旧错误有关:http ://www.thinkoomph.com/thinking/2011-04/odd-css-bug-in-webkit-and-safari-4/ ?
解决方案很简单。我的 @import 指令被其他 CSS 指令包围。虽然 IE 可以容忍这一点,但实际的 W3C 规范声明 @import 指令应该出现在任何其他 CSS 指令之前,而 Firefox 尊重这一限制。因此,我的 @import 指令被忽略了。我把它移到文件的顶部,一切都开始工作了。
和
至多一个@charset 规则可以出现在外部样式表中——它不能出现在嵌入的样式表中——并且它必须出现在文档的最开始,前面不能有任何字符。
<link rel="stylesheet" type="text/css" href="http://www.othersite.com/stylesheet.css" />
我在阅读一篇详细介绍使用 @import 与标签的优缺点的文章时偶然发现了该解决方案。我尝试使用标签而不是@import,无论出于何种原因,这都解决了我的问题。Safari 现在将加载样式表。如果有人对为什么这样做有任何见解,请发表评论:)