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

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

新規登録して質問してみよう
ただいま回答率
85.46%
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

解決済

1回答

692閲覧

grid-templateを部分的に使いたい

tmp-user

総合スコア44

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グッド

0クリップ

投稿2021/11/09 02:03

編集2021/11/09 13:50

grid-templateを用いて画面を分割させたいのですが、
なぜか、右端下に要素が固まってしまい、うまく設定できません。

以前bodyタグにgrid-templateを設定しサイト全体のレイアウトを調整した際はうまく行ったのですが、
どこが間違っているのでしょう?

もしくは、部分的に適用することは不可能なのでしょうか。
イメージ説明

html

1 <body> 2 <!-- Bootstrap適用用 --> 3 <div class="container"> 4 <!-- ヘッダ --> 5 <header class="item">ヘッダ</header> 6 7 <!-- メッセージ --> 8 <section id="message"> 9 </section> 10 11 <!-- メイン ここにgrid-templateを適用させたい--> 12 <main id="main"> 13 <div id="kv">kv</div> 14 <div class="grid-item right1">right1</div> 15 <div class="grid-item right2">right2</div> 16 <div class="grid-item right3">right3</div> 17 <div class="grid-item left1">left1</div> 18 <div class="grid-item left2">left2</div> 19 <div class="grid-item left3">left3</div> 20 <div class="grid-item left4">left4</div> 21 </main> 22 23 <!-- フッター --> 24 <footer> 25 フッター 26 <div class="row"> 27 <div class="col-sm-4">Content</div> 28 <div class="col-sm-4">Content</div> 29 <div class="col-sm-4">Content</div> 30 </div> 31 </footer> 32 </div> 33 </body> 34

CSS

1main { 2 height: 1080px; 3 background-color: aqua; 4 display: grid; 5 grid-template: 6 "...... ...... ...... ...... ......" 30px 7 "...... left1 kv right1 ......" 1fr 8 "...... ...... ...... ...... ......" 10px 9 "...... left2 kv right2 ......" 1fr 10 "...... ...... ...... ...... ......" 10px 11 "...... left3 kv right3 ......" 1fr 12 "...... ...... ...... ...... ......" 10px 13 "...... left4 kv ...... ......" 1fr 14 "...... ...... ...... ...... ......" 10px 15 / auto 1fr 10px 1fr auto; 16} 17.grid-item { 18 background-color: red; 19} 20 21#kv { 22 grid-area: kv; 23} 24 25.right1 { 26 grid-area: right1; 27} 28 29.right2 { 30 grid-area: right2; 31} 32 33.right3 { 34 grid-area: right3; 35} 36 37.left1 { 38 grid-area: left1; 39} 40 41.left2 { 42 grid-area: left2; 43} 44 45.left3 { 46 grid-area: left3; 47} 48 49.left4 { 50 grid-area: left4; 51}

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

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

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

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

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

guest

回答1

0

ベストアンサー

行内および列間の複数の名前付きセルトークンは、対応するグリッドセルにまたがる単一の名前付きグリッド領域を生成します。これらのセルが四角形を形成しない限り、宣言は無効です。

grid-template-areas - CSS: カスケーディングスタイルシート | MDN

とのことですから、kvセルが飛び飛びのエリアを占めていることについて、宣言が無効になっているのだと思います。
どのようなレイアウトにしたいのかわからないですが、たとえば以下のような指定であれば有効になると思います。

css

1 grid-template: 2 "...... ...... ...... ...... ......" 30px 3 "...... left1 kv right1 ......" 1fr 4 "...... ...... kv ...... ......" 10px 5 "...... left2 kv right2 ......" 1fr 6 "...... ...... kv ...... ......" 10px 7 "...... left3 kv right3 ......" 1fr 8 "...... ...... kv ...... ......" 10px 9 "...... left4 kv ...... ......" 1fr 10 "...... ...... ...... ...... ......" 10px 11 / auto 1fr 10px 1fr auto;

もし、すき間を開けたいのであればgapを使った方がいいのかもしれないですね。

gap (grid-gap) - CSS: カスケーディングスタイルシート | MDN

投稿2021/11/09 03:11

編集2021/11/09 03:12
Lhankor_Mhy

総合スコア36158

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

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

tmp-user

2021/11/09 03:31

ありがとうございます! おっしゃるとおり、kvを飛ばしてしまったのが問題でした。 gapの補足情報もありがとうございます。 ありがたく活用させていただきます。
Lhankor_Mhy

2021/11/09 03:40

お役に立てたようで何よりです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問