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

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

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

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

8301閲覧

hover時に画像部分だけ色を変えたい

kazoogon

総合スコア281

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/05/28 11:38

画像にマウスを持っていくと、画像部分だけ色を変えたいのですが、画像を飛び出して色が変わってしまいます。検証でチェックするとimg部分は写真部分より大きくなっています。
画像部分だけ色を変えるにはどうすれば良いでしょうか?

<!DOCTYPE html> <head> <meata lang="ja"> <meta charset="utf-8"> <style> .picture{ float:left; width:33.333%; transform: translate(0,40px); -webkit-transform: translate(0,40px); transition:0.8s; } /*hoverした時に表れる*/ .picture .mask{ width:100%; position:absolute; overflow: hidden; top:0; bottom:0; } .picture img{ position:relative; cursor: pointer; height:200px; display: block; margin:0 auto; transition: max-height 0.4s; } .picture h2{ text-align: center; font-size: 20px; font-family: arial-black; color:#fff; position:relative; } .picture-view .mask{ opacity:0; background-color: #000; transition: all 0.3s ease-in-out; } .picture-view:hover .mask{ opacity:0.8; } </style> </head> <body> <div class="main"> <div class="picture picture-view"> <img src="http://s3.amazonaws.com/iexplore_web/images/assets/000/006/463/original/sweden.jpg?1443530953"/> <div class="mask"> <h2>City view</h2> </div> </div> <div class="picture picture-view"> <img src="http://331mrnu3ylm2k3db3s1xd1hg.wpengine.netdna-cdn.com/wp-content/uploads/2015/06/Sprudge-FIKANYC-RobertWolcheck-FIKA_NYC_coffee_cup_detail-1.jpg"/> <div class="mask"> <h2>Fika</h2> </div> </div> <div class="picture picture-view"> <img src="http://blogg.forskolankarten.se/wp-content/uploads/2014/03/skogen.jpg"> <div class="mask"/> <h2>Utflykt</h2> </div> </div> </div> </body>

pictureとmaskのwidthとheightを設定すればできますが、ブラウザを縮めてもデザインが崩れないようにしたいのでwidth33.33333%を使っています。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こういうことでしょうか。

CSS

1.picture { 2 overflow: hidden; 3} 4```**動くサンプル:**[https://jsfiddle.net/qwc4p9Ln/](https://jsfiddle.net/qwc4p9Ln/) 5 6 7--- 8 9**追記:** 10 11画像が「横幅いっぱい」を基準に作られていないのがそもそもの問題な気もしますが。 12 13```CSS 14.picture img { 15 object-fit: cover; 16 width: 100%; 17} 18```**動くサンプル:**[https://jsfiddle.net/qwc4p9Ln/1/](https://jsfiddle.net/qwc4p9Ln/1/) 19 20【Can I use... Support tables for HTML5, CSS3, etc】 21[http://caniuse.com/#search=object-fit](http://caniuse.com/#search=object-fit) 22

投稿2017/05/28 12:35

編集2017/05/28 12:47
kei344

総合スコア69400

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

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

kazoogon

2017/05/28 12:43

回答ありがとうございます。 これだと画像の横幅を飛び越えてhover時に黒くなりますよね? じゃなくて黒くなる部分が画像部分だけ黒くしたいんですが。。。 うまくできないんです汗、簡単そうなんですが汗
kazoogon

2017/05/28 13:21

img のwidth:80%; だと何か手立てありますかね??  写真と写真を隣同士くっつけたくてはないので。。
kazoogon

2017/05/29 13:14

そうですよね、黒い部分がこうやって画像より飛び出して色が変わっちゃいますよね。。。汗 img部分にposition:relative; できればいんですが、それができなくて。。。汗
kei344

2017/05/29 14:19

display: inline-block;のdiv要素に囲んで画像をdisplay:block;にしたらできるかも。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問