Я играл с элементами формы бутстрапа и заметил, что свойство вертикального выравнивания типа ввода как-то влияет на позиционирование соседней метки.Вертикальное выравнивание странного поведения с вводом формы
Кстати, этот текст типа ввода имеет margin-bottom 10px, который исходит из стиля бутстрапа.
Вот код:
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<style>
input[type="text"] {
vertical-align: baseline;
}
</style>
</head>
<body>
<form action="">
<span>Name</span>
<input id="name" type="text">
</form>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
, когда я установил:
input[type="text"] {
vertical-align: baseline;
}
Я получаю нормальное позиционирование:
Но когда я установил:
input[type="text"] {
vertical-align: top;
}
я ожидал увидеть, что входной элемент будет установлен, но InstEd этикетки элемент изменил свое местоположение
И когда я установил:
input[type="text"] {
vertical-align: bottom;
}
Я вижу снова позиционирование применяется к элемент этикетки:
Я всегда думал, что smth вот так:
Элемент body определяет высоту строки строки, в которой сидят как метки, так и элементы ввода. После этого и метки, и элементы ввода будут располагаться в соответствии с свойством вертикального выравнивания относительно поля строки, определенного элементом тела.
Но здесь я вижу, что некоторая привязка свойства вертикального выравнивания входного элемента влияет на элемент метки. Может кто-нибудь объяснить, почему это происходит?
Действительно хороший ответ мужчина :) Оцените! –