質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

5回答

2547閲覧

box-shadow<div>要素内の画像に。

YuichiKataoka

総合スコア216

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

2クリップ

投稿2015/05/29 04:31

例えば以下の様にマークアップした画像があります。

lang

1<div class="Wrapper"> 2 <img src="home" alt="" height="600" width="600" border="0"> 3</div>

lang

1.Wrapper { 2 width:300px; 3 height: 150px; 4 border:1px solid #000; 5 overflow: auto; 6 box-shadow:0px 1px 3px rgba(216,213,213,1) inset; 7 }

この時<div>の内側にシャドウを入れたいのですが、画像にはシャドウがかかりません。スクロールして画像の上にシャドウがくるような方法はありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

シャドウを見やすくするのに、濃くしてます。画像のパスは私のローカルのやつをてきとうに当ててますのでご了承ください。

以下は、スクロールバーの出るタイプ。

lang

1<style type="text/css"> 2html { width:300px;} 3.Wrapper { 4 width:300px; 5 height: 150px; 6 border:1px solid #000; 7 overflow: hidden; 8} 9.WrapperInner { 10 width:300px; 11 height: 150px; 12 overflow: auto; 13 position:relative; 14} 15img { display:block; position:relative;} 16.WrapperInner:after { content:''; width:600px; height:600px; display:block; box-shadow:0px 0px 10px rgba(0,0,0,1) inset; position:absolute; top:0; left:0;} 17</style> 18<div class="Wrapper"> 19 <div class="WrapperInner"> 20 <img src="demo1.png" alt="" height="600" width="600" border="0"> 21 </div> 22</div>

スクロールバーをオーバーフローで見えなくした感じ。ただし横スクロールできない。

lang

1<style type="text/css"> 2html { width:300px;} 3.Wrapper { 4 width:300px; 5 height: 150px; 6 border:1px solid #000; 7 overflow: hidden; 8} 9.WrapperInner { 10 width:315px; 11 height: 165px; 12 overflow: auto; 13 position:relative; 14} 15img { display:block; position:relative;} 16.WrapperInner:after { content:''; width:600px; height:600px; display:block; box-shadow:0px 0px 10px rgba(0,0,0,1) inset; position:absolute; top:0; left:0;} 17</style> 18<div class="Wrapper"> 19 <div class="WrapperInner"> 20 <img src="demo1.png" alt="" height="600" width="600" border="0"> 21 </div> 22</div>

うーん、それともこうかなぁ。スクロールバーの内側に設置。これかな?

lang

1<style type="text/css"> 2html { width:300px;} 3.Wrapper { 4 width:300px; 5 height: 150px; 6 border:1px solid #000; 7 overflow: hidden; 8 position:relative; 9} 10.WrapperInner { 11 width:300px; 12 height: 150px; 13 overflow: auto; 14 position:relative; 15} 16img { display:block; position:relative;} 17.Wrapper:after { content:''; width:285px; height:135px; display:block; box-shadow:0px 0px 10px rgba(0,0,0,1) inset; position:absolute; top:0; left:0;pointer-events: none;} 18</style> 19<div class="Wrapper"> 20 <div class="WrapperInner"> 21 <img src="demo1.png" alt="" height="600" width="600" border="0"> 22 </div> 23</div>

投稿2015/06/01 15:01

1000

総合スコア204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YuichiKataoka

2015/06/02 13:35

できました。ありがとうございます。 応用して使ってみます。
guest

0

次の様に要素を一つ増やせば可能ですが、そのままだと難しいのではないでしょうか。

lang

1<div class="Wrapper"> 2 <div class="Image"> 3 <img src="home" alt="" height="600" width="600" border="0"> 4 </div> 5</div>

*CSSを修正しました

lang

1.Wrapper { 2 overflow: hidden; 3 position: relative; 4 width: 300px; 5 height: 150px; 6 margin: 50px; 7 border: 1px solid #000; 8} 9 10.Wrapper::before { 11 position: absolute; 12 z-index: 1; 13 top: 0; 14 left: 0; 15 width: 300px; 16 height: 150px; 17 content: ""; 18 box-shadow: 0 1px 3px rgba(213,213,213,1) inset; 19 pointer-events: none; /* IEは11から対応 */ 20} 21 22.Image { 23 overflow: auto; 24 position: relative; 25 width: inherit; 26 height: inherit; 27}

投稿2015/05/31 16:28

編集2015/05/31 16:42
flat

総合スコア617

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

flat

2015/05/31 16:33

すみません、少し勘違いしていた様です。 これだと上部にしかシャドウがかからないですね。
guest

0

へー、スマホサイトですかね?
おもしろいですね。

lang

1html { width:300px;} 2.Wrapper { 3 width:300px; 4 height: 150px; 5 border:1px solid #000; 6 overflow: auto; 7 position:relative; /* 追記 */ 8} 9img { display:block; position:relative;} /* 追記 */ 10.Wrapper:after { content:''; width:600px; height:600px; display:block; box-shadow:0px 1px 3px rgba(216,213,213,1) inset; position:absolute; top:0; left:0;} /* 追記 */

投稿2015/05/30 17:11

1000

総合スコア204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YuichiKataoka

2015/05/31 13:02

回答ありがとうございます。 教えて頂いたcssを適用すると、初期状態だとシャドウがかかるのですが スクロールするとシャドウがかかりません。 当方のMacのChorome、Safari、Firefoxで確認しています。
1000

2015/06/01 05:18

あれ、スマホじゃなかったですか? 通常のパソコン用ブラウザで見るとオーバーフローでスクロールバーが出るので意図しない形になるのかなと推測できましたが、どうでしょ? であればほとんどのブラウザでスクロールバーのサイズが15pxなので、外枠を入れ子にすればいけるかと。 ただしスマホとPCでメディアクエリかjsで処理をわけないとだめですが。 スマホからの投稿につき、具体的なソースが無くてすみません。
YuichiKataoka

2015/06/01 14:29

スマホではなく、PCからの閲覧でうまくいきません。(スマホはすいません、確認していないです) >外枠を入れ子にすればいけるかと。 時間があるときで良いので、具体的なコードを教えて頂けると非常に助かります。
guest

0

擬似要素をdivと同じサイズで重なるように配置して、z-indexで手前に持ってきてbox-shadowをつけてやればいいんじゃないでしょうか?
もしかして見当違いなこと言ってますかね。

投稿2015/05/29 06:52

Yasha_Wedyue

総合スコア830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YuichiKataoka

2015/05/29 09:33

ありがとうございます。 まだやっていないのですが、参考となるページなど方法ありましたら教えて頂けますでしょうか?
guest

0

img要素ではなく、background-imageプロパティであれば影がかかるようですが、それは難しいのでしょうか?

投稿2015/05/29 04:44

htsign

総合スコア870

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YuichiKataoka

2015/05/29 06:09

<img>が複数あるため、それは難しいです。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問