回答編集履歴

3

コード追加

2019/12/20 13:06

投稿

hatena19
hatena19

スコア34073

test CHANGED
@@ -36,6 +36,8 @@
36
36
 
37
37
 
38
38
 
39
+ ---
40
+
39
41
  CSS Grid を使ったコード例
40
42
 
41
43
  ```css
@@ -161,3 +163,89 @@
161
163
 
162
164
 
163
165
  [動作確認用サンプル](https://codepen.io/hatena19/pen/gObmKPg)
166
+
167
+
168
+
169
+ ---
170
+
171
+ CSS Flexbox を使って書いてみました。
172
+
173
+
174
+
175
+ ```css
176
+
177
+ #d_list2 dt, #d_list2 dd {
178
+
179
+ text-align: center;
180
+
181
+ margin: 0;
182
+
183
+ }
184
+
185
+ #d_list2 dt {
186
+
187
+ background: #ff0000;
188
+
189
+ color: #fff;
190
+
191
+ display: flex;
192
+
193
+ align-items: center;
194
+
195
+ justify-content: center;
196
+
197
+ }
198
+
199
+ #d_list2 {
200
+
201
+ display: flex;
202
+
203
+ flex-wrap: wrap;
204
+
205
+ justify-content: space-between ;
206
+
207
+ }
208
+
209
+ #d_list2 dt, #d_list2 dd{
210
+
211
+ width: 24%;
212
+
213
+ }
214
+
215
+ #d_list2 dd {
216
+
217
+ order: 1;
218
+
219
+ }
220
+
221
+ @media screen and (max-width:600px) {
222
+
223
+ #d_list2 dt, #d_list2 dd{
224
+
225
+ width: 48%;
226
+
227
+ }
228
+
229
+ #d_list2 dt:nth-of-type(n+3) {
230
+
231
+ order: 1;
232
+
233
+ }
234
+
235
+ #d_list2 dd:nth-of-type(n+3) {
236
+
237
+ order: 2;
238
+
239
+ }
240
+
241
+ }
242
+
243
+ ```
244
+
245
+ [動作確認用サンプル](https://codepen.io/hatena19/pen/poveKQY)
246
+
247
+
248
+
249
+ Flexbox の方が短いコードになりました。
250
+
251
+ ただ、gridの方が直感的に分かり安いように思いました。

2

コード追加

2019/12/20 13:06

投稿

hatena19
hatena19

スコア34073

test CHANGED
@@ -10,28 +10,154 @@
10
10
 
11
11
  ```html
12
12
 
13
- <dl class="d_list">
13
+ <dl id="d_list">
14
14
 
15
- <dt class="d_title">タイトル</dt>
15
+ <dt>タイトル1</dt>
16
16
 
17
- <dd class="d_content">内容</dd>
17
+ <dd>内容1</dd>
18
18
 
19
- <dt class="d_title">タイトル</dt>
19
+ <dt>とても長い長いタイトル2</dt>
20
20
 
21
- <dd class="d_content">内容</dd>
21
+ <dd>内容2</dd>
22
22
 
23
- <dt class="d_title">タイトル</dt>
23
+ <dt>タイトル3</dt>
24
24
 
25
- <dd class="d_content">内容</dd>
25
+ <dd>内容3</dd>
26
26
 
27
- <dt class="d_title">タイトル</dt>
27
+ <dt>タイトル4</dt>
28
28
 
29
- <dd class="d_content">内容</dd>
29
+ <dd>内容4</dd>
30
30
 
31
31
  </dl>
32
32
 
