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

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

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

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

CSS

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

Q&A

解決済

1回答

984閲覧

画像の幅を決めた状態の縮小と拡大の仕方

aono_ck

総合スコア5

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/11/01 01:18

お世話になります。
コーディングの勉強でAirbnbの模写をしております。
画像100%の状態で縮小させレスポンシブに対応させたいと思っております。
縦の幅を680pxにして等倍縮小をしたいのですが、当然ながら指定してしまうと縦幅680px固定で画面を縮小させることになるので、画像が縦に潰れてしまいます。お恥ずかしながらここで何日も解決できず先に進むことができません・・・

見本のようなサイズで縮小ができるコードの書き方、お分かりになる方、教えていただけると助かります。

<div class="key_visual"> <img src="image/main.jpg" alt="トップ画像"> </div>
.key_visual { max-width: 1360px; height: 680px; margin: 0 auto; padding: 0 40px; background-color: #000; } .key_visual img { vertical-align: bottom; width: 100%; border-radius: 16px; object-fit: cover; }
### 試したこと 見本にしたページの検証ツールを何度も見ておりますが、階層がとても複雑で再現がなかなかできません。 元のサイトはこちらです https://www.airbnb.jp/host/homes?_set_bev_on_new_domain=1601556550_N2IyMTk5ZGYzYjM2 ### 補足情報(FW/ツールのバージョンなど) わかりやすいように黒く色を付けました。高さがはみ出してしまうのが解決できません・・・ 見本では切り取ったりしているわけではないようです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

下記でどうですか。

css

1.key_visual img { 2 vertical-align: bottom; 3 width: 100%; 4 height: 100%; /* 追加 */ 5 border-radius: 16px; 6 object-fit: cover; 7 object-position: center; /* 追加 */ 8}

追記

模写先は 画面幅 1200pxで高さ680px固定と、autoを切り替えているようですので、
メディアクエリで実装してみました。

css

1.key_visual { 2 max-width: 1360px; 3 height: 680px; 4 margin: 0 auto; 5 padding: 0 40px; 6 background-color: #000; 7} 8.key_visual img { 9 width: 100%; 10 height: 100%; 11 border-radius: 16px; 12 object-fit: cover; 13 object-position: center 14} 15 16@media screen and (max-width: 1200px) { 17 .key_visual { 18 height: auto; 19 } 20}

投稿2020/11/01 02:04

編集2020/11/01 03:40
hatena19

総合スコア33782

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

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

aono_ck

2020/11/01 03:01

素早い回答を頂きありがとうございます! 私の質問の説明がが足りなかったですね(汗 画像の高さ680pxが初期値で、縮小していくと横幅と同時に縦幅も縮小されていく、という設定にしたいと思っております。
hatena19

2020/11/01 03:38

模写先は、画面幅が1200px付近より広いときは680px固定、それより狭いときは固定ではなく縦横比が固定で縮小していく設定になってますね。 模写先はそれをJSでするという古臭い手法でしているようですが、今ならメディアクエリでするのがスマートでしょう。 回答にサンプルコードを追加しておきます。
aono_ck

2020/11/01 04:07

出来ました!ありがとうございます。 ずっと悩んでいたので解決できてよかったです。 本当に助かりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問