响应式引导导航栏

     2023-05-08     260

关键词:

【中文标题】响应式引导导航栏【英文标题】:Responsive Bootstrap Navbar 【发布时间】:2014-12-14 22:17:14 【问题描述】:

我正在尝试为我的网站制作一个导航栏,左侧有下拉菜单,中间有图片,右侧有可折叠项目。我正在使用较少的引导程序来设置导航栏的样式,但我遇到了麻烦。

我已经搜索了堆栈溢出以寻找使其工作的方法,例如 this 问题,但那里的解决方案对我不起作用。我似乎无法让我的图像对齐,使其水平轴以下拉菜单、可折叠项和导航栏容器为中心。当我尝试前面提到的链接中的解决方案时,通过最大化固定位置将图像从页面流中取出,它总是出现在导航栏下方。我可以通过弄乱 CSS 属性来为我的屏幕解决这个问题,但是一旦我调整窗口大小,事情就会变得很糟糕。

有没有办法(可能使用 less)来设置引导导航栏的样式,这样无论窗口的大小是多少,我在左侧都有一个项目,在中心有一个图像,在右侧有一个项目,它们都共享一个与导航栏共用水平中心轴?

编辑

好的,所以我改变了主意,决定在左侧添加一些链接,在中间添加一个图像,在右侧添加一些链接。当屏幕变小时,我希望链接折叠到右侧,为菜单提供一个切换按钮。折叠工作正常,但是当链接在屏幕上时,我希望它们与图像一起在导航栏中水平居中。现在的图像部分位于导航栏中,部分位于导航栏中。当链接在较小的屏幕尺寸下折叠时,我还希望图像向左滑动。这是我现在的代码:

请注意,我使用 django 来提供 html,因此是图像 src 的语法。

#logo-with-slogan 
  max-width: 35%;
  padding: 3% 0 3% 0;


.navbar-brand 
  position: absolute;
  width: 100%;
  left: 0;
  text-align: center;
  margin: auto;
<nav class="navbar navbar-default" role="navigation">
  <div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
  </div>
  <a class="navbar-brand" href="#">
    <img id="logo-with-slogan" src="% static " img/LogoWslogan.jpg " %" />
  </a>
  <div class="navbar-collapse collapse">
    <ul class="nav navbar-nav navbar-left">
      <li><a href="#itemonelink">Item One</a></li>
      <li><a href="#itemtwolink">Item Two</a></li>
    </ul>
    <ul class="nav navbar-nav navbar-right">
      <li><a href="#signuplink">Signup</a></li>
      <li><a href="#loginlink">Login</a></li>
    </ul>
  </div>
</nav>

【问题讨论】:

你打算分享你正在使用的任何代码还是我们猜测? 【参考方案1】:

所以你想要做这样的事情,并安装图像:

HTML

<nav class="navbar navbar-default" role="navigation">
    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>    
    </div>
    <a class="navbar-brand navbar-center" href="#">
        <img src="http://placehold.it/100x40" >
    </a>
    <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-left">
            <li><a href="#itemonelink">Item One</a></li>
            <li><a href="#itemtwolink">Item Two</a></li>
        </ul>
        <ul class="nav navbar-nav navbar-right">
            <li><a href="#signuplink">Signup</a></li>
            <li><a href="#loginlink">Login</a></li>
        </ul>
    </div>
</nav>

CSS

.navbar-brand 
    float: none;
    padding: 5px;

.navbar-center 
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    text-align: center;
    margin: auto;
    height:100%;

演示:JSFiddle

【讨论】:

这有助于使图像居中,但链接仍然在最上面一行,而不是在中心。 没关系,那是因为我错误地覆盖了一个引导变量。现在一切都很好。谢谢! 当屏幕尺寸较小时,图像会覆盖右侧的下拉菜单按钮。有没有办法在选项折叠后使图像左对齐? 这是一个小屏幕,但是是的 - 您可以将其添加到媒体查询中以隐藏您正在寻找的宽度。编辑:直到小提琴上大约 236px 宽度之前,它似乎并不冲突 太好了,谢谢。我的图像比小提琴上的图像大得多,并且可能会覆盖移动设备上的按钮。我会抛出一个媒体查询以确保不会发生这种情况。再次感谢您的帮助!【参考方案2】:
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Case</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>                        
      </button>
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
        <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
      </ul>
    </div>
  </div>
</nav>

<div class="container">
  <h3>Navbar bootstrap</h3>
  <p>In this example, the navigation bar is hidden on small screens and replaced by a button in the top right corner (try to re-size this window).
  <p>Only when the button is clicked, the navigation bar will be displayed.</p>
</div>

</body>
</html>

【讨论】:

【参考方案3】:

导航栏是引导程序中最酷的组件,您可以轻松地为您的网站创建很酷的响应式导航标题。

有关信息和详细信息,请参阅本文。 steps to create navbar in bootstrap

 <nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#testNavBar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>                        
      </button>
      <a class="navbar-brand" href="#">Logo / SiteName</a>
    </div>
    <div class="collapse navbar-collapse" id="testNavBar">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#">Page 1</a></li>
        <li><a href="#">Page 2</a></li>
      </ul>
     
    </div>
  </div>
</nav>

【讨论】:

将响应式侧边栏菜单引导到顶部导航栏

】将响应式侧边栏菜单引导到顶部导航栏【英文标题】:Bootstrapresponsivesidebarmenutotopnavbar【发布时间】:2018-07-0611:12:20【问题描述】:所以我一直在寻找和寻找这方面的指导,但无济于事。基本上,我只是想要一个侧边栏,但是... 查看详情

带有 angular-ui 引导的响应式下拉导航栏(以正确的角度方式完成)

