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

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

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

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

CSS

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

Q&A

解決済

2回答

1009閲覧

ソリッドレイアウトとリキッドレイアウトの混在

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/12/27 07:20

同じページ内において、
ヘッダー、フッターはソリッドレイアウトで固定幅指定、
中身のコンテンツ部分はリキッドレイアウトで可変にすることは可能でしょうか?

そのような実装をしてみたところ、デベロッパーツールでコンテンツ部分の右側に余白ができました。
デベロッパーツールでなく、ブラウザ(Windows10、chrome)でそのまま表示してみると不自然には見えない。
(幅を縮めていくとヘッダー・フッターはそのまま動かず、コンテンツ部分は可変で縮まっていく)

でもタブレット実機で見てみると、デベロッパーツールのような余白が出来ます。

そもそも、ソリッドレイアウトとリキッドレイアウトを混在させて表示させることは出来るのでしょうか。
出来るのであれば、実装方法教えていただきたいです。

※画像ぼかしています。

イメージ説明

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

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

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

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

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

Lhankor_Mhy

2021/12/27 07:38

「ヘッダー、フッターはソリッドレイアウトで固定幅指定、中身のコンテンツ部分はリキッドレイアウトで可変」ということは、ウィンドウサイズによっては、ヘッダーよりもコンテンツ部分の方が幅が広くなる、という理解でいいでしょうか?
退会済みユーザー

退会済みユーザー

2021/12/27 08:25

ありがとうございます! コンテンツ部分の最大幅は指定しています。(1200px) ヘッダー・フッターの固定幅も1200px。 それ以下に縮めた時に可変になるという感じです。
Lhankor_Mhy

2021/12/27 08:43

とすると、ご提示のスクリーンショットでは、ヘッダーフッターもコンテンツも可変幅、つまり全てリキッドレイアウトになっている、という理解でよろしいですか?
Lhankor_Mhy

2021/12/27 08:50

あ、いや、違うのかな? 「それ以下に縮めた時に可変になる」のはコンテンツ部分だけという意味ですか。 理解しました。
退会済みユーザー

退会済みユーザー

2021/12/27 09:03

スクリーンショットでは、検証ツールで画面幅を1200pxから少し縮めた状態(850pxくらい)になっています。 なので、ヘッダーフッターが1200pxで固定されていて、 コンテンツが可変で縮んで右に余白ができています。 (うまく説明できずスミマセン(>_<))
退会済みユーザー

退会済みユーザー

2021/12/27 09:09

>「それ以下に縮めた時に可変になる」のはコンテンツ部分だけという意味ですか。 そうです!
guest

回答2

0

そもそも、ソリッドレイアウトとリキッドレイアウトを混在させて表示させることは出来るのでしょうか。

出来るのであれば、実装方法教えていただきたいです。

可能です。
幅をpxなどの絶対単位で指定すればソリッドレイアウト、%などの相対単位で指定すればリキッドレイアウトになります。

つまり、ソリッドレイアウトにしたい要素にはpx単位で幅を指定、リキッドレイアウトにしたい要素は%単位で幅を設定すればいいでしょう。

ただ、混在させると画面サイズによってはバランスが悪くなる可能性があるので一般的には採用しないと思います。

そのような実装をしてみたところ、デベロッパーツールでコンテンツ部分の右側に余白ができました。

それが再現できるコードを提示してもらわないと、解決法の提示は難しいですね。

投稿2021/12/27 09:16

hatena19

総合スコア34075

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

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

退会済みユーザー

退会済みユーザー

2021/12/27 09:44

回答ありがとうございます! 取り急ぎ出来るかどうかを知りたかったため、コード提示できずに申し訳ございませんでした。 >混在させると画面サイズによってはバランスが悪くなる可能性があるので一般的には採用しない 確かに、横スクロールが発生するとなるとリキッドレイアウトの利点である可読性も良くない気がします。 回答いただきありがとうございました!
guest

0

ベストアンサー

こんな感じでしょうか。
横スクロールが発生してしまうので、あまりいいデザインとは思えないですが……
サンプルを置いておきます。

https://jsfiddle.net/Lhankor_Mhy/nezm8624/

css

1 body { 2 display: grid; 3 grid: auto-flow / 100%; 4 justify-items: center; 5 } 6 7 header, 8 footer { 9 width: 1200px; 10 } 11 12 main { 13 max-width: 1200px; 14 width: 100%; 15 }

投稿2021/12/27 09:13

Lhankor_Mhy

総合スコア36960

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

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

退会済みユーザー

退会済みユーザー

2021/12/27 09:39

サンプルまでいただいてありがとうございます!! header, footer, main の指定は同じです。 やはり、デザイン的に横スクロール発生、右側に余白が出きてしまうのは必須ということのようですね。 このようなレイアウトが混在したサイトが初めてだったので、どうしたものかと悩んでおりました。 大変助かりました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問