【问题标题】:Bootstrap "mobile" menu not showing on mobile devices引导“移动”菜单未显示在移动设备上
【发布时间】:2015-03-30 14:55:31
【问题描述】:

所以我的网站上的引导菜单出现了这种奇怪的行为。当我在移动设备(iPhone 4S、iPhone 6 plus、Galaxy S4)或 Chrome 模拟器上打开我的应用程序时,它会显示完整版本的菜单:

但是,当我在桌面浏览器上调整窗口大小时,它开始工作,即使此处的宽度大于设备中的宽度:

这是我的代码(我使用的是 Bootstrap v3.2.0):

<nav class="navbar navbar-default" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <div class="">
          <ul class="nav navbar-nav">
            <li><a href="<?php echo base_url('index.php/welcome/home');?>"><img src="<?php echo base_url('assets/img/logo.png');?>" id="mainLogo" /></a></li>
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Red Bticino<b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="<?php echo base_url('index.php/setup/create');?>">Crear Nueva Red</a></li>
                    <li><a href="<?php echo base_url('index.php/setup/join');?>">Unirse a Red</a></li>
                    <li><a href="<?php echo base_url('index.php/setup/open');?>">Abrir Red</a></li>
                    <li><a id="leaveNet">Dejar esta Red</a></li>
                </ul>
            </li>
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Control del Hogar<b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="<?php echo base_url('index.php/device/all');?>">Dispositivos</a></li>
                    <li><a href="<?php echo base_url('index.php/scene/home');?>">Escenarios</a></li>
                    <li><a href="<?php echo base_url('index.php/schedule');?>">Horarios</a></li>
                </ul>
            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li class="dropdown">
                <a href="#" class="dropdown-toggle iconNav" data-toggle="dropdown"><span class="glyphicon glyphicon-cog"></span></a>
                <ul class="dropdown-menu">
                    <li><a href="<?php echo base_url('index.php/settings/hour_simple');?>">Configuración Horaria</a></li>
                    <li><a href="<?php echo base_url('index.php/settings/network');?>">Configuración de Red</a></li>
                    <li><a href="#resetFactory" data-toggle="modal" data-target="#resetFactory">Factory Reset</a></li>
                    <li class="divider"></li>
                    <li><a href="<?php echo base_url('index.php/admin/users');?>">Gestionar Usuarios</a></li>
                </ul>
            </li>

            <li class="iconNav"><a href="<?php echo base_url('index.php/welcome/help');?>"><span class="glyphicon glyphicon-question-sign"></span></a></li>
          </ul>
        </div>
    </div><!-- /.navbar-collapse -->

  </div><!-- /.container-fluid -->
</nav>

您是否发现我的 html 代码有问题?谢谢!

【问题讨论】:

  • &lt;head&gt; 部分的任何位置是否有视口meta 标记?
  • 不,我不知道。只包含基本的 doctype 和 css/js。
  • Bootlint 下次先。它会警告这个确切的错误。

标签: css twitter-bootstrap responsive-design


【解决方案1】:

在页面的&lt;head&gt; 部分中,添加以下meta 标签:

<meta name="viewport" content="width=device-width, user-scalable=no">

根据谷歌开发者的说法,这里有一点关于视口的工作原理:

如果没有视口,移动设备将以典型的桌面屏幕宽度呈现页面,并缩放以适应屏幕。设置视口可以控制页面的宽度和在不同设备上的缩放。

来源:https://developers.google.com/speed/docs/insights/ConfigureViewport

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多