这是我的 MVP:
.navbar{
flex-direction: row;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="master.css">
</head>
<body>
<nav class="navbar navbar-light bg-light" id="bootstrap-overrides">
<div class="container">
<ul class="nav navbar-nav">
<li><a class="navbar-brand" href="#"></a>Patients Page</li>
<li><a class="navbar-brand" href="#">Admin</a></li>
<li><a class="navbar-brand" href="#">Register Patients</a></li>
</ul>
</div>
</nav>
</body>
</html>
为什么导航栏
不遵循 CSS 并按行显示?导航栏是按列而不是按行。当我检查对象时,我实际上可以看到该属性为 flex-direction: row;
,但它仍然不起作用。
注意:我尝试了!important;
,但没有任何变化。
最佳答案
因为navbar-nav
类有flex-direction:column
。所以你的CSS应该覆盖它而不是.navbar
。
.navbar-nav {
flex-direction: row !important;
}
编辑:还有一个您可以使用的引导类。将 ul
更改为:
<ul class="nav navbar-nav flex-row">
次要说明:列表的第一个文本不在 a
元素内。
.navbar-nav {
flex-direction: row !important;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="master.css">
</head>
<body>
<nav class="navbar navbar-light bg-light" id="bootstrap-overrides">
<div class="container">
<ul class="nav navbar-nav">
<li><a class="navbar-brand" href="#">Patients Page</a></li>
<li><a class="navbar-brand" href="#">Admin</a></li>
<li><a class="navbar-brand" href="#">Register Patients</a></li>
</ul>
</div>
</nav>
</body>
</html>
关于html - 为什么导航栏对象不遵守 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60785211/