我在外部托管的this rather old 2004 article中使用CSS(如 A List Apart 中的a Facebook iframe page中所述)包含了一张图片地图。我正在使用带有图像的图像映射:link / a:hover,CSS包含在外部样式表中。该页面在Safari和Chrome中正确显示,但在Mac OS X上显示not in Firefox 3.6。
如果我切换回内嵌样式,请使用Firefox中的页面displays properly。
以下是内联应用样式的代码:
<style type="text/css">
#home-page-nav {
width: 512px; height: 139px;
background: url(http://mysite.com/imagemap.jpg);
margin: 10px auto; padding: 0;
position: relative;}
#home-page-nav li {
margin: 0; padding: 0; list-style: none;
position: absolute; top: 0;}
#home-page-nav li, #home-page-nav a {
height: 141px; display: block;}
#blog-icon {left: 0; width: 127px;}
#links-icon {left: 128px; width: 128px;}
#twitter-icon {left: 256px; width: 128px;}
#flickr-icon {left: 384px; width: 128px;}
#blog-icon a:hover {
background: transparent url(http://mysite.com/imagemap.jpg)
0 -139px no-repeat;}
#links-icon a:hover {
background: transparent url(http://mysite.com/imagemap.jpg)
-128px -139px no-repeat;}
#twitter-icon a:hover {
background: transparent url(http://mysite.com/imagemap.jpg)
-256px -139px no-repeat;}
#flickr-icon a:hover {
background: transparent url(http://mysite.com/imagemap.jpg)
-384px -139px no-repeat;}
</style>
<ul id="home-page-nav">
<li id="blog-icon"><a href="http://donaldjenkins.net/"></a></li>
<li id="links-icon"><a href="http://links.donaldjenkins.net/"></a></li>
<li id="twitter-icon"><a href="http://twitter.com/donaldjenkins"></a></li>
<li id="flickr-icon"><a href="http://flickr.com/photos/astorg"></a></li>
</ul>
有关解决此欢迎的任何建议。
更新:感谢Neil在以下找到了解决方案。万一其他人有同样的问题,这里是如何解决它。解决方案是更新托管CSS文件的Web服务器的配置。某些Apache和iPlanet Web服务器将具有.CSS的文件与不正确的MIME类型相关联,例如“text / plain”或“application / x-pointplus”。在某些情况下,Netscape 7.x和Mozilla会忽略CSS文件,因为它的MIME类型错误,并使用默认样式表导致布局与Web开发人员的预期不同。有关详细信息,请参阅Mozilla开发网络上的this page。
解决问题的最简单方法是在.htaccess文件中包含以下行:
AddType text/css .css
答案 0 :(得分:1)
作为安全功能,外部样式表必须使用text/css
MIME类型提供,否则Firefox将忽略它们。