Значение h3
обычно выше, чем у элемента p
из-за размера шрифта и соответствующих настроек высоты строки и полей. Плавающие элементы выровнены по верху, что из-за различной общей высоты элементов приводит к тому, что вы видите в своем примере.
Используйте display: inline-block;
вместо float
- это выравнивает их по базовой линии по умолчанию.
body{
font-size:4.5vh;
height:100%;
width:90%;
position: relative;
left: 5%;
right: 5%;
margin: 0px;
padding: 0px;
font-family: Verdana, Geneva, Tahoma, sans-serif;
}
header {
position: relative;
}
#banner {
display: inline-block;
color: #C93756;
}
#account {
display: inline-block;
}
<html>
<head>
<title></title>
<link rel="stylesheet" href="styles/index.css">
</head>
<body>
<header>
<h3 id="banner">samplewebsite.com</h3>
<p id="account">Sign In</p>
</header>
</body>
</html>
Альтернативное решение после дополнительного вопроса в комментарии:
Вы можете использовать display: flex
на родительском элементе, используя следующие настройки, чтобы выровнять оба элемента вдоль их базовой линии по левому и правому краю родительского элемента.
justify-content: space-between;
выполняет распределение влево / вправо (для двух элементов, как в данном случае), а align-items: baseline;
выполняет выравнивание по вертикали. В этом случае вам не нужны никакие специальные настройки для дочерних элементов.
body{
font-size:4.5vh;
height:100%;
width:90%;
position: relative;
left: 5%;
right: 5%;
margin: 0px;
padding: 0px;
font-family: Verdana, Geneva, Tahoma, sans-serif;
}
header {
display: flex;
justify-content: space-between;
align-items: baseline;
}
#banner {
color: #C93756;
}
<html>
<head>
<title></title>
<link rel="stylesheet" href="styles/index.css">
</head>
<body>
<header>
<h3 id="banner">samplewebsite.com</h3>
<p id="account">Sign In</p>
</header>
</body>
</html>