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

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

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

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

HTML5

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

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Q&A

1回答

426閲覧

imgタグにサイズ指定しつつレスポンシブ対応にしたい

erghtg

総合スコア2

CSS3

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

HTML5

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

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

0グッド

0クリップ

投稿2020/06/06 15:02

【現状】
画面幅992px以上の時、画像の幅、高さが245pxで固定
画面幅768px以上991px以下の時、画像の最大幅170px、最大高さ175px、画面幅が小さくなると画像も小さくなる
画面幅767px以下の時、画像の最大幅134px、最大高さ145px、画面幅が小さくなると画像も小さくなる

【やりたいこと】
画面幅992px以上の時、画像の幅、高さが245pxで固定
画面幅768px以上991px以下の時、画像の最大幅、最大高さを300pxとし画面幅が小さくなると画像比率を保ったまま(真四角のまま)小さくなる
画面幅767px以下の時、画像の最大幅、最大高さを245pxとし画面幅が小さくなると画像比率を保ったまま(真四角のまま)小さくなる

<div class="image"> <img src="img.jpg" width="245" height="245" alt="画像"> </div>
@media screen and (max-width: 991px){ .image img{ width: 300px; max-width: 100%; height: auto; } } @media screen and (max-width: 767px){ .image img{ width: 245px; max-width: 100%; height: auto; } }

現在模写コーディングをしている者です。
いくつか方法は試してみたものの画像指定がうまくいかず非常に悩んでおります。
何か良い解決策などあればご教示いただきたく
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

css

1.image img{ 2 width: calc(245px + (100vw - 768px) * (300 - 245) / (992 - 768)); 3 height: auto; 4} 5 6@media screen and (min-width: 992px){ 7 .image img{ 8 width: 245px; 9 } 10}

widthプロパティに使用しているCSS関数calc()が肝心なポイントです。
中学校で習う一次関数の要領で、画面幅に合わせて動的にwidthプロパティの値を変えています。
calc() - CSS: カスケーディングスタイルシート | MDN

calc()の中に登場する100vwが画面幅となります。
たとえば画面幅が900pxのとき、100vw900pxになります。
<length> - CSS: カスケーディングスタイルシート | MDN

サンプルコード (Google Chrome v83で動作確認)
https://jsbin.com/gemodiziji/edit?html,css,output

投稿2020/06/06 17:55

reosablo

総合スコア339

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問