4

Webページに画像があります。とはいえ、かなり大きいイメージです。6144*768 です。実際には、6枚の画像をくっつけたものです。

6 つの画像を読み込むよりも、この 1 つの画像を読み込む方がよい方法であると読みました。テーブルと CSS を使用したときも、これが当てはまることがわかりました。

ただし、この画像を画像要素のソースとして設定し、画像要素のサイズを 1024*768 に設定すると、画像がつぶれます。あっ!

Javascriptのみを使用して、この画像をつぶさないようにするにはどうすればよいですか? また、画像の背景を移動するにはどうすればよいですか?

[例: 非常に長い短冊を想像してください。次に、切り取った小さな長方形の紙を紙片のどこかに置き、長方形の内側にある紙片の部分だけが見えるようにします. やりたいことはこれだ】

4

3 に答える 3

5

イメージをコンテナー要素内に配置し、CSS を使用してオーバーフローを非表示に設定します。画像はそのままにしておけば潰れません

HTML

<div id="imgContainer">
    <img src="myImage.jpg" alt="" width="6144" height="768" />
</div>

CSS

#imgContainer
{
    height: 1024px;
    width: 768px;
    overflow: hidden;
}

次に画像を移動するには、CSS style に負の値を使用しますmargin-left

#imgContainer img
{
    margin-left: -1024px;
}

次のようにjQueryでこれを行うことができます

$("#imgContainer img").css("margin-left", "-1024px")
于 2012-04-06T01:47:56.883 に答える
1

OP が探しているのはCSS スプライトです ( A List ApartまたはSmashingmagも参照してください)。

于 2012-04-06T01:34:40.527 に答える
0

CSS で画像をスケーリングしないでください。代わりに、それをラッパー div に入れて、CSS で次のようにします。

#myImageWrapper {
    height: 1024;
    width: 768;
    overflow: hidden;
}
于 2012-04-06T01:32:27.920 に答える