• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像に影付画像を背景に設定、影を上手に表現するコツ)

画像に影付画像を背景に設定、影を上手に表現するコツ

このQ&Aのポイント
  • ホームページに影付きの画像を使用したい場合、イラストレーターで影を作り、フォトショップで画像化する方法があります。
  • 影の周りの余白の多さについては、切り取ることが難しい場合は気にする必要はありません。
  • 影の形や濃さをコントロールするコツがあります。さらに、正確な寸法を把握する方法もあります。

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

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.1

(1)見た感覚でトリミング。本当は白からグラデーションでぼかす。    この場合、出来れば上下左右のシャドウの幅を統一。    中の白枠を基点にカンバスを均等で広げれば良い。それで保存。 (2)下記に説明 (3)1pxではなく、大胆に数十px単位で変更してみる。 ============================= まず、1枚だけに影を付けるなら、 背景画像の影画像なんか作らずに、画像にシャドウを落とした方が良いのは知っていると思いますから割愛。 次に、同じサイズの画像を複数利用する場合には、 左の画像で、全方向のシャドウで問題無いのですが、 画像の大きさが毎回違う場合には、シャドウが毎回ズレますよ。 それを踏まえた上で、 解説サイトは、画像サイズに無関係で斜め方向のシャドウを表現する方法で、 画像の右と下にシャドウが出るCSSを解説しているのだと思います。 つまり、シャドウの使いまわす場合には有効な手段です。 この場合、右と下のシャドウを表現するだけなので、 上と左は切れても良いのです。 いえ、提示したCSSで 右の画像のようになるのが正しいく、何も問題なく表現されていますよ。 ----------------- 今の質問者さんが書いたCSSは、 左画像の右下に左背景(シャドウ)画像の右端60PXと下端60PX部分しか表示されていない状態です。 左画像のような全面シャドウを表現したければ、 左画像の中の白枠とピッタリのサイズに画像で、 例:各シャドウが60pxの場合、 #shadow{ margin-left: 100px; margin-top: 100px; padding: 60px; background-image: url("shadow_image.jpg"); no-repeat; } とすれば上下左右にシャドウが表示され、ピッタリ合うでしょう。 つまり、 1、左のシャドウ画像の内側の白枠と右画像の大きさをピッタリ合わせる。 2、シャドウ部分の幅を知る。 3、padding: 60px;の60の値を上記2のシャドウの幅を入力。 ----------------- ただ、このCSSを使えば良いという事ではなく、 そのCSSを修正しただけですから・・・ また、 画像が特大な上に(複数設置は重くなる)、margin-left: 100px;とpadding: 60px;なので、幅が最低でも820pxになっていますから、それ以上の外枠じゃないといけません・・・

tekkenman7
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

複数光源の影を正確にかつ、画像サイズに関わらずとなると 画像の左隅    画像の上辺+右上 画像の左辺+左下 右辺+画像の下辺+画像の右下 の四つの画像が必要です。 これをうまく配置するためには、HTMLで画像を最低3つの汎用ブロック内(後生成でもよい)に入れます。 例 <p class="Photo">  <div>   <a>    <img>   </a>  </div> <p>  とマークアップされていると、 p.Photo{backgroung:no-repeat;100% 100% url([URL]);} p.Photo div{background:no-repeat 0% 100% url([URL]);} p.Photo a{display:block;width:100%;height:100%;background:no-repeat 100% 0% url([URL]);} p.Photo a img{display:block;width:100%;height:100%;background:no-repeat 0% 0% url([URL]);}  とかですね。

tekkenman7
質問者

お礼

ありがとうございました。

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

失礼、削除不足・・・ background-image: url("shadow_image.jpg"); no-repeat; じゃなくて、上記部分を下記に訂正 background: url("shadow_image.jpg") no-repeat;

tekkenman7
質問者

お礼

ありがとうございました。

関連するQ&A