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

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

詳細はこちら
CSS3

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

HTML

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

CSS

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

Q&A

解決済

1回答

1396閲覧

簡単そうなレイアウトなのに、gridを使って表示できない。

jal0994

総合スコア20

CSS3

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/01/23 08:58

編集2021/02/09 02:24

添付画像のレイアウトをgridを使い再現しようとしているのですが、
うまく表示されません。

解決可能かたがいましたら、ご教示いただけますと幸いです。

よろしくお願いいたします。

▼実現したいこと
添付画像の表示。
添付画像は左から[PC],[タブレット],[スマホ]

▼出来ないこと
・コンテンツ幅760px内で、均等にPCの場合は1行4つのシェイプ(画像)で、5つ目以降は折り返しされて、2行目に同じように4つ表示されてまた4つ表示されたら折り返す。
(タブレット、スマホなどは1行に2つ表示)

▼出来たこと
∟黒の三角形のシェイプはディスプレイ幅いっぱいにできました。  
∟「見出し」の位置は表示できました。

▼表示について補足
黒色三角形と1行目の赤色シェイプは、添付画像のように重なるように表示。
添付画像でいうと1行目左2つの画像は重なっているので、そのように表示

▼ソースコードについて
・クラスwrapperのgrid-template-columns、grid-template-rowsもしくはgirid-templateで色々試したのですが、できませんでした。
・クラスinnerのgrid-rowもしくはgrid-columnで色々試したのですが、できませんでした。
・HTMLには新しいdivなどを追加・削除しても問題ありません。

▼HTML <div class="contents"> <div class="wrapper"> <div class="head"></div> <p class="read">見出し</p> <div class="inner red"> <img src="https://placehold.jp/170x170.png" width="170" height="170" > </div> <div class="inner red"> <img src="https://placehold.jp/170x170.png" width="170" height="170" > </div> <div class="inner red"> <img src="https://placehold.jp/170x170.png" width="170" height="170" > </div> <div class="inner red"> <img src="https://placehold.jp/170x170.png" width="170" height="170" > </div> </div> </div>
.wrapper { display: grid; max-width: 760px; margin: 0 auto; // grid-template-columns: ; // grid-template-rows: } .head { background-color: #e60046; height: 140px; width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; -webkit-clip-path: polygon(0 0, 0 90%, 100% 0); clip-path: polygon(0 0, 0 90%, 100% 0); z-index: -1; } .read { grid-row: 1/1; grid-column: 1/1; color: #fff; font-size: 3rem; } .inner { // grid-row: ; // grid-column: ; } .red { background-color: red; }

イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんばんは。

コンテンツ幅760px内で、均等にPCの場合は1行4つのシェイプ(画像)で、5つ目以降は折り返しされて、2行目に同じように4つ表示されてまた4つ表示されたら折り返す。

1frでサイズをフレックスに指定してもいいですし、どのみち760/4=190pxなのは決まっているのですから、px単位で指定しても構わないと思います。

サンプル

css

1.wrapper { 2 grid-template-columns: repeat( 4, 1fr ) [end]; 3} 4 5.head { 6// position: relative; 7 position: absolute; 8} 9 10.read { 11// grid-column: 1/1; 12 grid-column: 1 / span end; 13 }

投稿2021/01/23 14:24

編集2021/01/23 14:25
Lhankor_Mhy

総合スコア36946

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

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

jal0994

2021/02/09 02:26

返信が遅れてしまい、大変申し訳ありません。 ご回答くださり、ありがとうございます! ご回答いただいた内容も参考にして、解決いたしました。 貴重なお時間をお使いいただき、ご教示くださり本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問