Я не вижу вертикального пространства (заданного по краю 50 пикселей в линейном элементе) между элементами lineitem. Однако, если я добавлю что-то вроде height: 40px; в формате css в формате lineitem, тогда соблюдаются как высота, так и маржа. Почему строка не выводит высоты элементов ввода и метки и не добавляет поля к тому, что есть?Высота контейнера CSS нуля ... почему не высота содержимого?
<div id="checkoutform">
<div class="lineitem">
<input type="text" name="EMAIL">
<label for="EMAIL">Your E-Mail:</label>
</div>
<div class="lineitem">
<input type="text" name="NAME">
<label for="NAME">Your Name:</label>
</div>
</div><!-- #checkoutform -->
И CSS:
#checkoutform .lineitem {
margin:0px 15px 50px 0px;
clear:both;
}
#checkoutform label {
float: right;
text-align:right;
font-family:"Open Sans";
font-weight:normal;
font-size:14px;
}
#checkoutform input {
width:280px;
float:right;
font-family:"Open Sans";
font-weight:normal;
font-size:14px;
}
Это работает, но я не совсем уверен, почему. Я не слышал о дисплее: стол; вариант раньше. Интересно, это хорошее исправление или какая-то полоса? Я использую этот код, чтобы по существу иметь несколько рядов ввода пользователя, причем вещи были правильно обоснованы. – Trygve
@Trygve Я добавил несколько объяснений в ответ. – Arbel
Спасибо за это. В чем разница между display: table и display: block ... и почему я должен использовать «таблицу» в этом случае? – Trygve