Меню Bootstrap 3 не рушится на Ipad

Я делаю проект, используя новый обновленный Bootstrap 3 RC1.

В новом Bootstrap 3 могут появиться новые функции, которые сильно отличаются от предыдущих версий. Я понял, что большинство изменений, но одно я не могу решить:

когда в меню много элементов, оно ломается на Ipad и других планшетах, потому что оно не сворачивается, как оно автоматически сворачивается на мобильных устройствах (что хорошо)

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

вот скриншоты моего живого проекта:

-- Меню на большом экране --

введите здесь описание изображения

-- Меню на iPad в альбомной ориентации --

введите здесь описание изображения

-- Меню на Ipad Portrait --

введите здесь описание изображения

-- Мобильное меню --

введите здесь описание изображения

Я просто хочу, чтобы iPad работал как мобильный телефон. обратите внимание, что портрет действует как мобильный в отношении контента, но не меню.

какие-либо предложения? Спасибо


person gil hamer    schedule 08.08.2013    source источник


Ответы (7)


Прочтите: http://bassjobsen.weblogs.fm/twitter-bootstrap-3-breakpoints-and-grid/

Свертывание вашего меню определяется меньшим количеством файлов. (Загрузите последнюю версию с: https://github.com/twbs/bootstrap )

В variable.less вы найдете @grid-float-breakpoint: @screen-tablet;, где @screen-tablet равен 768px.

Таким образом, по умолчанию ваше меню сворачивается, когда ширина экрана ниже 768 пикселей;

В альбомной ориентации iPad ширина экрана составляет 1024 пикселя, поэтому меню НЕ сворачивается. Ширина портретного экрана iPad составляет 768 пикселей, поэтому меню НЕ свернется.

См. также navbar.less:

// Responsive navbar
// --------------------------------------------------

@media screen and (min-width: @grid-float-breakpoint) {

Чтобы изменить это поведение, вы должны изменить @grid-float-breakpoint на 767 и перекомпилировать файлы css.

NB Вы также упомянули: «Обратите внимание, что портрет действует как мобильный в отношении контента, но не меню».

Вы используете «col-lg-» в качестве префикса для строк вашей сетки. Элементы «col-lg-» будут располагаться ниже 992 пикселей (вертикальная ориентация для iPad) и станут горизонтальными выше 992 пикселей (альбомная ориентация).

person Bass Jobsen    schedule 08.08.2013
comment
Нужно ли для этого включать папку less в мой проект? Когда я загружал файлы, у меня не было файла less. Я помню, что скачивал только папки css и js. Спасибо. - person gil hamer; 11.08.2013
comment
С веб-сайта: до тех пор, пока не будет выпущена финальная версия v3, загрузка может осуществляться за веткой разработки и пакетом Bower. Так что скачивайте с github: github.com/twbs/bootstrap/archive/3.0 .0-wip.zip - person Bass Jobsen; 11.08.2013
comment
Проблема в том, что я новичок в less и понятия не имею, как добавить его на свой сайт и перекомпилировать мой CSS. Буду рад получить ссылку на ресурс. Спасибо! - person gil hamer; 11.08.2013
comment
Да, если у вас плотный заголовок, вам понадобятся точные точки останова. - person nomis; 10.04.2014
comment
Вы пропустите много других целевых устройств. Ширина Apple 768 пикселей не является стандартом для всех планшетов. Например, Samsung придерживается 800 пикселей. Возможно, вы должны учитывать это в своем решении. - person Steven; 09.03.2016

Просто столкнулся с этой проблемой. Я предлагаю вам посетить:

Настройка Bootstrap

Найдите поле @grid-float-breakpoint и установите для него ширину экрана, после которой меню должно свернуть. Там вы можете использовать переменные из предыдущего раздела, а именно из Media queries breakpoints, чтобы установить правильные точки.

Кроме того, найдите время и проверьте все доступные переменные для изменения. Создание хорошо настроенного пакета Bootstrap может сэкономить вам часы разработки. работы, если не больше.

person Maciej Gurban    schedule 28.08.2013
comment
@Maciej_Gurban Я изменил точку останова сетки в файле _variables, расположенном в папке начальной загрузки в установщике Rails. Как мне перекомпилировать мой проект, чтобы он использовал эту новую точку останова? Я не вижу никаких изменений в своих взглядах. - person Moosa; 08.04.2015
comment
Вы проверили gotealeaf.com/blog/integrating-rails-and -bootstrap-part-1 ? Есть также части 2 и 3. Проверьте, какая из них применима в вашем случае. - person Maciej Gurban; 08.04.2015

Для тех бедолаг, которые не используют меньше, вам придется изменить bootstrap.css и изменить медиа-запросы, связанные с панелью навигации, которые имеют точку останова от 768 пикселей до 992 пикселей.

Например, изменить

@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}

to:

@media (min-width: 992px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
person checkmate711    schedule 24.08.2014

Не меньше реализаций, которые я нашел, не работали

Нигде не удалось найти стили, чтобы это произошло само по себе, в итоге нашел это - https://coderwall.com/p/wpjw4w

person Horse    schedule 23.10.2014
comment
Чувак! Спасибо, что поделились, бьюсь с этим уже день! - person ; 18.06.2015
comment
Работает как шарм! Любой, кто не хочет перекомпилировать меньше файлов, сделайте это. - person Nitesh; 04.05.2016

Я смог исправить нашу проблему, изменив запрос @media (max-width: 768px) на 767px. Одна из приведенных выше ссылок ссылалась на проблему с 1px на iPad, которая ломалась по-другому и вместо этого заставляла мобильную версию веб-сайта.

person Joe Kuzma    schedule 22.12.2014

Если кто-то использует стандартный файл bootstrap.css, мне пришлось изменить его в 3-х местах:

вокруг линии 3780

/*changed from 768 to 992 */
    @media (min-width: 992px) {
     .navbar-header {
      float: left;
     }
   }

вокруг строки 3799

 /* changed from 768 to 992 */
    @media (min-width: 992px) {

вокруг линии 3924

/*changed from 768 to 992 */
@media (min-width: 992px) {

Я надеюсь, что это поможет кому-то :)

person Jon    schedule 26.08.2014

У меня была противоположная проблема. На iPad панель навигации не была свернута (как и ожидалось), но были применены стили для свернутой панели навигации. Я решил эту проблему, изменив медиа-запрос для свернутой панели навигации, добавив -1 для соответствия $grid-float-breakpoint следующим образом:

@media (max-width: $screen-sm-min - 1) {
//styles for collapsed navbar (which won't show up on iPad portrait)
}
person bart    schedule 11.10.2015