所以,我正在寻找使用精灵表在CSS中做背景图像。而且要明确,不,我不会去this effect。我有一个完整的精灵表,我想在工作表上采用16px×16px的正方形,并将其设置为将重复的背景。
在未来的某个时刻,我希望能够通过spacial dimensions using media fragments in the URL parameter来做到这一点,但是因为isn't supported yet我正在寻找替代方案。有没有办法通过现代CSS技术或黑客获得同样的效果?
一些说明:
x
和y
方向重复答案 0 :(得分:2)
这是一个纯粹的CSS解决方案,仅适用于Firefox,但似乎满足您的所有要求。
body{ background-image: -moz-image-rect(
url('http://placekitten.com/500/500'),
0,100,100,0
); }
的示例
答案 1 :(得分:1)
只有一种方法符合您的条件(最难的是需要重复):使用border-image
。
带演示的dabblet:http://dabblet.com/gist/1635890
重点是:您可以使用border-image
属性的border-image-slice部分标记要使用的部分。语法有点棘手,但使用它可以从边框图像创建不同的重复图案。此外,当所需的部分不在边缘时,或者当您需要在X和Y上重复图像时,您将需要clip
属性,因此您需要一个块绝对定位。所有这些都可以在Opera中发挥作用。
但是,有一个坏的,坏的事情:边界图像的中心部分的渲染是一个凯利地狱:不仅webkit和mozilla之间存在差异,甚至在Safari和Chrome之间也存在差异,所以我添加了一个那里很多黑客。
总之:目标可以实现,但是还有很多黑客。
所以,我建议你使用数据:uri,'因为没有其他方法可以在webkits和Fx中执行此操作(在Fx中,你可以使用上面提到的-moz-image-rect
)