2016-05-19 9 views
-4

パディングを使用することには欠点がありますか?なぜ誰もがマージンを持つように見えるのだろうか?なぜ、ほとんどのフレームワークはマージンを使用し、p、h1、h2などにパディングしないのですか?

+0

マージン、パディングすることによって行うことができない互いにくっつくの要素を防ぐ.. –

+0

それはあなたがスペースを配置したい場所というあなた次第。外部スペース、ユーザーマージン、内部スペース、パディングを使用します。シンプル。 –

+0

ようこそスタックオーバーフロー!この質問は広すぎるか、意見に基づいているか、または議論を必要とするので、スタックオーバーフローについては議論の余地があります。具体的な、解決可能な、プログラミングの問題がある場合は、詳細を記入してください。 –

答えて

0

paddingmarginは2つの異なるものであり、異なる効果を達成するために使用されています。 backgroundがなければ、これらのルールは視覚的に同じことをするように見えるかもしれませんが、それぞれ異なる場所にスペースが追加されます。

パディング

Padding要素内に間隔を追加する - 要素の境界とコンテンツの間。 elementcontentは、要素の端(またはそのborder)のすぐ隣にはありません。

マージン

Marginは、要素自体の外側に間隔を加算します。それは、要素と周囲の要素との間にどれくらいのスペースがあるべきかを指定します。

その他の違い:

  • Margin-topmargin-bottom常に崩壊する、すなわち、 margin-top:15pxmaragin-bottom:10pxの2つの要素は、お互いから15pxの距離を持ちます。 paddingルールは、他の要素のpaddingが何であり、決して崩壊しないか気にしません。

  • Margins負の値を使用してと重複要素を製造するために使用することができます。負のpaddingは無効で、何もしません。

  • Marginは、常にで、透過度はであり、backgroundを持つことはできません。ただし、はpaddingにペイントされます(ただし、要素の内容内にのみ背景を塗りつぶすbackground-origin: content-boxルールを使用しない限り)。

  • Marginmargin-leftmargin-right両方に値autoを使用して要素をセンタリングするために使用することができます。 Paddingautoにはなりません。

    enter image description here

実行以下のスニペットは、作用の違いを参照する。

div{ 
 
    background: #B4D455; 
 
    width: 100px; 
 
} 
 
div:nth-of-type(2n){ 
 
    background: #D4B055; 
 
} 
 

 
.padding{ 
 
    padding: 10px; 
 
} 
 

 
.margin{ 
 
    margin: 10px; 
 
}
<h3>None</h3> 
 
<div>content</div> 
 
<div>content</div> 
 
<div>content</div> 
 

 
<h3>padding:10px;</h3> 
 
<div class="padding">content</div> 
 
<div class="padding">content</div> 
 
<div class="padding">content</div> 
 

 
<h3>margin:10px;</h3> 
 
<div class="margin">content</div> 
 
<div class="margin">content</div> 
 
<div class="margin">content</div> 
 

 
<h3>margin:10px; and padding:10px;</h3> 
 
<div class="padding margin">content</div> 
 
<div class="padding margin">content</div> 
 
<div class="padding margin">content</div>

+0

ありがとうございます。私の主な違いは、マージンが崩壊することがあり、パディングがないことです。間にあるスペースが崩壊してテキストに大きな隙間がないと、いくつかのpタグがより良いと思う。 – User9123

+0

私は自分自身を明らかにしていないかもしれません。要素間にスペースを入れるために 'padding'を使用しないでください。私は2つのルールが持つ他の違いを含めるように答えを改善しました。 –

+0

ありがとう、このように私の質問に答えます。 – User9123

-1

から実施例への追​​加は、上記の一つの違い複数存在します。マージンは、場合によっては崩壊する可能性があり、パディングはしません。したがって、同じ種類の2つの要素間の合計スペースが異なる可能性があるため、背景色がなくても見た目が異なることがあります。

example

+0

「margin-top」と「margin-bottom」が毎回崩壊し、「場合によっては」ではありません。 –

関連する問題