2017-02-17 4 views
1

Привет, я просто создаю домашнюю страницу для отображения данных датчиков, я не являюсь веб-разработчиком. Я выбрал бутстрап-фреймворк для убеждения проектирования менее кропотливо, однако я не в состоянии заставить меню гамбургера работать, когда я открываю страницу на телефоне, если я открываю страницу на рабочем столе, я хочу обычную навигационную панель, но когда я открываю ее по телефону, я хочу только кнопку меню гамбургера, которая должна отображать элементы навигационной панели при нажатии ,Отобразить меню гамбургера, когда мобильная платформа еще работает на настольном навигационном баре с использованием загрузочного устройства

Вот код, у меня есть:

<!-- Bootstrap Core CSS --> 
    <link href="vendor/bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"> 
    <!-- Custom CSS --> 
    <style> 
    body { 
     padding-top: 70px; 
     font-family: "Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif; 

     /* Required padding for .navbar-fixed-top. Remove if using .navbar-static-top. Change if height of navigation changes. */ 
    } 

    .no-border { 
     border: none; 
     background-color: white; 
     outline: none; 
     cursor: pointer; 
    } 
.color-no-focus { 
     color: grey; 
    } 
    .hover:hover { 
     color: blue; 
    } 
.white { 
     color: white; 
    } 


.btn-circle { 
    width: 70px; 
    height: 70px; 
    text-align: center; 
    padding: 6px 0; 
    font-size: 12px; 
    line-height: 1.42; 
    border-radius: 32px; 
    float: right; 
} 

    #container1 
    { 
     margin-bottom:10px 
    } 

    </style> 

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
    <!--[if lt IE 9]> 
     <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
     <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
    <![endif]--> 
<!-- jQuery Version 1.11.1 --> 
<!--script src=" vendor/jquery/1.11.1/jquery-1.11.1.js"></script--> 
<!-- Bootstrap Core JavaScript --> 
<script src="vendor/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<script type="text/javascript" src="js/dataDisplay.js"></script> 

</head> 
    <body> 
    <!-- Navigation --> 
    <nav class="navbar navbar-inverse navbar-static-top" role="navigation"> 
     <div class="container"> 
      <!-- 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> 
      <a class="navbar-brand" href="#">Access Home Online</a> 
      </div> 
      <!-- Collect the nav links, forms, and other content for toggling --> 
      <div class="navbar navbar-default navbar-fixed-top" id="bs-example-navbar-collapse-1"> 
       <ul class="breadcrumb"> 
        <li> 
         <a class="breadcrumb-item" href="index.htm">Home</a> 
        </li> 
        <li> 
         <a class="breadcrumb-item" href="settings.htm">Settings</a> 
        </li> 
        <li> 
         <a class="breadcrumb-item" href="connected-sites.htm">Sites</a> 
        </li> 
       </ul> 
      </div> 
      <!-- /.navbar-collapse --> 
     </div> 
     <!-- /.container --> 
    </nav> 

и это то, что я получаю на мой телефон: mobile view

в мобильном режиме, я не хочу, выше 3 ссылки.

+0

Получил мои провода, смешанные ... разделить URL-адрес? или получил JSFiddle? –

+0

Проблема заключается в том, что ваша разметка неверна, у вас есть два «навигатора», когда он должен быть одним. Братья и сестры navbar должны быть чем-то вроде «свернуть navbar-collapse», а не navbar в navbar, поскольку navbar - это меню. –

+0

Можете ли вы объяснить, как вы хотите, чтобы он выглядел на рабочем столе? так как это то, что сбивает с толку, поскольку с вашего кода кажется, что вы хотите, чтобы панировочные сухари над панелью меню на рабочем столе, это правда? –

ответ

0

Основная проблема, почему гамбургер не работает, состоит в том, что у вас есть два класса navbar, вы можете только один раз и только в родительском контейнере. Поскольку вам нужен макет для пакетирования, самый простой способ - использовать два разных меню: один для настольных компьютеров и один для мобильных устройств. Это не лучший метод, но тот, который будет работать хорошо, если у вас есть хорошие знания CSS и терпение, вы можете удалить дополнительное меню и переработать CSS, используя медиа-запросы, чтобы имитировать тот же стиль, который предлагает класс breadcrumb.

Вот HTML код, который работает:

<header> 
    <ul class="breadcrumb"> 
    <li><a class="breadcrumb-item" href="index.htm">Home</a></li> 
    <li><a class="breadcrumb-item" href="settings.htm">Settings</a></li> 
    <li><a class="breadcrumb-item" href="connected-sites.htm">Sites</a></li> 
    </ul> 
    <nav class="navbar navbar-default navbar-inverse navbar-fixed-top"> 
    <div class="container-fluid"> 
     <!-- Brand and toggle get grouped for better mobile display --> 
     <div class="navbar-header"> 
     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
     </button> 
     <a class="navbar-brand" href="#">Access Home Online</a> 
     </div> 
     <!-- Collect the nav links, forms, and other content for toggling --> 
     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
     <ul class="nav navbar-nav"> 
      <li><a href="index.htm">Home</a></li> 
      <li><a href="settings.htm">Settings</a></li> 
      <li><a href="connected-sites.htm">Sites</a></li> 
     </ul> 
     </div> 
    </div> 
    </nav> 
</header> 

Вот CSS идти с этим HTML:

@media(max-width:767px){ 
    header .breadcrumb { 
    display: none; 
    } 
} 
@media(min-width:768px){ 
    header .navbar { 
    display: none; 
    } 
} 

обновленное jsFiddle можно увидеть working online ... чтобы проверить различные режимы изменяют размер окна результатов для эмуляции разных размеров устройств.

Цель значок-бар классов 3x

Причина начальная загрузка использует 3x значок-бар охватывает потому, что значок гамбургера состоит из 3-х линий с использованием CSS, для каждой строки есть это в CSS:

.navbar-toggle .icon-bar { 
    display: block; 
    width: 22px; 
    height: 2px; 
    border-radius: 1px; 
} 

Каждая строка имеет длину 22px, 2px в высоту и имеет радиус границы 1px.

+0

Какова цель 3 '' under __Toggle Navigation__ Это меню гамбургеров отображается как на мобильных устройствах, так и на рабочем столе, я хотел, чтобы только навигационная панель была видна в случае рабочего стола –

+0

Я обновил код и jsFiddle. Меню отличается в зависимости от точки зрения устройства (разрешения) ... так работает Bootstrap, а также большинство других фреймворков, таких как Zurb Foundation. Если вы хотите обнаружить мобильные телефоны и настольные компьютеры по-другому, тогда меню по умолчанию для Bootstrap не для вас ... и вам нужно найти решение JS, которое не будет рассмотрено в этом вопросе. –

+0

Если вы хотите, чтобы точка останова меньше .... затем измените 767px на 640px и 768 на 641px и т. Д. –