如何解决当<ul>在一行中时,当将justify-content-center应用于<ul>时,Bootstrap中的<ul>不能居中
这是我的代码(只有正文)
<body>
<div class="container-fluid">
<div class="row">
<ul class="nav justify-content-center nav-tabs">
<li class="nav-item">
<a class="nav-link" href="/home.PHP">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login.PHP">Log In</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/logout.PHP">Log Out</a>
</li>
</ul>
</div>
</div>
</body>
显示:
但是,当我将ul放在一列中时,我可以居中ul。为什么我上面的代码无法将ul居中?
编辑:
如果我从代码中删除行,我可以在ul上使用justify-content-center。但是我的问题仍然存在,因为当行存在时我无法解释行为
<body>
<div class="container-fluid">
<ul class="nav justify-content-center nav-tabs">
<li class="nav-item">
<a class="nav-link" href="/home.PHP">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login.PHP">Log In</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/logout.PHP">Log Out</a>
</li>
</ul>
</div>
</body>
解决方法
试试看,
第一种方法
请将flex-basis:100%;
添加到 ,以对齐<ul>
中心。
ul{
flex-basis:100%;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<body>
<div class="container-fluid">
<div class="row">
<ul class="nav nav-tabs justify-content-center">
<li class="nav-item">
<a class="nav-link" href="/home.php">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login.php">Log In</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/logout.php">Log Out</a>
</li>
</ul>
</div>
</div>
</body>
第二种方法
请添加justify-content-center
到 row 类中,以对齐<ul>
的中心,而不是添加到<ul>
标记中。
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<body>
<div class="container-fluid">
<div class="row justify-content-center">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link" href="/home.php">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login.php">Log In</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/logout.php">Log Out</a>
</li>
</ul>
</div>
</div>
</body>
,
ul
本身未居中,因此使用.justify-content-center
会将其子li
元素仅居中在ul
内,而其本身仍位于左侧。将.justify-content-center
添加到ul
的父元素(行div)中,它应该可以工作。
尝试一下
<div class="row">
<ul class="nav justify-content-center nav-tabs" style="display: flex; justify-content: center;">
<li class="nav-item">
<a class="nav-link" href="/home.php">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/login.php">Log In</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/logout.php">Log Out</a>
</li>
</ul>
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。