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

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

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

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

HTML5

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

HTML

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

CSS

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

Q&A

解決済

2回答

692閲覧

object-fit: contain;のときに画像だけにaタグを効かせる方法

meli

総合スコア312

CSS3

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

HTML5

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

HTML

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

CSS

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

0グッド

1クリップ

投稿2020/09/26 05:20

お世話になります。

高さ・横幅・縦横比の違う画像を複数貼っていおり、画像にaタグをつけています。
現在aタグが、画像だけでなく、imgで指定している範囲全てに効いてしまいます。

html

1<div class="boxin_img"> 2 <a href="https://www.google.com/" target="_blank" tabindex="-1"><img src="https://1.bp.blogspot.com/-MatZaoyqiGA/XnLn6MAUAnI/AAAAAAABX0g/1UrkPi3q0XouCxHOgIvvXbUP-EQS2DsXgCNcBGAsYHQ/s400/chirashi_mansion.png"></a></div>

css

1.boxin_img { 2 position: absolute; 3 /* width: 62%; */ 4 height: 47.58vw; 5} 6 7.boxin_img img { 8 max-width: 1012px; 9 max-height: 770px; 10 width: auto; 11 width: 62vw; 12 height: 47.58vw; 13 float: left; 14 position: relative; 15 object-fit: contain; 16}

Codepen

object-fit: contain;のときに画像だけにaタグを効かせる方法を教えていただきたいです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

object-fit を使わなくてもいいならこういう方法はどうでしょうか。
サンプル

css

1.boxin_img { 2 position: absolute; 3 width: 62vw; 4 height: 47.58vw; 5} 6 7.boxin_img img { 8 position: absolute; 9 top: 0; 10 bottom: 0; 11 left: 0; 12 right: 0; 13 max-width: 100%; 14 max-height: 100%; 15 margin: auto; 16}

投稿2020/09/26 10:55

編集2020/10/02 21:38
takopo

総合スコア484

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

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

0

画像のサイズが 400px×400px
で、
img要素に width:62vw;height:47.58vw;
と設定すれば、画像と縦横比が異なりますので、当然左右に空白でできますね。
リンクはimg要素に効きますので左右の余白も反応します。

やりたいことが、width:62vw;height:47.58vw; の枠内に画像を縦横比を崩さずに配置したいということなら、imgにサイズを設定するのではなく、その親のブロックにサイズを設定すればいいでしょう。

css

1.boxin_img { 2 position: absolute; 3 width: 62vw; 4 height: 47.58vw; 5 display: flex; 6 justify-content: center; /* 子要素を中央寄せ */ 7 border: 1px solid; /* レイアウトが分かり安くするために */ 8} 9 10.boxin_img img { 11 width: auto; 12 height: 100%; 13}

これで画像上だけにリンクが効きます。

投稿2020/09/26 07:27

hatena19

総合スコア33782

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

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

meli

2020/09/26 09:13

ご回答ありがとうございます! こちらの方法を試させていただいたのですが、 サイト上には縦横比の違う画像があり、こちらだと縦長の画像は綺麗に表示されるのですが、横長の画像がはみ出してしまいました。 imgのwidthとheightのauto,100%を逆にすると、上記の問題が逆になります。 良い手はないでしょうか…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問