2016-08-30 2 views
0

Почему некоторые элементы немного больше и меньше, чем другие элементы? Например, div, установленный в ширину: 200 и height: 35, имеет ту же высоту, что и поле ввода с шириной: 196 и высота: 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

Я скопировал ваш код, и они выглядят одинаково на моем компьютере. Вход - один пиксел справа от поля ввода и один пиксель вниз. Это единственное различие, которое я вижу между ними. Извините, если я что-то не понял. Возможно, у вас нет размера коробки: border-box; задавать. – Vcasso

+0

Поскольку браузеры применяют свои собственные стили к элементам HTML. У каждого браузера есть своя [*** таблица стилей по умолчанию ***] (https://www.w3.org/TR/CSS22/sample.html). При необходимости вы должны переопределить эти стили своими собственными. –

ответ

4

По умолчанию входной элемент имеет определенные CSS-свойства, такие как контур ширины, прокладки и т.д. Попробуйте установить их все 0px и попробовать еще раз :)

1

Входы по умолчанию имеют padding. Установите padding в 0, и вы увидите, что оба div и input будут отображаться с одинаковыми размерами!

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