🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

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

CSS

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

Q&A

解決済

1回答

578閲覧

比率を保ちながらレスポンシブさせる

bncsy42

総合スコア1

HTML

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

CSS

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

0グッド

1クリップ

投稿2021/03/11 23:16

前提・実現したいこと

レスポンシブ対応の質問について、下記の部分を比率を保ったままレスポンシブ対応させたいと思っています。
class="heading" をレスポンシブさせたい部分の親要素とし、paddingを使いheading内各要素の位置を定義付けようとしてみましたが上手くいかず、悩んでおります。vwを使用することになる部分までは理解できたのですが、どの要素に対してどのように割り振っていけば、比率を保てるのかが分からない状態です。
以下コードとなります。

HTML <main id="content"> <div class="heading"> <img class="logo" src="images/logo.png"> <div class="title"> <p class="catchcopy">こちらがキャッチコピーです</p> <p class="i"> <span><img class="capital" src="images/logo-mini.png"></span><span class="title-main">X XX XXXXXX</span> <span class="title-sub">Corporation</span> </p> </div> </div>

比率の参考としては、以下の通りです。(この比率のままレスポンシブさせたいです)

css .heading { position: relative; } .logo { margin-left: 323px; margin-top: 64.7px; max-width: 114.7px; margin-bottom: -22px; height: auto; } main { margin: 0 15vw; font-size: 13px; } .title { font-family: "Bebas Neue", cursive; height: auto; } .catchcopy { text-align: center; margin: 0 0 -20px 50px; font-size: 13.5px; max-width: 300px; } .i { text-align: left; height: auto; margin: -15px 0px; } .i .capital { display: inline-block; width: 44px; } .i .title-main { display: inline-block; text-align: center; font-size: 56px; letter-spacing: 8.5px; font-weight: 900; margin: 0 0 0 30px; } .title-sub { display: block; margin: -13px 0 0 283px; font-size: 19px; font-weight: 300; }

*画像の大きさは以下の通りです
logo = 230 × 230
logo-mini = 88 × 141
恐縮ですが、どなたかご教授頂けますと幸いです。
よろしくお願いいたします。

試したこと

class="heading" をレスポンシブさせたい部分の親要素とし、paddingを使いheading内各要素の位置を定義付けようとしてみた。
vwに置き換えてみたものの、比率がぐちゃぐちゃになってしまった。

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

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

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

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

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

miyabi_takatsuk

2021/03/11 23:57

理想の状態と、 現状を、画像で提示していただいた方が、回答つきやすいかと。 質問の修正をお願いします。 現状の質問内容だと、要素の、なんの比率を一定にしたいか、などがイメージできません。
guest

回答1

0

ベストアンサー

だいぶ混乱しているように見受けられます。

class="heading" をレスポンシブさせたい部分の親要素とし、paddingを使いheading内各要素の位置を定義付けようとしてみましたが上手くいかず、悩んでおります。vwを使用することになる部分までは理解できたのですが、どの要素に対してどのように割り振っていけば、比率を保てるのかが分からない状態です。

コードを拝見する限り、paddingではなくてmarginだと思いますが、それはともかく。

この「比率」ですが、何と何の比率なのかをはっきりさせる必要があります。
質問の文章から推察するに、親要素の幅に対する、各要素の位置の比率、ということかと思います。

では、親要素の幅は一体どれぐらいあるのか、調べてみましたか?

当方の環境でスクリーンサイズを1024pxにしたところ、700.8pxでした。これを基準にすると、logo画像の左余白の比率は323/700.8=0.46です。
スクリーンサイズを1920pxにしたところ、1328pxでした。これを基準にすると、logo画像の左余白の比率は323/1328=0.24です。

どれが正しい比率なのか、別の言葉を使えば**「どのようなレイアウトにしたいのか」をまず決めるところから始めて**はいかがでしょうか。

投稿2021/03/12 01:35

Lhankor_Mhy

総合スコア36928

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

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

bncsy42

2021/03/12 04:19

ご回答ありがとうございます!ご指摘いただきた部分を中心に一度落ち着いて一つ一つ考え直してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問