Html 在CSS中定位%大小的精灵页面背景
我想做一个卡片匹配记忆游戏。我有10张不同的图片,代表我在一张620像素宽,62像素高的卡片上排列的卡片面 每个卡片在页面上都由一个DIV元素表示Html 在CSS中定位%大小的精灵页面背景,html,css,Html,Css,我想做一个卡片匹配记忆游戏。我有10张不同的图片,代表我在一张620像素宽,62像素高的卡片上排列的卡片面 每个卡片在页面上都由一个DIV元素表示 <div class="card guitar"></div> <div class="card drums"></div> <div class="card piano"></div> <div class="card trumpet"></div> .
<div class="card guitar"></div>
<div class="card drums"></div>
<div class="card piano"></div>
<div class="card trumpet"></div>
....
然后,对于每一张卡片,我都会定位背景
.card.guitar { background-position: 0 0; }
.card.drums { background-position: 10% 0; }
.card.piano { background-position: 20% 0; }
.card.trumpet { background-position: 30% 0; }
....
我的假设是,将背景图像设置为1000%将使其看起来比指定给它的div大10倍。然后,设置10%背景位置的鼓将背景移动一个div宽度
问题是背景似乎不在正确的位置
编辑。
jsiddle根据请求
背景位置
,当与百分比一起使用时,将元素的百分比与图像的百分比对齐。例如:
[|||| ] Image at 0%
[ |||| ] Image at 50%
[ ||||] Image at 100%
这有意义吗
记住这一点,您将需要11%、22%、33%、44%、56%、67%、78%、89%和100%。请注意,它不会完全准确,因为100%不能很好地除以9
考虑将项目按更好的分割顺序排列,如:
1 2 3 4 5
6 7 8 9 0
然后您可以在最上面一行设置
0%0%
,25%0%
,50%0%
,75%0%
和100%0%
,以及0%100%
,25%100%
,50%100%
,75%100%
和100%100%
用于最下面一行。显然,背景未正确设置,无法调整为1000%
所以你必须这样做:
.card.guitar { background-position: 0 0; }
.card.drums { background-position: 10% 0; }
.card.piano { background-position: 22.2% 0; }
.card.trumpet { background-position: 33.3% 0; }
你能给我们一个JSFIDLE演示吗?旁注:我希望你的玩家不会使用网站管理员工具,否则他们会很容易用类来识别卡片……你是说
sprite
而不是intervent
?背景位置与元素的宽度相关,与背景大小无关,所以在这种情况下,你必须使用100%
(而不是10%
)。@webtiki没关系,这只是单人游戏,所以人们只会欺骗自己
.card.guitar { background-position: 0 0; }
.card.drums { background-position: 10% 0; }
.card.piano { background-position: 22.2% 0; }
.card.trumpet { background-position: 33.3% 0; }