#html #css
Вопрос:
Я пытаюсь создать что-то вроде этих тонких полосок с панелью поиска в верхней части веб-сайта. Отличным примером этого может служить верхний раздел веб-сайта Stack Overflow. Обратите внимание на логотип, строку поиска и различные кнопки. Это в значительной степени именно то, что я пытаюсь сделать, хотя и с логотипом в центре. Когда я помещаю два элемента один за другим, они находятся не на одной высоте. Текстовое поле всегда находится над или под изображением логотипа. Я попытался поместить это в div, что позволило мне установить его в нужный цвет для фона, но он все равно не выровнялся должным образом. Я также попытался поместить 2 элемента в таблицу и завернуть каждый из них в <tr>
. Это ничего не дало. Вот код, который у меня есть:
<head>
<link rel="stylesheet" , type="text/css" , href="Zaxent Stylesheet.css">
<style>
#top {
background-color: rgb(181, 230, 29);
text-align: left;
margin: 0;
}
</style>
</head>
<body>
<div id=top>
<table>
<tr><img src="Zaxent logo 2.png"></tr>
<tr><input name="search bar search page"></tr>
</table>
</div>
</body>
И если это уместно, вот мой CSS-код:
h1,
p {
color: white;
font-family: 'High Tower Text', 'Times New Roman', 'Arial';
font-size: 40px;
color: rgb(0, 100, 0);
}
body {
font-family: 'High Tower Text';
}
p {
font-size: 20px;
}
img {
display: block;
margin: 46px auto;
}
textarea {
color: rgb(0, 100, 0);
}
textarea {
border-radius: 20px;
font-size: large;
border-color: rgb(34, 177, 76);
border-width: 5px;
text-align: center;
}
p.x {
text-align: left;
color: black;
font-size: 30px;
}
p.u_can_help_ppl {
color: rgb(0, 0, 255);
}
fieldset {
padding: 0;
border-color: blue;
}
Комментарии:
1. Не используйте
table
элемент для компоновки. Также не рекомендуется использовать пробелы в файловых ресурсах, таких как изображения и имена файлов таблиц стилей.2. Существует элемент, называемый
<header>
.3. Кроме того, я бы рекомендовал запустить ваш код через HTML-валидатор или использовать какой-либо линтер-есть по крайней мере одна ошибка (пропущенные кавычки вокруг идентификатора).
Ответ №1:
Вы должны использовать flexbox вместо таблиц. Извините, если вам это нужно с таблицами, но подход flexbox был бы:
.top {
display: flex;
align-items:center;
justify-content:center;
}
<header class="top">
<div class="logo">
<img style="display:block;" src="https://via.placeholder.com/70x30/000000/FFFFFF?text=logo" alt="">
</div>
<div class="search-bar">
<input style="padding:5px; width:40vw;" type="text" name="search-bar-field" id="search-bar-field">
</div>
</header>
Комментарии:
1. Спасибо, но как мне поместить один элемент поверх другого в таблице?