2016-08-30 28 views
0

なぜいくつかの要素は他の要素よりわずかに大きく、小さくなりますか?たとえば、width:200とheight:35に設定されたdivは、width:196とheight:29の入力ボックスと同じ高さです。
例: 同じ幅と高さでも、異なる要素が異なるサイズになるのはなぜですか?

div { 
 
    width:200px; 
 
    height:35px; 
 
    border:1px solid red; 
 
} 
 

 
input { 
 
    width:200px; 
 
    height:35px; 
 
    border:1px solid blue; 
 
} 
 

 
#inp1 { 
 
    opacity:.5; 
 
}
<h3>Both set to width:200px and height:35px</h3> 
 
<div>DIV</div> 
 
<input placeholder='Input'> 
 
<br> 
 
<h3>Overlapping comparison</h3> 
 
<div> 
 
    <input id='inp1'> 
 
</div>

+0

私がコピーされましたあなたのコードと彼らは私の広告で同じに見えます。入力は、入力フィールドの右から1ピクセルオフ、1ピクセル下がります。それは私が2人の間で見る唯一の違いです。申し訳ありませんが、私はここで何かを誤解した。たぶんあなたはボックスサイズを持たないかもしれません:border-box;セット。 – Vcasso

+0

ブラウザはHTML要素に独自のスタイルを適用するためです。各ブラウザには独自の[***デフォルトスタイルシート***](https://www.w3.org/TR/CSS22/sample.html)があります。必要に応じて、これらのスタイルを独自にオーバーライドする必要があります。 –

答えて

4

、入力要素等は、そのような輪郭線幅、パディングなどの特定のCSS-特性を有し0PXして、もう一度お試しにそれらすべてを設定してみてください:)

1

入力はデフォルトpaddingを持っています。 padding0に設定すると、divinputの両方が同じ寸法でレンダリングされることがわかります。デフォルトでは

div { 
 
    width:200px; 
 
    height:35px; 
 
    border:1px solid red; 
 
} 
 

 
input { 
 
    width:200px; 
 
    height:35px; 
 
    border:1px solid blue; 
 
    padding: 0; 
 
} 
 

 
#inp1 { 
 
    opacity:.5; 
 
}
<h3>Both set to width:200px and height:35px</h3> 
 
<div>DIV</div> 
 
<input placeholder='Input'> 
 
<br> 
 
<h3>Overlapping comparison</h3> 
 
<div> 
 
    <input id='inp1'> 
 
</div>

+0

また、ボックスサイズ:ウェブページ上のすべての要素にまたがる枠線ボックスを使用するのに役立ちます。 – OzzyTheGiant

+0

これは何をしますか? – Joshua

関連する問題