У меня есть панель заголовка с логотипом слева и формой поиска. Оба плавают влево. Я пытаюсь контролировать вертикальное расстояние формы поиска с помощью CSS, но я не могу найти хорошее решение, отличное от добавления отступов и/или полей в верхней или нижней части формы поиска, и хотя я могу найти значения, которые работают в одном браузере это не решение, совместимое между браузерами ... Такая же проблема существует, если у меня есть кнопка поиска рядом с полем поиска. Есть ли решение для этого, которое совместимо с несколькими браузерами или мне нужно использовать JavaScript? Есть ли способ сделать что-то подобное?Можно ли управлять вертикальным пространством, используя только CSS?
P.S. Я перезаписываю CSS в своем коде dev.
Вот упрощенная версия моего кода заголовка:
body {
font-family: Arial, sans-serif;
}
header {
overflow: hidden;
background-color: black;
}
a {
text-decoration: none;
color: white;
}
#site-title, #search {
float: left;
}
#site-title {
margin-right: 50px;
background-color: green;
font-size: 28px;
}
#search {
background-color: red;
margin-top: 5px
}
<body>
<header>
<div id="site-title"><a href="#">Site Title</a></div>
<div id="search">
<form>
<input type="search" placeholder="Search..." />
</form>
</div>
</header>
</body>
Ссылка на код на JSFiddle: http://jsfiddle.net/mg535m80/2/
Edit: Я нашел решение, это не так кросс- совместимый с браузером, я надеялся, но он работает во всех современных браузерах. Я только добавил display: flex;
и align-items: center
родителям, и это сработало как шарм. Новый код:
body {
font-family: Arial, sans-serif;
}
header {
overflow: hidden;
background-color: black;
display: flex;
align-items: center;
}
a {
text-decoration: none;
color: white;
}
#site-title, #search {
float: left;
}
#site-title {
margin-right: 50px;
background-color: green;
font-size: 28px;
}
#search {
background-color: red;
}
<body>
<header>
<div id="site-title"><a href="#">Site Title</a></div>
<div id="search">
<form>
<input type="search" placeholder="Search..." />
</form>
</div>
</header>
</body>
Обновлено JSFiddle: http://jsfiddle.net/mg535m80/9/
Вы можете уточнить о различиях вы наблюдаете в разных браузерах? –
@MrLister Например, в Chrome я могу добавить верхний край, допустим, 5px в форму поиска, и он будет выглядеть по центру, а затем в Firefox форма поиска будет выровнена ближе к основанию, чем центр – user4181107