CSSGRID-グリッドテンプレート-空のセルと自動配置のある領域

フレッド

cssグリッドレイアウトモジュールを使用して、12列-3行のグリッドを表示しようとしています。

2つの要素(グリッドの左側に1つ、右側に2つ)のみを表示するには、1番目の行が必要です。私はそれらを空のセルで10周期を使用して分離しました。

次に、残りの要素を自動的に表示するために次の行が必要です。

grid-template-areas配置をより細かく制御することにしましたがgrid-area、すべての要素に特定の名前を付ける必要があるため、最善のアプローチではない可能性があります

また、残りのセルにauto grid-areaプロパティを使用して、3行目を自動的に埋めようとすると、最初の行の空のセルが埋められているように見えます。

この問題を解決するための最も効果的な方法は何でしょうか?

これが私のコードです:

.grid {
  display: grid;
  grid-template-areas: 
  	"elem1 . . . . . . . . . . elem2" 
  	"elem3 elem4 elem5 elem6 elem7 elem8 elem9 elem10 elem11 elem12 elem13 elem14";
}
.elem{
	text-align: center;
	color: white;
}
.elem1 {
  background-color: blue;
  grid-area: elem1;
}
.elem2 {
  background-color: red;
  grid-area: elem2;
}
.elem3 {
  background-color: cyan;
  grid-area: elem3;
}
.elem4 {
  background-color: green;
  grid-area: elem4;
}
.elem5 {
  background-color: magenta;
  grid-area: elem5;
}
.elem6 {
  background-color: blue;
  grid-area: elem6;
}
.elem7 {
  background-color: red;
  grid-area: elem7;
}
.elem8 {
  background-color: cyan;
  grid-area: elem8;
}
.elem9 {
  background-color: green;
  grid-area: elem9;
}
.elem10 {
  background-color: magenta;
  grid-area: elem10;
}
.elem11 {
  background-color: blue;
  grid-area: elem11
}
.elem12 {
  background-color: red;
  grid-area: elem12;
}
.elem13 {
  background-color: cyan;
  grid-area: elem13;
}
.elem14 {
  background-color: green;
  grid-area: elem14;
}
.elem15 {
  background-color: magenta;
  grid-area: auto;
}
.elem16 {
  background-color: green;
  grid-area: auto;
}
.elem17 {
  background-color: magenta;
  grid-area: auto;
}
.elem18 {
  background-color: cyan;
  grid-area: auto;
}
.elem19 {
  background-color: magenta;
  grid-area: auto;
}
.elem20 {
  background-color: blue;
  grid-area: auto;
}
<div class="grid">
  <div class="elem elem1">
    elem1
  </div>
  <div class="elem elem2">
    elem2
  </div>
  <div class="elem elem3">
    elem3
  </div>
   <div class="elem elem4">
    elem4
  </div>
  <div class="elem elem5">
    elem5
  </div>
  <div class="elem elem6">
    elem6
  </div>
  <div class="elem elem7">
    elem7
  </div>
  <div class="elem elem8">
    elem8
  </div>
  <div class="elem elem9">
    elem9
  </div>
  <div class="elem elem10">
    elem10
  </div>
  <div class="elem elem11">
    elem11
  </div>
  <div class="elem elem12">
    elem12
  </div>
  <div class="elem elem13">
    elem13
  </div>
  <div class="elem elem14">
    elem14
  </div>
  <div class="elem elem15">
    elem15
  </div>
  <div class="elem elem16">
    elem16
  </div>
  <div class="elem elem17">
    elem17
  </div>
  <div class="elem elem18">
    elem18
  </div>
  <div class="elem elem19">
    elem19
  </div>
  <div class="elem elem20">
    elem20
  </div>
</div>

どうもありがとう

Paulie_D

デフォルトの grid-auto-flow:rowプロパティを利用して、「1行目-右」divにを使用して開始/終了する場所を指示するだけですgrid-column

そうすれば、グリッド領域はまったく必要ありません。

結果:

ここに画像の説明を入力してください

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-flow: row; /*typo corrected*/
}

.elem {
  text-align: center;
  color: white;
}

.elem1 {
  background-color: blue;
}

.elem2 {
  background-color: red;
  grid-column: 12/13;
}

.elem3 {
  background-color: cyan;
}

.elem4 {
  background-color: green;
}

.elem5 {
  background-color: magenta;
}

.elem6 {
  background-color: blue;
}

.elem7 {
  background-color: red;
}

.elem8 {
  background-color: cyan;
}

.elem9 {
  background-color: green;
}

.elem10 {
  background-color: magenta;
}

.elem11 {
  background-color: blue;
}

.elem12 {
  background-color: red;
}

.elem13 {
  background-color: cyan;
}

.elem14 {
  background-color: green;
}

.elem15 {
  background-color: magenta;
}

.elem16 {
  background-color: green;
}

.elem17 {
  background-color: magenta;
}

.elem18 {
  background-color: cyan;
}

.elem19 {
  background-color: magenta;
}

