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

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

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

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

jQuery

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

4492閲覧

CSSで画像にマウスオーバー時マスクと画像拡大を実現したい。

beginner25487

総合スコア2

CSS3

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

jQuery

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/07/15 01:57

画像にマウスオーバーした際、画像は少し拡大・上に半透明マスクをかけて文字を表示、と言うのを実現したいです。

それぞれ単体では実現できたのですが、合わせると動きません。
参考にしたのは以下のサイトです。

https://blog.raizzenet.com/mouse-hover-caption-effects-in-css/#i-sample1
https://www.jungleocean.com/programming/190208mouseoverimg#outline__2

これを踏まえて以下のようにしました。

html

1<section class="item_con"> 2 <div class="item_box"> <img src="images/cat01.jpg" alt=""/> 3 <div class="mask"> 4 <div class="caption"><span>type.1</span><br> 5 type.1の説明文をここに掲載します。</div> 6 </div> 7 </div> 8~~ 9</section>

css

1.item_con { 2 overflow: hidden; 3} 4.item_box { 5 float: left; 6 width: 50%; 7 margin: 0; 8 padding: 0; 9 overflow: hidden; 10 position: relative; /* 相対位置指定 */ 11 overflow:hidden; 12 13} 14.item_box img { 15 width: 100%; 16 height: auto; 17 display: block; 18 transition: 0.6s; 19} 20.item_box img:hover { 21 transform:scale(1.2,1.2); 22} 23 24/*マスク*/ 25.item_box .mask { 26 width: 100%; 27 height: 100%; 28 position: absolute; /* 絶対位置指定 */ 29 top: 0; 30 left: 0; 31 opacity: 0; /* マスクを表示しない */ 32 background-color: rgba(0,0,0,0.2); /* マスクは半透明 */ 33 -webkit-transition: all 0.6s ease; 34 transition: all 0.6s ease; 35} 36 37.item_box:hover .mask { 38 opacity: 1; /* マスクを表示する */ 39} 40/*文字列BOX*/ 41.item_box .caption { 42 color: #fff; 43 font-size: 1.2em; 44 line-height:1.2em; 45 text-align:center; 46 position: absolute; 47 top: 50%; /*親要素を起点に上から50%*/ 48 left: 50%; /*親要素を起点に左から50%*/ 49 transform: translateY(-50%) translateX(-50%); /*要素の大きさの半分ずつを戻す*/ 50 -webkit-transform: translateY(-50%) translateX(-50%); 51}

画像サイズは、参考サイトでは固定でしたがレスポンシブで画面幅50%としています。
この状態で、マスクはかかって文字表示もするのですが画像の拡大表示が動作しません。
cssのみで両方を動作させるのは難しいのでしょうか?
jQueryなどを利用しないと実現できませんか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

これでできます。

CSS

1.item_box:hover img { 2 transform:scale(1.2,1.2); 3} 4```**動くサンプル:**[https://jsfiddle.net/p8a359ds/](https://jsfiddle.net/p8a359ds/)

投稿2020/07/15 02:32

kei344

総合スコア69400

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

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

beginner25487

2020/07/15 02:36

素早い回答ありがとうございました! 無事希望通りに表示しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問