• ベストアンサー

10cmある画像を左から3cmのみ表示させるにはど

<html> <head> <title>test</title> <style type="text/css"> img{width:500px; </style> </head> <body> <img src="http://test/line.jpg"> </body> </html> これで、画像のサイズ(割合)を調整できますが 例えば10cmある画像を左から3cmのみ表示させるにはどうすればいいでしょうか? 上記のやり方だと長さの調節はできますが それに伴い画像も縮小拡大されてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Kaneyan-R
  • ベストアンサー率42% (1340/3126)
回答No.3

cmとか、長さの単位で例えるのは、ディスプレイ上や印刷物では、解像度によっていくらでも変化するので好ましくありません。画像のピクセルサイズで表しましょう。 さて、ご質問の内容ですが、imgタグだけでは出来ません。 例えば400 x 300の画像で、左から200pxまでの部分(座標0,0~199,299)の範囲を表示したいなら、 <style> div#imgContainer { position:relative; overflow:hidden; width:200px; height:300px; border:1px solid blue; padding:0px; } div#imgContainer img{ position:relative; left:0px; top:0px; width:400px; height:300px; border:0px; padding:0px; margin:0px; } </style> <div id="imgContainer"> <img src="xxx.jpg"> </div> と言うように、レイアウトコンテナ(div)の中にイメージ(width:400px height:300px)を表示して、レイアウトコンテナのサイズを実際に表示するサイズ(width:200px height:300px)に合わせ、はみ出した部分を非表示(overflow:hidden)にする事で実現します。 この際、レイアウトコンテナとイメージの間には、それぞれのpaddingとイメージのmargin、枠線(boder)が存在するので、レイアウトに合わせそれぞれ調整します。

eorifcivtwgni
質問者

お礼

ご回答ありがとうございます。

その他の回答 (2)

noname#206842
noname#206842
回答No.2

stylesheetに、 img{ pssition:*****; top:***px; left:***px; } を指定されるといいのでは?・・・ css sprite画像を使うときの基本ですね!。

参考URL:
http://t32k.me/mol/log/reduce-http-requests-css-sprite/
eorifcivtwgni
質問者

お礼

ご回答ありがとうございます。

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

こんな感じかな。 https://jsfiddle.net/3Lhwfe4k/1/ 画像をずらしたいときはmarginを使うとよさげ .crop > img { margin-left: -109px; }

eorifcivtwgni
質問者

お礼

ご回答ありがとうございます。

関連するQ&A