如何解决引导导航栏面临的这 3 个问题:
这是一个演示:
https://jsfiddle.net/whywymam/zpdpsuLn/
HTML 代码:
<div class="container">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<navbar>
<div class="upperRow">
<div class="navbar-header">
<a href="#" class="brand navbar-brand"> <img src="image/logo.png" class="img-responsive"></a>
</div>
<div id="btnTopInline">
<ul class="nav navbar-nav navbar-right imgicon hidden-xs">
<li>
<div class="indivColl">
<a href="signupLogin.php">
<img src="image/jobseekerlogo.png" class="indi">
<p class="indit">Job Seeker</p>
</a>
</div>
</li>
<li>
<div id="empColl">
<a href="signupLoginEmp.php">
<img src="image/employerlogo.png" class="emp">
<p class="empt">Employer</p>
</a>
</div>
</li>
</ul>
</div>
<!-- for tablet and mobile view-->
<button type="button" class="btn btn-login pull-right visible-xs">
<a href="signupLoginEmp.php">
Employer<br>Log In
</a>
</button>
<button type="button" class="btn btn-login pull-right visible-xs">
<a href="signupLogin.php">
Job Seeker<br>Log In
</a>
</button>
</div>
<div class="middleRow">
<div class="navbar-inner navbar-default navbar-static-top navcolor">
<div class="navbar-header ">
<!--button to appear when display is on mobile device-->
<button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target=".nav-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="nav-collapse collapse-in" id="nav-collapse">
<ul class="nav navbar-nav center-block">
<li><a href="home.php">Home<img src="image/home.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="about.php">About<img src="image/about.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="pyw.php">Prove Job<img src="image/PYW.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="#">Job<img src="image/jobs.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="rescources.php">Resources<img src="image/resource.png" width="75" height="65" alt="" title="" /></a></li>
</ul>
</div>
</div> <!-- end inner navbar -->
</div> <!-- end middle row -->
</navbar>
</div> <!-- end col-lg-12 col-md-12 col-sm-12 col-xs-12 -->
</div><!-- end container -->
CSS:
.img-responsive {
max-width: 60%;
margin-bottom: 15%;
padding-top: -3%;
}
.imgicon {
padding-left: 50%;
margin-top: -2%;
}
.middleRow{
padding-top: 10%;
margin-top: 5%;
}
.navcolor{
background-color: transparent;
}
.navbar-default {
margin-top: 3%;
}
.navbar-nav {
float:none;
margin: 0 auto;
display: table;
table-layout: fixed;
text-align: center;
}
#btnTopInline{
display: inline-block;
float: right;
clear: none;
}
@media(min-width:768px) {
.nav-collapse{
display: inline;
}
}
提前谢谢您:)
这是我在html和css中做了一些修改的代码
要使 toggal 按钮起作用,请使用
data-target=".nav-collapse"
代替 data-target=".navbar-collapse"
对于菜单链接旁边的图标,在 ancor 标签内添加 img 标签。
以下是更改
<body>
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<div class="navbar-header">
<a href="#" class="brand navbar-brand"> <img src="image/logo.png" class="img-responsive"></a>
</div>
<ul class="nav navbar-nav navbar-right imgicon hidden-xs">
<div id="indivColl">
<a href="signupLogin.php">
<img src="image/jobseekerlogo.png" class="indi">
<p class="indit">Job Seeker</p>
</a>
</div>
<div id="empColl">
<a href="signupLoginEmp.php">
<img src="image/employerlogo.png" class="emp">
<p class="empt">Employer</p>
</a>
</div>
</ul>
<!-- for tablet and mobile view-->
<button type="submit" id="btn-login-header" class="btn btn-login pull-right visible-xs mobile-login"
id="header-mobile-login-button" data-target="#indivColl">
Employer<br>Log In
</button>
<button type="submit" id="btn-login-header" class="btn btn-login pull-right visible-xs mobile-login"
id="header-mobile-login-button" data-target="#empColl">
Job Seeker<br>Log In
</button>
<button type="button" class="navbar-toggle btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="nav-collapse collapse in" id="navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="home.php">Home<img src="image/home.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="about.php">About<img src="image/about.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="pyw.php">Prove Your Worth<img src="image/PYW.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="#">Job<img src="image/jobs.png" width="75" height="65" alt="" title="" /></a></li>
<li><a href="rescources.php">Resources<img src="image/resource.png" width="75" height="65" alt="" title="" /></a></li>
</ul>
</div>
</div>
</div>
</div>
</body>
在CSS中添加这个
@media(min-width:768px) {
.nav-collapse{
display: block;
}
}
首先:对于响应式布局工作,引导程序需要处理行和列。您需要将导航栏放入其中。
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<navbar>
</navbar>
</div>
</div>
第二:我没有测试,但我认为您需要在导航栏的 li 内创建一个包含 text-align: center; 的类的 div或者把这个类放在li中。 div 内放置文本和图标,每个都有一个类,包含 float: left 和clear: Both。
<ul class="nav navbar-nav navbar-right imgicon hidden-xs">
<div id="indivColl">
<a href="signupLogin.php"><img src="image/jobseekerlogo.png" class="indi"><p class="indit">Job Seeker</p></a>
</div>
<div id="empColl">
<a href="signupLoginEmp.php"><img src="image/employerlogo.png" class="emp"><p class="empt">Employer</p></a>
</div>
</ul>
上面你需要将每个div放在一个li中。在img中插入类并将p标签替换为span标签,然后将相同的类添加到span中。 这个例子是一个假设,我没有测试,但你可以在 www.w3cschools.com 中搜索更多关于 float 和 clear 的信息
代码中导航栏的逻辑完全错误。您在带有两个容器的导航栏中有一个导航栏。你需要回顾一下 bootstrap、html 和 css 的概念!将此与您的进行比较:
<div class="navbar navbar-default navbar-static-top navcolor">
<div class="navbar-header">
<a href="#" class="navbar-brand"> <img src="image/logo.png" class="img-responsive"></a>
</div>
<!-- for tablet and mobile view-->
<button type="submit" id="btn-login-header" class="btn btn-login pull-right navbar-btn visible-xs mobile-login" id="header-mobile-login-button" data-target="#indivColl"> Job Seeker Log In </button>
<button type="submit" id="btn-login-header" class="btn btn-login pull-right navbar-btn visible-xs mobile-login" id="header-mobile-login-button" data-target="#empColl"> Employer Log In </button>
<div class="navbar-header">
<!--button to appear when display is on mobile device-->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="home.php">Home</a><img src="image/home.png" width="75" height="65" alt="" title="" /></li>
<li><a href="about.php">About</a><img src="image/about.png" width="75" height="65" alt="" title="" /></li>
<li><a href="pyw.php">Prove Your Worth</a><img src="image/PYW.png" width="75" height="65" alt="" title="" /></li>
<li><a href="#">Job</a><img src="image/jobs.png" width="75" height="65" alt="" title="" /></li>
<li><a href="rescources.php">Resources</a><img src="image/resource.png" width="75" height="65" alt="" title="" /></li>
<li class="imgicon hidden-xs">
<div id="indivColl">
<a href="signupLogin.php"><img src="image/jobseekerlogo.png" class="indi"><p class="indit">Job Seeker</p></a>
</div>
</li>
<li class="imgicon hidden-xs">
<div id="empColl">
<a href="signupLoginEmp.php"><img src="image/employerlogo.png" class="emp"><p class="empt">Employer</p></a>
</div>
</li>
</ul>
</div>
我没有输入 css 或完全引导规则的详细信息,但我认为这段代码对您有用。并且不要忘记浮动和清晰的课程^^
这将是一种方法。再见,喜欢我的回答(如果送达)!
@inject AppState AppState
<div class="top-row ps-3 navbar navbar-dark">
<div class="container fluid">
<a class="navbar-brand" href="#">stats_ui</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="counter">
Task Level Stats
</NavLink>
</div>
<div class="nav-item px-3">
<button class="btn btn-link nav-link" @onclick="ToggleEnvironmentDropdown">
Job Stats
</button>
@if (showEnvironments)
{
<div>
<button class="btn btn-link nav-link" @onclick="() => SelectEnvironment("DEV")">DEV</button>
@if (AppState.SelectedEnvironment == "DEV")
{
<div>
<button class="btn btn-link nav-link" @onclick="() => SelectRegion("CEEMEA")">CEEMEA</button>
<button class="btn btn-link nav-link" @onclick="() => SelectRegion("ASIA")">ASIA</button>
<button class="btn btn-link nav-link" @onclick="() => SelectRegion("LATAM")">LATAM</button>
</div>
}
</div>
<div>
<button class="btn btn-link nav-link" @onclick="() => SelectEnvironment("UAT")">UAT</button>
@if (AppState.SelectedEnvironment == "UAT")
{
<div>
<!-- Regions buttons for UAT -->
</div>
}
</div>
<div>
<button class="btn btn-link nav-link" @onclick="() => SelectEnvironment("BETA")">BETA</button>
@if (AppState.SelectedEnvironment == "BETA")
{
<div>
<!-- Regions buttons for BETA -->
</div>
}
</div>
}
</div>
</nav>
</div>
@code {
private bool collapseNavMenu = true;
private bool showEnvironments = false;
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
private void ToggleEnvironmentDropdown()
{
showEnvironments = !showEnvironments;
}
private void SelectEnvironment(string environment)
{
AppState.SetEnvironment(environment);
showEnvironments = false; // Optional: Close the dropdown after selection
}
private void SelectRegion(string region)
{
AppState.SetRegion(region);
// Trigger any other actions needed when a region is selected
}
}