】带有angular-ui引导的响应式下拉导航栏(以正确的角度方式完成)【英文标题】:Responsivedropdownnavbarwithangular-uibootstrap(doneinthecorrectangularkindofway)【发布时间】:2013-04-2212:38:18【问题描述】:我使用angular-ui-boostrap的模块“ui.bootstr... 查看详情

提前折叠 Bootstrap 响应式导航栏

】提前折叠Bootstrap响应式导航栏【英文标题】:CollapsingBootstrapResponsiveNavbarEarlier【发布时间】:2013-09-0116:04:04【问题描述】:您好,我在我的博主博客中使用了带有引导程序的响应式导航栏。我的问题是,在达到崩溃的地步之前... 查看详情

用于响应式导航的引导分隔符

】用于响应式导航的引导分隔符【英文标题】:bootstrapdividerforresponsivenavigation【发布时间】:2013-01-0620:04:32【问题描述】:我想在响应式导航上添加水平分隔线。这是移动设备上的引导响应视图。我想在最后两个菜单项之间添加... 查看详情

引导导航栏中的左,右和居中内容[重复]

...:2016-01-1812:20:04【问题描述】:试图让一个引导导航栏在响应式网站的左侧、中间和右侧有链接。这甚至可能吗?也许navbar-justified将内容集中在导航栏上是错误的?<navclass="navbarnavbar-d 查看详情

带有子导航栏的响应式导航栏

】带有子导航栏的响应式导航栏【英文标题】:ResponsiveNavbarwithSubNavbar【发布时间】:2018-01-2705:46:48【问题描述】:美好的一天,请原谅我,因为我的导航词汇不是最好的。如果这个问题令人困惑,我很抱歉。我正在开发一个导... 查看详情

防止项目在引导程序 4 导航栏切换中折叠

...,我不想切换(进入那3行菜单)(来自引导程序的默认响应式导航栏)。我想留在菜单栏附近。我该怎么做?PS:我会放三 查看详情

Bootstrap 导航栏响应式下拉菜单不响应触摸

】Bootstrap导航栏响应式下拉菜单不响应触摸【英文标题】:Bootstrapnavbarresponsivedropdowndoesn\'trespondtotouch【发布时间】:2013-08-2107:54:26【问题描述】:我正在使用TwitterBootstrap2.3.2构建响应式网站。我有一个带有下拉菜单的导航栏:&l... 查看详情

html响应式导航栏(代码片段)

查看详情

响应式导航栏隐藏其下方的元素

】响应式导航栏隐藏其下方的元素【英文标题】:ResponsiveNavBarHidesElementBelowit【发布时间】:2017-01-1522:01:07【问题描述】:我创建了一个响应式导航栏,但它使下面的元素,一个Flexslider插件,消失了。在我制作导航栏之前,下面... 查看详情

响应式导航栏布局空间

】响应式导航栏布局空间【英文标题】:Responsivenavbartolayoutspace【发布时间】:2021-11-1303:12:39【问题描述】:我想在layout小于nav时设置响应式设计正如你所见,它的布局很小,导航不适应布局内容,我尝试在nav上使用width:max-conten... 查看详情

如何使用 Twitter 引导响应更改导航栏折叠阈值?

】如何使用Twitter引导响应更改导航栏折叠阈值?【英文标题】:HowtochangenavbarcollapsethresholdusingTwitterbootstrap-responsive?【发布时间】:2012-03-1310:03:39【问题描述】:我在Rails3.1.2项目中使用TwitterBootstrap2.0.1,使用bootstrap-sass实现。我... 查看详情

css06-响应式导航栏实验

把菜鸟里响应式导航栏和下拉菜单的示例加在了一起,但是没有出现预期的效果,出现的问题有两个:1.设置两个媒体查询时,只有一个生效,和代码顺序无关,而且单个测试时都能生效。2.水平导航栏添加的下拉菜单会出现溢... 查看详情

如何使用 vuetify 制作移动响应式导航栏

】如何使用vuetify制作移动响应式导航栏【英文标题】:Howtomakemobileresponsivenavbarusingvuetify【发布时间】:2021-02-0316:41:51【问题描述】:我有一个vuetify选项卡组件,我希望将它用作我的导航菜单。我想使用vuetify创建一个响应式导... 查看详情

如何使用引导程序将导航栏中的图标居中

...试创建导航栏,左侧有一个汉堡包,图标居中。我该如何响应式地做到这一点?我尝试使用mx-auto(margin-leftmargin-right:auto)但由于左侧有一个内联块,所以居中的图标被推到左侧。我也尝试过制作导航栏d-flex并添加j 查看详情

在 Bootstrap 中禁用响应式(移动)导航栏

】在Bootstrap中禁用响应式(移动)导航栏【英文标题】:Disableresponsive(mobile)navbarinBootstrap【发布时间】:2017-06-1603:46:45【问题描述】:有没有办法在bootstrap4中禁用响应式导航栏?我不想要下拉菜单,因为在移动版本中仍然可以... 查看详情

使用 flex 的响应式导航栏不会折叠

】使用flex的响应式导航栏不会折叠【英文标题】:Responsivenavbarusingflexisnotcollapsing【发布时间】:2019-01-3005:51:03【问题描述】:我创建了一个响应式导航栏,其中包含使用flex的切换菜单,但在移动视图中它不会折叠。我还包含了... 查看详情

响应式导航栏一旦打开就会阻止正文内容

】响应式导航栏一旦打开就会阻止正文内容【英文标题】:Responsivenavbarblocksbodycontentonceit\'sopened【发布时间】:2022-01-1607:39:11【问题描述】:在您尝试制定解决方案之前,请确保您的chrome浏览器上启用了响应式工具栏。我正在尝... 查看详情