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

回答編集履歴

10

修正

2018/12/15 20:12

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  ## 原因
2
- この問題の主な原因は、**flex アイテムの配置方法**(`align-items`プロパティ)です。flex アイテムに設定される`min-width`プロパティの初期値とは関係がありません。
2
+ この問題の主な原因は、**flex アイテムの配置方法** (`align-items`プロパティ) です。flex アイテムに設定される`min-width`プロパティの初期値とは関係がありません。
3
3
 
4
- `align-items`プロパティを指定しない状態では、 flex アイテムの幅が flex コンテナの幅に合う(`width: 100%`みたいな感じ)ように動作します。そのため、 flex アイテムの子要素である長い URL にも、うまく折り返しが行われます([見本](https://codepen.io/anon/pen/jQeNWY))。
4
+ `align-items`プロパティを指定しない状態では、 flex アイテムの幅が flex コンテナの幅に合う (`width: 100%`みたいな感じ) ように動作します。そのため、 flex アイテムの子要素である長い URL にも、うまく折り返しが行われます ([見本](https://codepen.io/anon/pen/jQeNWY))
5
5
 
6
6
  ```HTML
7
7
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  ```
25
25
 
26
- しかし、初期値以外の値を指定すると、 **flex アイテムの幅はアイテム内のコンテンツの幅となり**、整列されます。そのため、`overflow-wrap`プロパティは折り返しをすることなく、長い URL は flex コンテナからはみ出します([見本](https://codepen.io/anon/pen/Xyxrdo))。対して、`word-break`プロパティは flex コンテナからはみ出そうになると、強制的に改行するので、質問文のような現象が起こります(たぶん)。
26
+ しかし、初期値以外の値を指定すると、 **flex アイテムの幅はアイテム内のコンテンツの幅となり**、整列されます。そのため、`overflow-wrap`プロパティは折り返しをすることなく、長い URL は flex コンテナからはみ出します ([見本](https://codepen.io/anon/pen/Xyxrdo)) 。対して、`word-break`プロパティは flex コンテナからはみ出そうになると、強制的に改行するので、質問文のような現象が起こります (たぶん)
27
27
 
28
28
  ```CSS
29
29
  .box1 {
@@ -42,7 +42,7 @@
42
42
 
43
43
  `width`, `max-width`プロパティを指定し、 flex アイテムに`align-items: stretch`と同じ役割を設定することで、`overflow-wrap`プロパティは折り返しを行うようになります。
44
44
 
45
- 上記のことから、質問文のコードを修正すると、[このように](https://codepen.io/anon/pen/PxdMVN)なります(コードが長かったので CodePen に上げました)。
45
+ 上記のことから、質問文のコードを修正すると、[このように](https://codepen.io/anon/pen/PxdMVN)なります (コードが長かったので CodePen に上げました)
46
46
 
47
47
 
48
48
  ---
@@ -55,13 +55,13 @@
55
55
  `flex-direction: row;`と、`flex-direction: column`, `align-items: start`を設定したときの2つの場合で、なぜ長い単語がはみ出るのかを以下に追記します。
56
56
 
57
57
  ### `flex-direction: row;`の場合
58
- `min-width`プロパティの値が flex アイテムの内容(折り返しを考慮しない時の単語の長さ)そのものになり、これが`flex-basis`プロパティの値よりも優先して適用されるため、はみ出します。
58
+ `min-width`プロパティの値が flex アイテムの内容 (折り返しを考慮しない時の単語の長さ) になり、これが`flex-basis`プロパティの値よりも優先して適用されるため、はみ出します。
59
59
 
60
60
  このとき、`min-width: 0;`を設定すると、最小横幅の制約がなくなり、`flex-basis`プロパティの初期値が適用されます。その結果、 flex アイテムは flex コンテナの幅に合わせて伸縮するようになります。
61
61
 
62
62
  ### `flex-direction: column`, `align-items: start`の場合
63
- flexbox 特有の最小幅による制約は、**主軸に**かかります。今回考えている横幅方向は**交叉軸**のため、`min-width: auto;`の値は、 flexbox 特有のものとは別の算出値(たぶん`0`)となります。そのため、**`min-width`プロパティは、はみ出してしまう問題と無関係**だとわかります。
63
+ flexbox 特有の最小幅による制約は、**主軸に**かかります。今回考えている横幅方向は**交叉軸**のため、`min-width: auto;`の値は、 flexbox 特有のものとは別の算出値 (たぶん`0`) となります。そのため、**`min-width`プロパティは、はみ出してしまう問題と無関係**だとわかります。
64
64
 
65
- 交叉軸における幅は、 flex アイテムの内容により決まります。 (恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。) そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。ここで、もしも`align-items: stretch;`を設定していれば、 flex アイテムの幅は flex コンテナと同じ幅になるため、長い単語がはみ出すことはありません。
65
+ 交叉軸における幅は、** flex アイテムの内容により決まります**。 (恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。) そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。 (ここで、もしも`align-items: stretch;`を設定していれば、** flex アイテムの交叉軸における幅は flex コンテナと同じ幅になる**ため、長い単語がはみ出すことはありません。)
66
66
 
67
67
  このとき、`width`, `max-width`プロパティを使い、設定された横幅を上書きするか、 flex コンテナ以下の最大横幅値を設定することで、 flex アイテムが flex コンテナからはみ出さなくなります。

9

追記

2018/12/15 20:12

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -62,6 +62,6 @@
62
62
  ### `flex-direction: column`, `align-items: start`の場合
63
63
  flexbox 特有の最小幅による制約は、**主軸に**かかります。今回考えている横幅方向は**交叉軸**のため、`min-width: auto;`の値は、 flexbox 特有のものとは別の算出値(たぶん`0`)となります。そのため、**`min-width`プロパティは、はみ出してしまう問題と無関係**だとわかります。
64
64
 
65
- 交叉軸における幅は、 flex アイテムの内容により決まります。 (恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。) そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。
65
+ 交叉軸における幅は、 flex アイテムの内容により決まります。 (恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。) そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。ここで、もしも`align-items: stretch;`を設定していれば、 flex アイテムの幅は flex コンテナと同じ幅になるため、長い単語がはみ出すことはありません。
66
66
 
67
67
  このとき、`width`, `max-width`プロパティを使い、設定された横幅を上書きするか、 flex コンテナ以下の最大横幅値を設定することで、 flex アイテムが flex コンテナからはみ出さなくなります。

8

修正

2018/12/15 19:43

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -51,7 +51,8 @@
51
51
 
52
52
  > 横方向 Flex で `min-width: 0;` が効くのに 縦方向 Flex で `min-width: 0;` が効かない点だけイマイチしっくりこない
53
53
 
54
- 「縦方向 Flex 」で単語がはみ出す原因に、**`min-width`プロパティは一切関係がありません**。
54
+ 回答文の最初のほうにも書いたとおり、「縦方向 Flex」で単語がはみ出す原因に、**`min-width`プロパティは一切関係がありません**。
55
+ `flex-direction: row;`と、`flex-direction: column`, `align-items: start`を設定したときの2つの場合で、なぜ長い単語がはみ出るのかを以下に追記します。
55
56
 
56
57
  ### `flex-direction: row;`の場合
57
58
  `min-width`プロパティの値が flex アイテムの内容(折り返しを考慮しない時の単語の長さ)そのものになり、これが`flex-basis`プロパティの値よりも優先して適用されるため、はみ出します。
@@ -59,8 +60,8 @@
59
60
  このとき、`min-width: 0;`を設定すると、最小横幅の制約がなくなり、`flex-basis`プロパティの初期値が適用されます。その結果、 flex アイテムは flex コンテナの幅に合わせて伸縮するようになります。
60
61
 
61
62
  ### `flex-direction: column`, `align-items: start`の場合
62
- 最小幅による制約は**主軸に**かかります。今回考えている横幅方向は**交叉軸**のため、`min-width: auto;`の値は、 flexbox 特有のものとは別の算出値(たぶん`0`)が用いられます。そのため、**`min-width`プロパティは、はみ出してしまう問題と無関係**だとわかります。
63
+ flexbox 特有の最小幅による制約は**主軸に**かかります。今回考えている横幅方向は**交叉軸**のため、`min-width: auto;`の値は、 flexbox 特有のものとは別の算出値(たぶん`0`)となります。そのため、**`min-width`プロパティは、はみ出してしまう問題と無関係**だとわかります。
63
64
 
64
- 交叉軸における幅は、 flex アイテムの内容により決まります。恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。
65
+ 交叉軸における幅は、 flex アイテムの内容により決まります。 (恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。) そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。
65
66
 
66
- このとき、`width`, `max-width`プロパティを使い、設定された横幅を上書きするか、 flex コンテナより小さい横幅最大値を設定することで、 flex アイテムが flex コンテナからはみ出さなくなります。
67
+ このとき、`width`, `max-width`プロパティを使い、設定された横幅を上書きするか、 flex コンテナ以下の最大横幅値を設定することで、 flex アイテムが flex コンテナからはみ出さなくなります。

7

追記

2018/12/15 19:10

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -42,4 +42,25 @@
42
42
 
43
43
  `width`, `max-width`プロパティを指定し、 flex アイテムに`align-items: stretch`と同じ役割を設定することで、`overflow-wrap`プロパティは折り返しを行うようになります。
44
44
 
45
- 上記のことから、質問文のコードを修正すると、[このように](https://codepen.io/anon/pen/PxdMVN)なります(コードが長かったので CodePen に上げました)。
45
+ 上記のことから、質問文のコードを修正すると、[このように](https://codepen.io/anon/pen/PxdMVN)なります(コードが長かったので CodePen に上げました)。
46
+
47
+
48
+ ---
49
+
50
+ ## コメントへの返信
51
+
52
+ > 横方向 Flex で `min-width: 0;` が効くのに 縦方向 Flex で `min-width: 0;` が効かない点だけイマイチしっくりこない
53
+
54
+ 「縦方向 Flex 」で単語がはみ出す原因に、**`min-width`プロパティは一切関係がありません**。
55
+
56
+ ### `flex-direction: row;`の場合
57
+ `min-width`プロパティの値が flex アイテムの内容(折り返しを考慮しない時の単語の長さ)そのものになり、これが`flex-basis`プロパティの値よりも優先して適用されるため、はみ出します。
58
+
59
+ このとき、`min-width: 0;`を設定すると、最小横幅の制約がなくなり、`flex-basis`プロパティの初期値が適用されます。その結果、 flex アイテムは flex コンテナの幅に合わせて伸縮するようになります。
60
+
61
+ ### `flex-direction: column`, `align-items: start`の場合
62
+ 最小幅による制約は**主軸に**かかります。今回考えている横幅方向は**交叉軸**のため、`min-width: auto;`の値は、 flexbox 特有のものとは別の算出値(たぶん`0`)が用いられます。そのため、**`min-width`プロパティは、はみ出してしまう問題と無関係**だとわかります。
63
+
64
+ 交叉軸における幅は、 flex アイテムの内容により決まります。恐らく、このときに`word-wrap`プロパティによる単語の折り返しが、考慮されていません。そのため、交叉軸における幅(今回は`width`プロパティの値)は、折り返しを考慮しない時の単語の長さとなり、 flex コンテナをはみ出します。
65
+
66
+ このとき、`width`, `max-width`プロパティを使い、設定された横幅を上書きするか、 flex コンテナより小さい横幅最大値を設定することで、 flex アイテムが flex コンテナからはみ出さなくなります。

6

修正

2018/12/15 18:43

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -30,8 +30,7 @@
30
30
  display: flex;
31
31
  flex-direction: column;
32
32
  border: 3px solid yellow;
33
- align-items: start;
34
- /* 初期値から変更。 */
33
+ align-items: start; /* 初期値から変更。 */
35
34
  }
36
35
  .box1 .box2 {
37
36
  border: 3px solid green;

5

追記

2018/11/28 12:20

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,10 +1,44 @@
1
1
  ## 原因
2
2
  この問題の主な原因は、**flex アイテムの配置方法**(`align-items`プロパティ)です。flex アイテムに設定される`min-width`プロパティの初期値とは関係がありません。
3
3
 
4
- `align-items`プロパティを指定しない状態では、 flex アイテムの幅が flex コンテナの幅に合う(`width: 100%`みたいな感じ)ように動作します。そのため、 flex アイテムの子要素である長い URL にも、うまく折り返しが行われます。
4
+ `align-items`プロパティを指定しない状態では、 flex アイテムの幅が flex コンテナの幅に合う(`width: 100%`みたいな感じ)ように動作します。そのため、 flex アイテムの子要素である長い URL にも、うまく折り返しが行われます([見本](https://codepen.io/anon/pen/jQeNWY))
5
5
 
6
- しかし、初期値以外の値を指定すると、 **flex アイテムの幅はアイテム内のコンテンツの幅となり**、整列されます。そのため、`overflow-wrap`プロパティは折り返しをすることなく、長い URL は flex コンテナからはみ出します。
6
+ ```HTML
7
7
 
8
+ <div class="box1">
9
+ <div class="box2">texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext</div>
10
+ </div>
11
+ ```
12
+ ```CSS
13
+ .box1 {
14
+ display: flex;
15
+ flex-direction: column;
16
+ border: 3px solid yellow;
17
+ align-items: stretch; /* 初期値なので指定しなくても良い。 */
18
+ }
19
+ .box1 .box2 {
20
+ border: 3px solid green;
21
+ overflow-wrap: break-word;
22
+ }
23
+
24
+ ```
25
+
26
+ しかし、初期値以外の値を指定すると、 **flex アイテムの幅はアイテム内のコンテンツの幅となり**、整列されます。そのため、`overflow-wrap`プロパティは折り返しをすることなく、長い URL は flex コンテナからはみ出します([見本](https://codepen.io/anon/pen/Xyxrdo))。対して、`word-break`プロパティは flex コンテナからはみ出そうになると、強制的に改行するので、質問文のような現象が起こります(たぶん)。
27
+
28
+ ```CSS
29
+ .box1 {
30
+ display: flex;
31
+ flex-direction: column;
32
+ border: 3px solid yellow;
33
+ align-items: start;
34
+ /* 初期値から変更。 */
35
+ }
36
+ .box1 .box2 {
37
+ border: 3px solid green;
38
+ overflow-wrap: break-word;
39
+ }
40
+ ```
41
+
8
42
  ## 解決策
9
43
 
10
44
  `width`, `max-width`プロパティを指定し、 flex アイテムに`align-items: stretch`と同じ役割を設定することで、`overflow-wrap`プロパティは折り返しを行うようになります。

4

編集

2018/11/28 12:19

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,53 +1,12 @@
1
+ ## 原因
1
- [再現した](https://codepen.io/anon/pen/pQKVgp)、回答しま
2
+ この問題の主な原因は、**flex アイテムの配置方法**(`align-items`プロパティ)です。flex アイテムに設定される`min-width`プロパティの初期値とは関係がありません。
2
3
 
3
- > 非標準解決策見える可能であれば標準的な解決策が知りたす。
4
+ `align-items`プロパティを指定しない状態では、 flex アイテムの幅が flex コンテナの幅に合う(`width: 100%`みたい感じ)よう動作します。そため flex アイテムの子要素である長 URL にも、うまく折り返しが行われます。
4
5
 
5
- ここで標準が「非標準のプロパティ使わないこ」であれば以下手順ように`min-width`プロパ、`max-width`プロパティを使うと、非標準のプロパティに頼らず折り返しができると思います。行った変更では、子要素の幅を固定したりしていいのでおそく要素が柔軟に伸び縮みしてくれます。
6
+ しかし、初期値以外指定すると、 **flex アイテム幅はアイテム内コンンツの幅となり**整列されます。そのため、`overflow-wrap`プロパティ折り返しをすとな長い URL は flex コンテナかします。
6
- 0. `.iMCKzi`から`word-break`プロパティを外す。
7
- 0. `.bwOsYo`に`min-width: 0`を設定する。
8
- 0. `.gspcJG`に`max-width: 100%`を設定する。
9
7
 
8
+ ## 解決策
10
9
 
11
- >れは何故でしか?
10
+ `width`, `max-width`プロパティを指定し、 flex アイテムに`align-items: stretch`と同じ役割を設定する、`overflow-wrap`プロパティは折り返を行ようになります。
12
11
 
13
- 以下の HTML, CSS を基に考えます。
14
-
15
- まず、`align-items`プロパティの初期値は`stretch`です。
16
- ため flex アイテム は、 flex コンテナ横幅いっぱいに広がりま([動作確認用リンク](https://codepen.io/anon/pen/XyYyyZ))。
12
+ 上記ことから質問文コードを修正ると、[このように](https://codepen.io/anon/pen/PxdMVN)なります(コードが長かったので CodePen に上げました)。
17
- ```pug
18
- div.box1
19
- div.box2
20
- div.url http://example.com/veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryloooooooooooooooooooooooooooooooooooooongurl
21
- ```
22
- ```scss
23
- .box1 {
24
- display: flex;
25
- flex-direction: column;
26
-
27
- .url {
28
- overflow-wrap: break-word;
29
- word-wrap: break-word;
30
- }
31
- }
32
- ```
33
-
34
- ここで、下記コードのように、`.box1`の`align-items`プロパティに`flex-start`を指定したとしましょう。
35
- すると、 flex アイテム は flex コンテナの横幅いっぱいに広がらず、始点側の端に寄るだけになります。つまり、 flex コンテナより flex アイテムの横幅の方が大きい場合、 flex アイテムは flex コンテナからはみ出します([動作確認用リンク](https://codepen.io/anon/pen/aQKQQK))。
36
-
37
- ```scss
38
- .box1 {
39
- display: flex;
40
- flex-direction: column;
41
- align-items: flex-start;
42
-
43
- .url {
44
- overflow-wrap: break-word;
45
- word-wrap: break-word;
46
- }
47
- }
48
- ```
49
-
50
- そんなわけで、 長いテキストがはみ出してしまったのではないかと思います。
51
- `word-break`プロパティでのみ改行が正常に行えたのは、横幅が要素の内容によって変化する場合の折り返しにも`word-break`プロパティが対応していたからだと思います。`overflow-wrap`プロパティは、横幅を決めなければ折り返しを行いません。
52
-
53
- ここまで来れば、`max-width`, `width`プロパティなどを使い横幅を強制することで、今回の問題が解決するとわかります([動作確認用リンク](https://codepen.io/anon/pen/LXrXaM))。

3

修正

2018/11/28 07:43

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,4 +1,4 @@
1
- [再現した](https://codepen.io/anon/pen/pQKVgp)ので、回答します。
1
+ [再現した](https://codepen.io/anon/pen/pQKVgp)ので、回答します
2
2
 
3
3
  > 非標準な解決策に見えるので、可能であれば標準的な解決策が知りたいです。
4
4
 

2

修正、追記

2018/11/28 07:25

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -48,5 +48,6 @@
48
48
  ```
49
49
 
50
50
  そんなわけで、 長いテキストがはみ出してしまったのではないかと思います。
51
+ `word-break`プロパティでのみ改行が正常に行えたのは、横幅が要素の内容によって変化する場合の折り返しにも`word-break`プロパティが対応していたからだと思います。`overflow-wrap`プロパティは、横幅を決めなければ折り返しを行いません。
51
52
 
52
53
  ここまで来れば、`max-width`, `width`プロパティなどを使い横幅を強制することで、今回の問題が解決するとわかります([動作確認用リンク](https://codepen.io/anon/pen/LXrXaM))。

1

修正

2018/11/26 11:04

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 非標準な解決策に見えるので、可能であれば標準的な解決策が知りたいです。
4
4
 
5
- ここでの標準が「非標準プロパティを使わないこと」であれば、以下の手順のように`min-width`プロパティ、`max-width`プロパティを使うと、非標準のプロパティに頼らず折り返しができると思います。一連の変更では、子要素の幅を固定したりしていないので、おそらく要素が柔軟に伸び縮みしてくれます。
5
+ ここでの標準が「非標準プロパティを使わないこと」であれば、以下の手順のように`min-width`プロパティ、`max-width`プロパティを使うと、非標準のプロパティに頼らず折り返しができると思います。行った変更では、子要素の幅を固定したりしていないので、おそらく要素が柔軟に伸び縮みしてくれます。
6
6
  0. `.iMCKzi`から`word-break`プロパティを外す。
7
7
  0. `.bwOsYo`に`min-width: 0`を設定する。
8
8
  0. `.gspcJG`に`max-width: 100%`を設定する。
@@ -11,6 +11,7 @@
11
11
  > これは何故でしょうか?
12
12
 
13
13
  以下の HTML, CSS を基に考えます。
14
+
14
15
  まず、`align-items`プロパティの初期値は`stretch`です。
15
16
  そのため、 flex アイテム は、 flex コンテナの横幅いっぱいに広がります([動作確認用リンク](https://codepen.io/anon/pen/XyYyyZ))。
16
17
  ```pug
@@ -30,8 +31,8 @@
30
31
  }
31
32
  ```
32
33
 
33
- ここで、下記コードのように、`align-items`プロパティに`flex-start`を指定したとしましょう。
34
+ ここで、下記コードのように、`.box1`の`align-items`プロパティに`flex-start`を指定したとしましょう。
34
- すると、 flex アイテム は flex コンテナの横幅いっぱいに広がらず、先頭に寄るだけになります。つまり、 flex コンテナより flex アイテムの横幅が大きい場合、 flex アイテムは flex コンテナからはみ出します([動作確認用リンク](https://codepen.io/anon/pen/aQKQQK))。
35
+ すると、 flex アイテム は flex コンテナの横幅いっぱいに広がらず、始点側の端に寄るだけになります。つまり、 flex コンテナより flex アイテムの横幅の方が大きい場合、 flex アイテムは flex コンテナからはみ出します([動作確認用リンク](https://codepen.io/anon/pen/aQKQQK))。
35
36
 
36
37
  ```scss
37
38
  .box1 {
@@ -47,4 +48,5 @@
47
48
  ```
48
49
 
49
50
  そんなわけで、 長いテキストがはみ出してしまったのではないかと思います。
51
+
50
- ここまで来れば、`max-width`, `width`プロパティなどを使い横幅を強制すれば良いとわかります([動作確認用リンク](https://codepen.io/anon/pen/LXrXaM))。
52
+ ここまで来れば、`max-width`, `width`プロパティなどを使い横幅を強制するこで、今回の問題が解決するとわかります([動作確認用リンク](https://codepen.io/anon/pen/LXrXaM))。