3
私はゲームを作っていて、background-size: cover
を使ってブラウザウィンドウに合うように拡大縮小(必要に応じてトリミング)された一連の「ルーム」画像を持っています。CSS:background-size:coverの画像を基準に要素を配置するにはどうすればいいですか?
ゲーム内の要素をこれらの画像上の重要な位置に配置したいと思いますが、ブラウザのサイズが変わると部屋の画像が位置/縮尺が変わるので難しくなります。
は、私はここで簡単なデモを持っている: https://jsfiddle.net/p4p699cn/3/embedded/result/ - (<div>
元素を含有するか、この場合には、)は、ブラウザのサイズが変更されたときように、理想的に、私は、木の上に赤い「X」を配置することができるだろう内側の「X」は、ブラウザウィンドウではなく元の画像の比率に対して相対的な位置を維持します。
どのようにこれを達成することができますか?
あなたは、画像の実際の幅とトリミングされた1の間の比率を追跡する必要があります。実際のイメージサイズを見つけるには、仮想img要素を使用し、srcをbg img urlと同じに設定し、イメージのサイズを取得します。 bgイメージを保持する要素のサイズを見つけてください。実際のimgサイズと要素の幅/高さの比によって、幅や高さが切り取られるかどうかを判断できます。この情報を使用して、相対的な位置を見つけることができます。これがあなたに役立つことを願っています。 – z0mBi3