teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

段組みレイアウト追加

2018/10/03 08:42

投稿

x_x
x_x

スコア13749

answer CHANGED
@@ -32,4 +32,41 @@
32
32
  <li class="category-B">6</li>
33
33
  <li class="category-B">7</li>
34
34
  </ul>
35
+ ```
36
+
37
+ (17:40追記)
38
+ IEに対応するため段組みレイアウトを追加。逆にFirefoxが未対応なので@supportsにより分岐
39
+
40
+ ```CSS
41
+ .list-fbox {
42
+ columns: 3;
43
+ }
44
+
45
+ .list-fbox > li {
46
+ break-inside: avoid-column;
47
+ }
48
+
49
+ .list-fbox > li.category-B {
50
+ break-before: column;
51
+ }
52
+
53
+ .list-fbox > li.category-B ~ li {
54
+ break-before: auto;
55
+ }
56
+
57
+ @supports (display: grid) {
58
+ .list-fbox {
59
+ display: grid;
60
+ grid-template-rows: repeat(3, 1fr);
61
+ grid-auto-flow: column;
62
+ }
63
+
64
+ .list-fbox > li.category-B {
65
+ grid-row-start: 1;
66
+ }
67
+
68
+ .list-fbox > li.category-B ~ li {
69
+ grid-row-start: auto;
70
+ }
71
+ }
35
72
  ```

1

カテゴリ対応

2018/10/03 08:42

投稿

x_x
x_x

スコア13749

answer CHANGED
@@ -9,4 +9,27 @@
9
9
  .list-fbox > li:nth-child(6) {
10
10
  grid-row-start: 1;
11
11
  }
12
+ ```
13
+
14
+ (16:55追記) カテゴリに分かれるようなので、その場合の想定を追記
15
+ ```CSS
16
+ .list-fbox > li.category-B {
17
+ grid-row-start: 1;
18
+ }
19
+
20
+ .list-fbox > li.category-B ~ li {
21
+ grid-row-start: auto;
22
+ }
23
+ ```
24
+
25
+ ```HTML
26
+ <ul class="list-fbox">
27
+ <li class="category-A">1</li>
28
+ <li class="category-A">2</li>
29
+ <li class="category-A">3</li>
30
+ <li class="category-A">4</li>
31
+ <li class="category-A">5</li>
32
+ <li class="category-B">6</li>
33
+ <li class="category-B">7</li>
34
+ </ul>
12
35
  ```