33
33
  ```
34
34
 
35
+ [HTMLの説明リストタグ【dl・dt・dd】の使い方を徹底解説 | webliker](https://webliker.info/13381/)
35
36
 
36
37
 
38
+
39
+ CSS Grid を使ったコード例
40
+
41
+ ```css
42
+
43
+ #d_list dt, #d_list dd {
44
+
45
+ text-align: center;
46
+
47
+ margin: 0;
48
+
49
+ }
50
+
51
+ #d_list dt {
52
+
53
+ background: #ff0000;
54
+
55
+ color: #fff;
56
+
57
+ display: flex;
58
+
59
+ align-items: center;
60
+
61
+ justify-content: center;
62
+
63
+ }
64
+
65
+
66
+
67
+ #d_list {
68
+
69
+ display: grid;
70
+
71
+ grid-gap: 5px;
72
+
73
+ grid-template-columns: 25% 25% 25% 25%;
74
+
75
+ grid-template-rows: auto auto;
76
+
77
+ grid-template-areas:
78
+
79
+ "t1 t2 t3 t4"
80
+
81
+ "d1 d2 d3 d4";
82
+
83
+ }
84
+
85
+
86
+
87
+ #d_list dt:nth-of-type(1) {
88
+
89
+ grid-area: t1;
90
+
91
+ }
92
+
93
+ #d_list dt:nth-of-type(2) {
94
+
95
+ grid-area: t2;
96
+
97
+ }
98
+
99
+ #d_list dt:nth-of-type(3) {
100
+
101
+ grid-area: t3;
102
+
103
+ }
104
+
105
+ #d_list dt:nth-of-type(4) {
106
+
107
+ grid-area: t4;
108
+
109
+ }
110
+
111
+ #d_list dd:nth-of-type(1) {
112
+
113
+ grid-area: d1;
114
+
115
+ }
116
+
117
+ #d_list dd:nth-of-type(2) {
118
+
119
+ grid-area: d2;
120
+
121
+ }
122
+
123
+ #d_list dd:nth-of-type(3) {
124
+
125
+ grid-area: d3;
126
+
127
+ }
128
+
129
+ #d_list dd:nth-of-type(4) {
130
+
131
+ grid-area: d4;
132
+
133
+ }
134
+
135
+
136
+
137
+ @media screen and (max-width:600px) {
138
+
139
+ #d_list {
140
+
141
+ grid-template-columns: 50% 50%;
142
+
143
+ grid-template-rows: auto auto auto auto;
144
+
145
+ grid-template-areas:
146
+
147
+ "t1 t2"
148
+
149
+ "d1 d2"
150
+
151
+ "t3 t4"
152
+
153
+ "d3 d4";
154
+
155
+ }
156
+
157
+ }
158
+
159
+ ```
160
+
161
+
162
+
37
- [HTMLの説明リストタグ【dl・dt・dd】の使い方を徹底解説 | webliker](https://webliker.info/13381/)
163
+ [動作確認用サンプル](https://codepen.io/hatena19/pen/gObmKPg)

1

説明追加

2019/12/20 12:23

投稿

hatena19
hatena19

スコア34073

test CHANGED
@@ -1 +1,37 @@
1
1
  tableは使わずに、CSS Flexbox か CSS Grid を使うことを検討されるといいと思います。
2
+
3
+
4
+
5
+ あと、内容的には、タイトルと内容でセットになると思いますので、HTMLをそれに合わせた設計にすべきですね。
6
+
7
+ 例えば、dl dt dd を使って、
8
+
9
+
10
+
11
+ ```html
12
+
13
+ <dl class="d_list">
14
+
15
+ <dt class="d_title">タイトル</dt>
16
+
17
+ <dd class="d_content">内容</dd>
18
+
19
+ <dt class="d_title">タイトル</dt>
20
+
21
+ <dd class="d_content">内容</dd>
22
+
23
+ <dt class="d_title">タイトル</dt>
24
+
25
+ <dd class="d_content">内容</dd>
26
+
27
+ <dt class="d_title">タイトル</dt>
28
+
29
+ <dd class="d_content">内容</dd>
30
+
31
+ </dl>
32
+
33
+ ```
34
+
35
+
36
+
37
+ [HTMLの説明リストタグ【dl・dt・dd】の使い方を徹底解説 | webliker](https://webliker.info/13381/)