<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta http-equiv = "X-UA-Compatible" content = "IE=edge">
<meta name = "viewport" content = "width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel = "stylesheet" href = "style.css">
</head>
<body>
<nav>
<navl>
<ul>
<li><img src = "" alt = "logo"></li>
<li><input type = "search"></li>
<li><img src = "" alt = "hit"></li>
</ul>
</navl>
<navr>
<ul>
<li><img src = "" alt = ""dp></li>
<li>Name</li>
<li>i1</li>
<li>i2</li>
<li>i3</li>
<li>i4</li>
<li>i5</li>
</ul>
</navr>
</nav>
</body>
</html>
*{
padding: 0vw;
margin: 0vw;
}
nav{
background-color: rgba(52, 52, 146, 0.829);
display: inline-flex;
justify-content: space-around;
width: 100vw;
height: 45px;
}
ul {
display: inline-flex;
list-style-type:none;
}
navl{
border-color:red ;
vertical-align: middle;
}
navr{
vertical-align: middle;
}
почему свойство вертикального выравнивания не работает? Я хочу, чтобы содержимое отображалось вертикально в середине панели навигации, но оно отображалось вертикально вверху панели навигации. Я новичок, пытаюсь научиться веб-разработке. первый код - это часть html, а второй - часть таблицы стилей css
Поскольку вы используете гибкий контейнер, вы должны выровнять свои элементы на нем следующим образом:
*{
padding: 0vw;
margin: 0vw;
}
nav{
background-color: rgba(52, 52, 146, 0.829);
display: inline-flex;
justify-content: space-around;
align-items: center; /*align items in a flex container*/
width: 100vw;
height: 45px;
}
ul {
display: inline-flex;
list-style-type:none;
}
navl{
border-color:red ;
/*vertical-align: middle;*/
}
/*navr{
vertical-align: middle;
}*/
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta http-equiv = "X-UA-Compatible" content = "IE=edge">
<meta name = "viewport" content = "width=device-width, initial-scale=1.0">
<title>Document</title>
<!--<link rel = "stylesheet" href = "style.css">-->
</head>
<body>
<nav>
<navl>
<ul>
<li><img src = "" alt = "logo"></li>
<li><input type = "search"></li>
<li><img src = "" alt = "hit"></li>
</ul>
</navl>
<navr>
<ul>
<li><img src = "" alt = ""dp></li>
<li>Name</li>
<li>i1</li>
<li>i2</li>
<li>i3</li>
<li>i4</li>
<li>i5</li>
</ul>
</navr>
</nav>
</body>
</html>
для дальнейшего использования https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container
margin: 0vw;
в вашем CSS *{ }
— это то, что создает проблему. Если вы добавите margin: auto;
к пупок и навр CSS, вы будете установлены. См. Скрипку здесь
*{
padding: 0vw;
margin: 0vw;
}
nav{
background-color: rgba(52, 52, 146, 0.829);
display: inline-flex;
justify-content: space-around;
width: 100vw;
height: 45px;
}
ul {
display: inline-flex;
list-style-type:none;
}
navl{
border-color:red ;
vertical-align: middle;
margin: auto;
}
navr{
vertical-align: middle;
margin: auto;
}
Кстати вертикальное выравнивание на элементах navl и navr результат ненужный.