回答編集履歴

3

修正

2019/10/26 07:38

投稿

s8_chu
s8_chu

スコア14731

test CHANGED
@@ -1,4 +1,4 @@
1
- flex アイテムは、デフォルトでは [`flex-wrap` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/flex-wrap)に `nowrap` が設定されていることで折り返さないようになっています。そのため、まずは Bootstrap によって用意されている [`flex-wrap` クラス](https://getbootstrap.com/docs/4.0/utilities/flex/#wrap)を使用し、 flex アイテムの折り返しを許可します。そして、 flex アイテムのうち `box` クラスが付与されたものに `w-50` クラスを付与しておきます。
1
+ flex アイテムは、デフォルトでは [`flex-wrap` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/flex-wrap)に `nowrap` が設定されていることで折り返さないようになっています。そのため、まずは Bootstrap によって用意されている [`flex-wrap` クラス](https://getbootstrap.com/docs/4.0/utilities/flex/#wrap)を使用し、 flex アイテムの折り返しを許可します。そして、一行の中に `box` クラスが適用された要素を収めるために、 flex アイテムのうち `box` クラスが付与されたものに `w-50` クラスを付与しておきます。
2
2
 
3
3
 
4
4
 
@@ -196,9 +196,7 @@
196
196
 
197
197
 
198
198
 
199
- ただし、 `hr` 要素は段落間における意味的な区切りを表す要素であるため、今回のような `section`
200
-
201
- 要素間での区切りを意味するような使用方法は不適切です。このような場合には、 `after` 擬似要素を使用することが出来ます ([動作確認用リンク](https://jsfiddle.net/41ghdbsq/))。
199
+ ただし、 **`hr` 要素は段落における意味的な区切りを表す**要素あるため、今回ような `section` 要素間での区切りを意味するような使用方法は不適切です。このような場合には、 `after` 擬似要素を使用することが出来ます ([動作確認用リンク](https://jsfiddle.net/41ghdbsq/))。
202
200
 
203
201
 
204
202
 

2

修正

2019/10/26 07:38

投稿

s8_chu
s8_chu

スコア14731

test CHANGED
@@ -1,4 +1,4 @@
1
- flex アイテムは、デフォルトでは [`flex-wrap` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/flex-wrap)に `nowrap` が設定されていることで折り返さないようになっています。そのため、まずは Bootstrap によって用意されている [`flex-wrap` クラス](https://getbootstrap.com/docs/4.0/utilities/flex/#wrap)を使用し、 flex アイテムの折り返しを許可します。
1
+ flex アイテムは、デフォルトでは [`flex-wrap` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/flex-wrap)に `nowrap` が設定されていることで折り返さないようになっています。そのため、まずは Bootstrap によって用意されている [`flex-wrap` クラス](https://getbootstrap.com/docs/4.0/utilities/flex/#wrap)を使用し、 flex アイテムの折り返しを許可します。そして、 flex アイテムのうち `box` クラスが付与されたものに `w-50` クラスを付与しておきます。
2
2
 
3
3
 
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  <section class="d-flex flex-wrap">
8
8
 
9
- <div class="box box-1">
9
+ <div class="box box-1 w-50">
10
10
 
11
11
  <h3>Airbnbでホストするこれだけの理由</h3><br>
12
12
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  </div>
16
16
 
17
- <div class="box box-2">
17
+ <div class="box box-2 w-50">
18
18
 
19
19
  <h3>困ったときも安心</h3><br>
20
20
 
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- 次に、 flex アイテムのうち `box` クラスが付与されたものを一行に収めるためにこれら要素に [`flex` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/flex)を使用して flex コンテナの幅に合わせて伸縮を行うようにします。このために、 `box` クラスに `flex` プロパティを追記します。
33
+ また、 flex アイテム余白は今回場合 [`margin` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/margin)ではなく [`justify-content` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/justify-content)で制御出来るため、これ使用します。
34
34
 
35
35
 
36
36
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  margin-bottom: 6px;
46
46
 
47
- flex: 1; /* 追記 */
47
+ justify-content: space-evenly; /* 追記 */
48
48
 
49
49
  }
50
50
 
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- すると、最終的なコードは以下のようになり、質問者さんの実現したいことが行えます ([動作確認用リンク](https://jsfiddle.net/wu5kyc4z/))。
55
+ すると、最終的なコードは以下のようになり、質問者さんの実現したいことが行えます ([動作確認用リンク](https://jsfiddle.net/udfr4zoj/))。
56
56
 
57
57
  ```HTML
58
58
 
@@ -98,35 +98,17 @@
98
98
 
99
99
  margin-bottom: 6px;
100
100
 
101
- flex: 1; /* 追記 */
101
+ justify-content: space-evenly; /* 追記 */
102
-
102
+
103
- }
103
+ }
104
-
105
-
106
-
107
- .box-1 {
104
+
108
-
109
- margin-left: 4px;
105
+
110
-
111
- }
112
-
113
-
114
-
115
- .box-2 {
116
-
117
- margin-left: 4px;
118
-
119
- margin-right: 4px;
120
-
121
- }
122
106
 
123
107
 
124
108
 
125
109
  .ln {
126
110
 
127
- break-before: always;
111
+ border-top: 3px solid #000;
128
-
129
- color: #a9a9a9;
130
112
 
131
113
  width: 5%;
132
114
 
@@ -164,7 +146,7 @@
164
146
 
165
147
  <section class="d-flex flex-wrap">
166
148
 
167
- <div class="box box-1">
149
+ <div class="box box-1 w-50">
168
150
 
169
151
  <h3>Airbnbでホストするこれだけの理由</h3><br>
170
152
 
@@ -172,7 +154,7 @@
172
154
 
173
155
  </div>
174
156
 
175
- <div class="box box-2">
157
+ <div class="box box-2 w-50">
176
158
 
177
159
  <h3>困ったときも安心</h3><br>
178
160
 
@@ -202,4 +184,180 @@
202
184
 
203
185
  </html>
204
186
 
187
+
188
+
205
- ```
189
+ ```
190
+
191
+
192
+
193
+
194
+
195
+ ---
196
+
197
+
198
+
199
+ ただし、 `hr` 要素は段落間における意味的な区切りを表す要素であるため、今回のような `section`
200
+
201
+ 要素間での区切りを意味するような使用方法は不適切です。このような場合には、 `after` 擬似要素を使用することが出来ます ([動作確認用リンク](https://jsfiddle.net/41ghdbsq/))。
202
+
203
+
204
+
205
+ > ##### [§ 4.4.2 The hr element](https://html.spec.whatwg.org/multipage/grouping-content.html#the-hr-element)
206
+
207
+ > The `hr` element represents a paragraph-level thematic break, e.g. a scene change in a story, or a transition to another topic within a section of a reference book.
208
+
209
+
210
+
211
+ ```CSS
212
+
213
+ .ln::after {
214
+
215
+ content: "";
216
+
217
+ margin: 0 auto;
218
+
219
+ border-top: 3px solid #000;
220
+
221
+ width: 5%;
222
+
223
+ }
224
+
225
+ ```
226
+
227
+
228
+
229
+ ```HTML
230
+
231
+ <!doctype html>
232
+
233
+ <html lang="ja">
234
+
235
+
236
+
237
+ <head>
238
+
239
+ <!-- Required meta tags -->
240
+
241
+ <meta charset="utf-8">
242
+
243
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
244
+
245
+
246
+
247
+ <!-- Bootstrap CSS -->
248
+
249
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="" crossorigin="anonymous">
250
+
251
+
252
+
253
+ <style type="text/css">
254
+
255
+ .jumbotron {
256
+
257
+ background: url(airbnb/airbnb4.png) center no-repeat;
258
+
259
+ background-size: cover;
260
+
261
+ }
262
+
263
+
264
+
265
+ .box {
266
+
267
+ text-justify: auto;
268
+
269
+ margin-top: 2px;
270
+
271
+ margin-bottom: 6px;
272
+
273
+ justify-content: space-evenly;
274
+
275
+
276
+
277
+ }
278
+
279
+
280
+
281
+
282
+
283
+ .ln::after { /* 追記 */
284
+
285
+ content: "";
286
+
287
+ margin: 0 auto;
288
+
289
+ border-top: 3px solid #000;
290
+
291
+ width: 5%;
292
+
293
+ }
294
+
295
+
296
+
297
+ </style>
298
+
299
+
300
+
301
+ <title>Airbnbでお家、アパート、お部屋をシェアしよう</title>
302
+
303
+ </head>
304
+
305
+
306
+
307
+ <body>
308
+
309
+ <header>
310
+
311
+ <div></div>
312
+
313
+ </header>
314
+
315
+ <main>
316
+
317
+ <section class="jumbotron rounded-0">
318
+
319
+ <div class="container"></div>
320
+
321
+ </section>
322
+
323
+
324
+
325
+ <section class="d-flex flex-wrap ln">
326
+
327
+ <div class="box box-1 w-50">
328
+
329
+ <h3>Airbnbでホストするこれだけの理由</h3><br>
330
+
331
+ <p>どんなお家やお部屋でも、Airbnbなら簡単かつ安全にシェアでき、世界中の旅好きな仲間とつながれます。 予約可能日から料金、ハウスルール、ゲストとの交流程度まで、すべて自分で決めることができます。</p>
332
+
333
+ </div>
334
+
335
+ <div class="box box-2 w-50">
336
+
337
+ <h3>困ったときも安心</h3><br>
338
+
339
+ <p>万一に備えるUS$1,000,000の財物補償、US$1,000,000の賠償責任保険が全予約に自動付帯。ホストのみなさまと建物・家財の安全をお守りするため全力で取り組んでいます。</p>
340
+
341
+ </div>
342
+
343
+ </section>
344
+
345
+ </main>
346
+
347
+ <!-- Optional JavaScript -->
348
+
349
+ <!-- jQuery first, then Popper.js, then Bootstrap JS -->
350
+
351
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="" crossorigin="anonymous"></script>
352
+
353
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="" crossorigin="anonymous"></script>
354
+
355
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="" crossorigin="anonymous"></script>
356
+
357
+ </body>
358
+
359
+
360
+
361
+ </html>
362
+
363
+ ```

1

修正

2019/10/26 07:36

投稿

s8_chu
s8_chu

スコア14731

test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
+ ```HTML
6
+
5
- ```HTML<section class="d-flex flex-wrap">
7
+ <section class="d-flex flex-wrap">
6
8
 
7
9
  <div class="box box-1">
8
10
 
@@ -23,3 +25,181 @@
23
25
  <hr class="ln">
24
26
 
25
27
  </section>
28
+
29
+ ```
30
+
31
+
32
+
33
+ 次に、 flex アイテムのうち `box` クラスが付与されたものを一行に収めるために、これらの要素に [`flex` プロパティ](https://developer.mozilla.org/ja/docs/Web/CSS/flex)を使用して flex コンテナの幅に合わせて伸縮を行うようにします。このために、 `box` クラスに `flex` プロパティを追記します。
34
+
35
+
36
+
37
+ ```CSS
38
+
39
+ .box {
40
+
41
+ text-justify: auto;
42
+
43
+ margin-top: 2px;
44
+
45
+ margin-bottom: 6px;
46
+
47
+ flex: 1; /* 追記 */
48
+
49
+ }
50
+
51
+ ```
52
+
53
+
54
+
55
+ すると、最終的なコードは以下のようになり、質問者さんの実現したいことが行えます ([動作確認用リンク](https://jsfiddle.net/wu5kyc4z/))。
56
+
57
+ ```HTML
58
+
59
+ <!doctype html>
60
+
61
+ <html lang="ja">
62
+
63
+
64
+
65
+ <head>
66
+
67
+ <!-- Required meta tags -->
68
+
69
+ <meta charset="utf-8">
70
+
71
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
72
+
73
+
74
+
75
+ <!-- Bootstrap CSS -->
76
+
77
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="" crossorigin="anonymous">
78
+
79
+
80
+
81
+ <style type="text/css">
82
+
83
+ .jumbotron {
84
+
85
+ background: url(airbnb/airbnb4.png) center no-repeat;
86
+
87
+ background-size: cover;
88
+
89
+ }
90
+
91
+
92
+
93
+ .box {
94
+
95
+ text-justify: auto;
96
+
97
+ margin-top: 2px;
98
+
99
+ margin-bottom: 6px;
100
+
101
+ flex: 1; /* 追記 */
102
+
103
+ }
104
+
105
+
106
+
107
+ .box-1 {
108
+
109
+ margin-left: 4px;
110
+
111
+ }
112
+
113
+
114
+
115
+ .box-2 {
116
+
117
+ margin-left: 4px;
118
+
119
+ margin-right: 4px;
120
+
121
+ }
122
+
123
+
124
+
125
+ .ln {
126
+
127
+ break-before: always;
128
+
129
+ color: #a9a9a9;
130
+
131
+ width: 5%;
132
+
133
+ }
134
+
135
+
136
+
137
+ </style>
138
+
139
+
140
+
141
+ <title>Airbnbでお家、アパート、お部屋をシェアしよう</title>
142
+
143
+ </head>
144
+
145
+
146
+
147
+ <body>
148
+
149
+ <header>
150
+
151
+ <div></div>
152
+
153
+ </header>
154
+
155
+ <main>
156
+
157
+ <section class="jumbotron rounded-0">
158
+
159
+ <div class="container"></div>
160
+
161
+ </section>
162
+
163
+
164
+
165
+ <section class="d-flex flex-wrap">
166
+
167
+ <div class="box box-1">
168
+
169
+ <h3>Airbnbでホストするこれだけの理由</h3><br>
170
+
171
+ <p>どんなお家やお部屋でも、Airbnbなら簡単かつ安全にシェアでき、世界中の旅好きな仲間とつながれます。 予約可能日から料金、ハウスルール、ゲストとの交流程度まで、すべて自分で決めることができます。</p>
172
+
173
+ </div>
174
+
175
+ <div class="box box-2">
176
+
177
+ <h3>困ったときも安心</h3><br>
178
+
179
+ <p>万一に備えるUS$1,000,000の財物補償、US$1,000,000の賠償責任保険が全予約に自動付帯。ホストのみなさまと建物・家財の安全をお守りするため全力で取り組んでいます。</p>
180
+
181
+ </div>
182
+
183
+ <hr class="ln">
184
+
185
+ </section>
186
+
187
+ </main>
188
+
189
+ <!-- Optional JavaScript -->
190
+
191
+ <!-- jQuery first, then Popper.js, then Bootstrap JS -->
192
+
193
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="" crossorigin="anonymous"></script>
194
+
195
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="" crossorigin="anonymous"></script>
196
+
197
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="" crossorigin="anonymous"></script>
198
+
199
+ </body>
200
+
201
+
202
+
203
+ </html>
204
+
205
+ ```