2011-01-24 103 views
0

我正尝试在Facebook标签页面内使用一个简单的CSS-sprite进行图片翻转,并且背景图片被Facebook剥离。要明确,这个问题只发生在标签页内,但不在主应用程序本身。图片翻转Facebook内页标签页

的Facebook也似乎是大约当它去除背景图像非常挑剔 - 背景图像施加到锚标签被除去,但施加到含有锚列表元素背景图像保持完整。

例如,给定的标记:

<li><a href="http://some/destination.html" target="_top"><img src="http://absolute/path/to/spacer-image.png" alt="" width="172" height="43" /></a></li> 

以下CSS将应用背景,成功列表元素:

li { 
    background: url(http://absolute/path/to/some/image.jpg) no-repeat 0 0; 
} 

,但应用到子锚标记相同的CSS被剥离通过Facebook:

li a { 
    background: url(http://absolute/path/to/some/image.jpg) no-repeat 0 0; 
} 

是否Facebook实际上能够支持图像巴如果是这样,怎么样?

回答

0

通过反复试验发现了各种解决方案,尽管它涉及无效堆叠的html并且看起来非常讨厌。

修改标记所以一个div是锚标记:

<a href="http://some/destination.html" target="_top"><div><img src="http://absolute/path/to/spacer-image.png" alt="" width="172" height="43" /></div></a> 

和背景图像应用到DIV,而不是锚:

li a div { 
    background: url(http://absolute/path/to/some/image.jpg) no-repeat 0 0; 
} 

然后,您可以应用如下的背景偏移:

li a:hover div { background-position: 0 -43px; } 

它确实有效,但如果任何人都可以提出建议,我宁愿选择一个不太可靠的解决方案。