#html #css #layout
#HTML #css #макет
Вопрос:
У меня есть html
form
. Есть много input
«и label
«. В нижней части у form
меня есть один div
и один input
(отправить).
Как я могу разместить их ( div
и input
(кнопка отправки)) в одной горизонтальной строке?
Ответ №1:
Это один из подходов:
<div>
<div style="float:left">my div</div><input type="submit" style="float:left">
</div>
Ответ №2:
div.someclass {
float: left;
width: 200px /* or whatever you need to make it look good */
}
или грубые встроенные стили с <div style="float: left;"></div><input type="submit" />
Ответ №3:
Создайте оба элемента float: left
и сделайте их родительскими overflow: auto
.
Не возражаете поделиться своим кодом? Это немного сложно сделать вслепую, так как ваша структура HTML может отличаться от того, что я думаю.
Комментарии:
1.
inline-block
не поддерживается IE, поэтому я обычно пытаюсь отклониться.2. Я согласен. Это сделало бы жизнь намного проще, особенно для элементов навигации, жаль, что IE должен испортить Интернет. ; P
3. Встроенный блок работает в IE для элементов, которые изначально являются встроенными… например
label
,span
, и т.д.4. @ANeves, это потому, что IE к ним не применяется
inline-block
. Они просто остаютсяinline
.5. @Blender, если все было так, как вы говорите, то в IE7 все строки в этом примере должны выглядеть одинаково, что не так: jsfiddle.net/wPZwL/3
Ответ №4:
Можно настроить целевые типы ввода, например:
input [type=submit] { css rules here }
Таким образом, вы могли бы просто назначить свой div
float:left;
и сделать то же самое со своим input
. Их перемещение приведет к тому, что они будут выстраиваться рядом друг с другом.