У меня есть два элемента формы (текстовый ввод и кнопка отправки), которые я хочу отобразить на одной строке, шириной 50%. Это не работает со следующим HTML/CSS:Почему эти элементы не имеют ширину 50% на одной строке?
HTML
<form name="newsletter" target="#" method="post" class="group">
<input name="email" type="text" placeholder="email here..." />
<input name="submit" type="submit" class="button" value="subscribe" />
</form>
CSS
* {
box-sizing:border-box;
}
input[type="text"] {
margin: 0;
width: 50%;
font-size: 0.75rem; /* 16x0.75=12px */
padding: 0.625em;
border: 1px solid black;
border-radius: 0.3125em 0.3125em 0.3125em 0.3125em;
}
input[type="submit"] {
margin: 0;
width: 50%;
font-size: 0.75rem; /* 16x0.75=12px */
padding: 0.625em;
border: none;
border-radius: 0.3125em 0.3125em 0.3125em 0.3125em;
text-transform: uppercase;
}
Установка их display:block
или inline-block
не помогает. Но когда я установил их как width:50%
, так и float:left
и float:right
, они остаются на одной линии без проблем.
Почему?
Они показывают на одной линии для меня на Chrome: http://jsfiddle.net/darkajax/3NzTL/, какой браузер вы используете? – DarkAjax
@darkajax: Firefox (последняя версия) – 2013-04-16 16:21:41
@darkajax: Попробуйте следующее: http://jsfiddle.net/3NzTL/1/, я случайно скопировал неправильный css, эта версия имеет правильный css (исправил его в вопросе слишком). – 2013-04-16 16:22:49