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

回答編集履歴

4

typo修正

2020/12/15 08:41

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37488

answer CHANGED
@@ -78,7 +78,7 @@
78
78
  ```
79
79
 
80
80
 
81
- また、そのち間違いを別にしても、両者には違いがあります。
81
+ また、そのち間違いを別にしても、両者には違いがあります。
82
82
  マージンについて書かれているルールが他に存在しないのであれば、その両者に違いはありません。
83
83
  ですが、以下のような場合は上書きされます。
84
84
 

3

コメントを受けて再追記

2020/12/15 08:41

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37488

answer CHANGED
@@ -61,4 +61,39 @@
61
61
  > 値が4つ指定された場合、マージンはそれぞれ**上、右、下、左の順** (時計回り) に適用される。
62
62
  [margin - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/margin)
63
63
 
64
- ですので、順番を変えると、表示も変わります。
64
+ ですので、順番を変えると、表示も変わります。
65
+
66
+ # コメントを受けて再追記
67
+
68
+ >__正答の方では「margin-top:15px; margin-bottom:15px;」と分けて記述されていることに対し、「margin:15px 0 15px 0;」ではダメなのか__
69
+
70
+ まず、ご提示のコードですが、全角スペースが混じっているのが原因だと思います。
71
+
72
+ ```css
73
+ .signup {
74
+ background-color: #239b76;
75
+ margin:15px 0 15px 0;
76
+ /* ^ここが全角スペース */
77
+ }
78
+ ```
79
+
80
+
81
+ また、そのうち間違いを別にしても、両者には違いがあります。
82
+ マージンについて書かれているルールが他に存在しないのであれば、その両者に違いはありません。
83
+ ですが、以下のような場合は上書きされます。
84
+
85
+ ```css
86
+ .btn {
87
+ margin-left: auto;
88
+ }
89
+
90
+ .signup {
91
+ margin:15px 0 15px 0; /* margin-left: 0 */
92
+
93
+ /*
94
+ margin-top:15px;
95
+ margin-bottom:15px;
96
+ ^この場合は、margin-left: auto が残る。
97
+ */
98
+ }
99
+ ```

2

コメントを受けて追記

2020/12/15 08:38

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37488

answer CHANGED
@@ -30,4 +30,35 @@
30
30
 
31
31
  >__④「font-awasemo」で取り入れたマークとその後の文字間について、上手く反映されません。 __
32
32
 
33
- Font Awesome のフォントは、`::before`疑似要素に表示されています。ですので、親要素にマージンをつけるのではなくて、疑似要素にマージンをつけてみてください。
33
+ Font Awesome のフォントは、`::before`疑似要素に表示されています。ですので、親要素にマージンをつけるのではなくて、疑似要素にマージンをつけてみてください。
34
+
35
+ # コメントを受けて追記
36
+
37
+ >__①「top-wrapper」でやると、横に余白ができ上手くいかないことはわかりました。深く考えず、それだとできないから、でいいのでしょうか?__
38
+
39
+ 上手くいかない原因を知りたい、という質問だったのですね。理解しました。
40
+
41
+ まず前提ですが、CSSにおけるボックスモデルをご参照ください。
42
+ [CSS 基本ボックスモデル入門 - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model)
43
+
44
+ この内の「コンテンツ領域」に背景が描画されることを、理解してください。
45
+
46
+ そしてつぎに、このコンテンツ領域の幅は`width`で設定されることを理解してください。
47
+
48
+ > width は CSS のプロパティで、要素の幅を設定します。既定では、**このプロパティはコンテンツ領域の幅を設定します**が、 box-sizing を border-box に設定すると、境界領域の幅を設定します。
49
+ [width - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/width)
50
+
51
+ 最後に、`width`プロパティの初期値(何も指定しない場合の値)は`auto`であること、`width: auto`はブロックレイアウトの通常フローでは`width: 100%`と同じであることを理解してください。
52
+
53
+ つまり、`.top-wrapper`に`width: 1140px`を指定するということは、背景のサイズが`100%`から`1140px`に縮む、ということです。
54
+
55
+ ---
56
+
57
+ >__②わずかに動きがあり差があることはわかるのですが、書き換えながらだとどこが変化しているのかなかなかわからず……__
58
+
59
+ 繰り返しになりますが、こういうことです。
60
+
61
+ > 値が4つ指定された場合、マージンはそれぞれ**上、右、下、左の順** (時計回り) に適用される。
62
+ [margin - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/margin)
63
+
64
+ ですので、順番を変えると、表示も変わります。

1

追記

2020/12/15 07:23

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37488

answer CHANGED
@@ -13,6 +13,9 @@
13
13
  やってみればわかると思うのですが……
14
14
  それとも、やってみても違いがわかりませんでしたか?
15
15
 
16
+ > 値が4つ指定された場合、マージンはそれぞれ**上、右、下、左の順** (時計回り) に適用される。
17
+ [margin - CSS: カスケーディングスタイルシート | MDN](https://developer.mozilla.org/ja/docs/Web/CSS/margin)
18
+
16
19
  ---
17
20
 
18
21
  >__③画像を全体の背景としたいが、どうしても全体的に表示されない__