gpt4 book ai didi

html - rails 5/ Bootstrap 4 : My Navbar Displays a Mobile Dropdown Menu on Desktop

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:59 24 4
gpt4 key购买 nike

这是我第一次使用 Bootstrap 4。使用 Bootstrap 3 我很少使用导航类。

我使用的是 Bootstrap 4 模板。我已经按原样复制了整个样式表。除了导航栏,我能够让它工作。当我直接打开模板时,它按预期工作。但是,我的版本在下拉菜单中显示 css 按钮,而不是在桌面上水平显示。

菜单应该是这样的:

enter image description here

这是我的菜单的样子:

enter image description here

我试过最新版本的 Safari、Chrome、Firefox 和 Opera。它们看起来都一模一样。

gem 文件

gem 'bootstrap', '~> 4.0.0'
gem 'sass-rails', '~> 5.0'
gem 'coffee-rails', '~> 4.2'
gem 'jquery-rails'

application.js

//= require jquery
//= require rails-ujs
//= require turbolinks
//= require jquery3
//= require popper
//= require bootstrap-sprockets
//= require_tree .

application.scss

 *= require_tree .
*= require_self

标题(更新前)

<header>
<div class="tm-header">
<div class="container-fluid">

<div class="tm-header-inner">
<%= link_to "Classic", locale_root_path, class: "navbar-brand tm-site-name" %>

<!-- navbar -->
<nav class="navbar tm-main-nav">

<button class="navbar-toggler hidden-md-up" type="button" data-toggle="collapse" data-target="#tmNavbar">&#9776;</button>

<div class="collapse navbar-toggleable-sm" id="tmNavbar">
<ul class="nav navbar-nav">
<li class="nav-item"><%= link_to "Home", locale_root_path, class: "nav-link" %></li>
<li class="nav-item"><%= link_to "About", about_path, class: "nav-link" %></li>
<li class="nav-item"><%= link_to "Blog", blog_path, class: "nav-link" %></li>
<li class="nav-item"><%= link_to "Contact", contact_path, class: "nav-link" %></li>
</ul>
</div>

</nav>

</div>

</div>
</div>
</header>

CSS

.container-fluid {
margin-left: auto;
margin-right: auto;
max-width: 1390px;
overflow-x: hidden;
}

.navbar-nav .nav-link {
border-radius: 6px;
color: black;
padding: 10px 40px;
}

.nav-item.active .nav-link,
.nav-link:hover,
.nav-link:focus {
color: white;
background-color: #cc9900;

}

.tm-header-inner {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
height: 100px;
}

.tm-site-name {
color: #cc9900;
display: block;
font-size: 2.6rem;
font-weight: 400;
}

.tm-main-nav { font-size: 1.2rem; }

当我继续查看时,我看到该模板使用的是 Bootstrap 4 的 alpha 版本。我将所有 hidden-xx-up 类更改为相应的 d-xx-none d-yy-block,其中 yy 是下一个更高的响应等级。例如,在 header 中,我将 hidden-md-up 更改为 d-md-none d-lg-block

<button class="navbar-toggler d-md-none d-lg-block" type="button" data-toggle="collapse" data-target="#tmNavbar">&#9776;</button>

我今天做了很多网络搜索,包括在 Bootstrap 网站上,但找不到任何关于用什么替换 navbar-toggleable-xx 的信息。我发现的导航栏示例均未使用 navbar-toggleable-xx,因此我假设它们使用的是当前稳定版本。

<div class="collapse navbar-toggleable-sm" id="tmNavbar">

如何修改它以使我的导航栏正常工作?我会继续寻找解决方案。

最佳答案

Bootstrap 4(不再)中没有 navbar-toggleable-* 类组。

navbar-toggleable-sm 替换为 navbar-expand-sm

这是用于从所需断点开始扩展 导航栏的类。因此,navbar-expand-sm 中的 sm 表示:导航栏将从小 (sm) 屏幕尺寸向上扩展。

重要:

您根本无法在 Bootstrap 4 中使用您当前的代码。

因此,即使您在代码中将 navbar-toggleable-sm 替换为 navbar-expand-sm,它仍然无法正常工作,因为您的代码是 < em>不是 Bootstrap 4 代码。

这是工作中的 Bootstrap 4 导航栏的样子:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>

下一步:阅读 Bootstrap 4 的文档:

https://getbootstrap.com/docs/4.0/components/navbar/

关于html - rails 5/ Bootstrap 4 : My Navbar Displays a Mobile Dropdown Menu on Desktop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48956127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com