.elem20 {
  background-color: blue;
}
<div class="grid">
  <div class="elem elem1">
    elem1
  </div>
  <div class="elem elem2">
    elem2
  </div>
  <div class="elem elem3">
    elem3
  </div>
  <div class="elem elem4">
    elem4
  </div>
  <div class="elem elem5">
    elem5
  </div>
  <div class="elem elem6">
    elem6
  </div>
  <div class="elem elem7">
    elem7
  </div>
  <div class="elem elem8">
    elem8
  </div>
  <div class="elem elem9">
    elem9
  </div>
  <div class="elem elem10">
    elem10
  </div>
  <div class="elem elem11">
    elem11
  </div>
  <div class="elem elem12">
    elem12
  </div>
  <div class="elem elem13">
    elem13
  </div>
  <div class="elem elem14">
    elem14
  </div>
  <div class="elem elem15">
    elem15
  </div>
  <div class="elem elem16">
    elem16
  </div>
  <div class="elem elem17">
    elem17
  </div>
  <div class="elem elem18">
    elem18
  </div>
  <div class="elem elem19">
    elem19
  </div>
  <div class="elem elem20">
    elem20
  </div>
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

レスポンシブCSSGridとホバーの問題

分類Dev

CSSgrid-template-areas自動列スパンなし

分類Dev

CSSgrid-template-areasアイテムの孫要素を移動します

分類Dev

CSSGridの繰り返し、動的、水平div要素

分類Dev

グリッドテンプレート領域-表示の問題

分類Dev

CSSGRIDを使用して各列4X4の下にテキストを追加する

分類Dev

cssgridを使用している場合、スクロール時にpageYOffsetが機能しません

分類Dev

角度のあるUIグリッドセルテンプレートの問題

分類Dev

cssgrid-template-areasプロパティがグリッドアイテムを整列していません

分類Dev

SASS関数を使用して(nxn)グリッドのグリッド領域テンプレートを動的に構築する方法

分類Dev

テンプレート領域を使用せずにグリッドアイテムを配置する

分類Dev

Kendo UIMvcグリッドタイトルテンプレート

分類Dev

グリッド上の剣道ツールチップテンプレート

分類Dev

フォームを壊すグリッドテンプレート領域

分類Dev

Jquery Mobile - ポップアップ (ヘッダーとコンテンツの任意の領域) をクリックすると、テキストフィールドが自動的にフォーカスされます

分類Dev

AG-グリッドセルテンプレートの値の変更

分類Dev

値のある列の剣道グリッド列テンプレート

分類Dev

AngularUI-グリッドヘッダーセルテンプレート

分類Dev

剣道グリッド:ツールバーテンプレートの問題

分類Dev

動的グリッドビューのアイテムテンプレート/テンプレートフィールドを作成する方法

分類Dev

UIグリッドの並べ替え、テンプレートセルのフィルタリング

分類Dev

グリッドのビジュアルテンプレートを作成する

分類Dev

リーフレットポップアップでのビューまたはハンドルバーテンプレートのレンダリング

分類Dev

グリッド-テンプレート-列のアニメーション

分類Dev

UIグリッドセルテンプレートでアイコンを追加

分類Dev

データグリッド行テンプレートのデータグリッド

分類Dev

同じ幅と高さのHTMLグリッドテンプレート列

分類Dev

JekyllMarkdownでレンダリングリキッドテンプレートをエスケープする

分類Dev

剣道グリッド-動的列とカスタムテンプレート

Related 関連記事

  1. 1

    レスポンシブCSSGridとホバーの問題

  2. 2

    CSSgrid-template-areas自動列スパンなし

  3. 3

    CSSgrid-template-areasアイテムの孫要素を移動します

  4. 4

    CSSGridの繰り返し、動的、水平div要素

  5. 5

    グリッドテンプレート領域-表示の問題

  6. 6

    CSSGRIDを使用して各列4X4の下にテキストを追加する

  7. 7

    cssgridを使用している場合、スクロール時にpageYOffsetが機能しません

  8. 8

    角度のあるUIグリッドセルテンプレートの問題

  9. 9

    cssgrid-template-areasプロパティがグリッドアイテムを整列していません

  10. 10

    SASS関数を使用して(nxn)グリッドのグリッド領域テンプレートを動的に構築する方法

  11. 11

    テンプレート領域を使用せずにグリッドアイテムを配置する

  12. 12

    Kendo UIMvcグリッドタイトルテンプレート

  13. 13

    グリッド上の剣道ツールチップテンプレート

  14. 14

    フォームを壊すグリッドテンプレート領域

  15. 15

    Jquery Mobile - ポップアップ (ヘッダーとコンテンツの任意の領域) をクリックすると、テキストフィールドが自動的にフォーカスされます

  16. 16

    AG-グリッドセルテンプレートの値の変更

  17. 17

    値のある列の剣道グリッド列テンプレート

  18. 18

    AngularUI-グリッドヘッダーセルテンプレート

  19. 19

    剣道グリッド:ツールバーテンプレートの問題

  20. 20

    動的グリッドビューのアイテムテンプレート/テンプレートフィールドを作成する方法

  21. 21

    UIグリッドの並べ替え、テンプレートセルのフィルタリング

  22. 22

    グリッドのビジュアルテンプレートを作成する

  23. 23

    リーフレットポップアップでのビューまたはハンドルバーテンプレートのレンダリング

  24. 24

    グリッド-テンプレート-列のアニメーション

  25. 25

    UIグリッドセルテンプレートでアイコンを追加

  26. 26

    データグリッド行テンプレートのデータグリッド

  27. 27

    同じ幅と高さのHTMLグリッドテンプレート列

  28. 28

    JekyllMarkdownでレンダリングリキッドテンプレートをエスケープする

  29. 29

    剣道グリッド-動的列とカスタムテンプレート

ホットタグ

アーカイブ