Как отключить отображение навигационной панели при изменении размера окна браузера [duplicate]

Ниже приведен пример ES6 того, как вы можете получить доступ к свойству объекта, используя имя свойства, которое было динамически сгенерировано путем объединения двух строк.

var suffix = " name";

var person = {
    ["first" + suffix]: "Nicholas",
    ["last" + suffix]: "Zakas"
};

console.log(person["first name"]);      // "Nicholas"
console.log(person["last name"]);       // "Zakas"

Это называется именами вычисленных свойств

81
задан kanarifugl 29 September 2013 в 05:15
поделиться

8 ответов

Чтобы инактивировать стили, не связанные с рабочим столом, вам просто нужно изменить 4 строки кода в файле variables.less. Задайте контрольные точки ширины экрана в файле variables.less следующим образом:

// Media queries breakpoints
// --------------------------------------------------

// Extra small screen / phone
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
@screen-xs:                  1px;
@screen-xs-min:              @screen-xs;
@screen-phone:               @screen-xs-min;

// Small screen / tablet
// Note: Deprecated @screen-sm and @screen-tablet as of v3.0.1
@screen-sm:                  2px;
@screen-sm-min:              @screen-sm;
@screen-tablet:              @screen-sm-min;

// Medium screen / desktop
// Note: Deprecated @screen-md and @screen-desktop as of v3.0.1
@screen-md:                  3px;
@screen-md-min:              @screen-md;
@screen-desktop:             @screen-md-min;

// Large screen / wide desktop
// Note: Deprecated @screen-lg and @screen-lg-desktop as of v3.0.1
@screen-lg:                  9999px;
@screen-lg-min:              @screen-lg;
@screen-lg-desktop:          @screen-lg-min;

Это устанавливает минимальную ширину в запросе медиа-контента рабочего стола ниже, чтобы она применима ко всем ширинам экрана. Благодаря 2calledchaos для улучшения! Некоторые базовые стили определяются в мобильных стилях, поэтому мы должны обязательно их включать.

Изменить: chris отмечает, что вы можете установить эти переменные в онлайн-компиляторе на сайте начальной загрузки

103
ответ дан Jay Douglass 21 August 2018 в 03:48
поделиться
  • 1
    Вы также можете остановить навигацию от укладки, изменив переменную @ grid-float-breakpoint на 1px. – Chris 17 August 2013 в 01:50
  • 2
    wow, это также работает в онлайн-компиляторе на загрузочном сайте загрузки bootstrap! – chris 11 September 2013 в 10:39
  • 3
    Я не уверен, что это работает. Если кто-то определяет @media (min-width: @screen-sm-min) (это означает, что этот стиль используется для точки останова sm и всех высших точек останова, т. Е. Sm, md, lg), вышеупомянутые переопределения нарушат это предположение, поскольку определение больше не будет применяться к md? Я установил @ screen-xs в 1px и @ screen-sm на 1px (в дополнение к @ screen-md, равному 1px); таким образом, применяются все стили xs, sm и md, переопределяя приоритет исходного кода. – Martin Suchanek 13 February 2014 в 06:49
  • 4
    Лучше использовать 1px для xs, 2px для sm, 3px для md и 9999px для lg. Таким образом, у вас нет навигаторов и модалов в «мобильном режиме». – 2called-chaos 11 March 2014 в 03:19
  • 5
    работает, но браузер горизонтальной полосы прокрутки все еще отсутствует – Cichy 25 August 2014 в 07:40

Это объясняется в официальных документах официального выпуска Bootstrap 3 :

Шаги по отключению чувствительных представлений

Чтобы отключить чувствительные функции, выполните следующие действия шаги. См. Его в действии в модифицированном шаблоне ниже.

  1. Удалите (или просто не добавьте) область просмотра <meta>, упомянутую в документах CSS
  2. Удалите max- ширина на .container для всех уровней сетки с max-width: none! important; и установите правильную ширину, как ширина: 970px ;. Убедитесь, что это происходит после CSS Bootstrap по умолчанию. Вы можете опционально избегать важности с помощью медиа-запросов или некоторых селектор-fu.
  3. Если вы используете navbars, отмените все рушительные и расширяющиеся действия на навигационной панели (это слишком много, чтобы показать здесь, так что смотрите пример).
  4. Для макетов сетки используйте классы .col-xs- * в дополнение к или вместо средних / больших. Не беспокойтесь, сверхмаленькая сетка устройств масштабируется до всех разрешений, поэтому вы настроены там.

Вам все равно потребуется Respond.js для IE8 (поскольку наши медиа-запросы все еще там, и их нужно подбирать). Это просто отключает «мобильный сайт» Bootstrap.

См. Также пример в GetBootstrap.com/examples/non-responsive /

45
ответ дан Adrien Be 21 August 2018 в 03:48
поделиться
  • 1
    Это не сработало для меня. Некоторые элементы отвечают ширине окна просмотра. – Ziyan Junaideen 15 December 2013 в 10:21
  • 2
    @ZiyanJunaideen, вы, вероятно, что-то пропустили. Можете ли вы предоставить jsfiddle? – Adrien Be 17 February 2016 в 06:17
  • 3
    Это сработало для меня. Я думаю, это должно быть отмечено как правильный ответ. – Dave Stewart 10 May 2016 в 18:01

Вы можете сделать это, используя CSS Bootstrap 3 с невосприимчивыми функциями

https://github.com/bassjobsen/non-responsive-tb3

5
ответ дан equisde 21 August 2018 в 03:48
поделиться
  • 1
    Приятно, но слишком плохо, это полный комплект bootstrap css. Было бы неплохо иметь css только для того, чтобы отключить чувствительные функции. Пусть говорят, что мы называем его «nonresponsive.css». Таким образом, если мы включим nonresponsive.css, отзывчивое восстановление будет отключено. Если удалить css, восстанавливается отзывчивость. – user1995781 22 October 2013 в 07:15
  • 2
    Вы можете сделать то, что вы предложили, просто добавив в заголовки оригинальный bootstrap.css и невосприимчивый bootstrap.css, размещенный по указанной выше ссылке. Очевидно, вы можете переименовать его, как хотите. Комментируйте строку, а затем она будет работать по желанию. – equisde 22 October 2013 в 08:17
  • 3
    Да, но это переопределит всю мою загрузочную тему. Например, если я использую тему из bootswatch.com , она будет переопределена этим css. – user1995781 22 October 2013 в 15:17
  • 4
    Конечно. Если вы используете настраиваемую тему над загрузкой, вы потеряете все свои настройки, но не в том случае, если вы используете исходный bootstrap CSS – equisde 22 October 2013 в 15:21
  • 5
    @ user1995781 Вы можете попробовать метод, упомянутый выше. – JiNexus 6 August 2014 в 12:10
11
ответ дан Ivan Minutillo 21 August 2018 в 03:48
поделиться

В последнее время я просто выясню, насколько легко сделать ваш bootstrap v3.1.1 невосприимчивым. Это включает в себя navbars, чтобы не сворачивать. Я не знаю, знают ли все об этом, но я хотел бы поделиться им.

Два шага к невосприимчивому Bootsrap v3.1.1

Сначала создайте имя файла css это как non-responsive.css. Обязательно добавьте его в свои темы или ссылку сразу после загрузочных файлов css.

Во-вторых, вставьте этот код в свой файл non-responsive.css:

/* Template-specific stuff
 *
 * Customizations just for the template; these are not necessary for anything
 * with disabling the responsiveness.
 */

/* Account for fixed navbar */
body {
  min-width: 970px;
  padding-top: 70px;
  padding-bottom: 30px;
}

/* Finesse the page header spacing */
.page-header {
  margin-bottom: 30px;
}
.page-header .lead {
  margin-bottom: 10px;
}


/* Non-responsive overrides
 *
 * Utilitze the following CSS to disable the responsive-ness of the container,
 * grid system, and navbar.
 */

/* Reset the container */
.container {
  width: 970px;
  max-width: none !important;
}

/* Demonstrate the grids */
.col-xs-4 {
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #eee;
  background-color: rgba(86,61,124,.15);
  border: 1px solid #ddd;
  border: 1px solid rgba(86,61,124,.2);
}

.container .navbar-header,
.container .navbar-collapse {
  margin-right: 0;
  margin-left: 0;
}

/* Always float the navbar header */
.navbar-header {
  float: left;
}

/* Undo the collapsing navbar */
.navbar-collapse {
  display: block !important;
  height: auto !important;
  padding-bottom: 0;
  overflow: visible !important;
}

.navbar-toggle {
  display: none;
}
.navbar-collapse {
  border-top: 0;
}

.navbar-brand {
  margin-left: -15px;
}

/* Always apply the floated nav */
.navbar-nav {
  float: left;
  margin: 0;
}
.navbar-nav > li {
  float: left;
}
.navbar-nav > li > a {
  padding: 15px;
}

/* Redeclare since we override the float above */
.navbar-nav.navbar-right {
  float: right;
}

/* Undo custom dropdowns */
.navbar .navbar-nav .open .dropdown-menu {
  position: absolute;
  float: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, .15);
  border-width: 0 1px 1px;
  border-radius: 0 0 4px 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
  color: #333;
}
.navbar .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar .navbar-nav .open .dropdown-menu > li > a:focus,
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
  color: #fff !important;
  background-color: #428bca !important;
}
.navbar .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus {
  color: #999 !important;
  background-color: transparent !important;
}

. Это все и Наслаждайтесь .. ^^

Источник: non-responsive.css из примера на getbootstrap.com .

20
ответ дан Kushal Jayswal 21 August 2018 в 03:48
поделиться
  • 1
    Woow очень приятно! Благодаря :) – Ronald Araújo 23 July 2014 в 03:50
  • 2
    Прекрасно работает! Благодарю. – andrewmarkle 3 August 2014 в 15:01
  • 3
    Если вы скопируете / вставьте его сюда, обратитесь к источнику кода. – Andy0708 12 September 2015 в 10:49

Если вам нужен сайт с фиксированным размером, это должно быть довольно простым:

// Override container sizes
@container-sm:	700px;
@container-md:	700px;
@container-lg:	700px;

// Fixate media queries to tablet view only (lower viewports set to 0px, desired one to 1px, and the higher to ~9999px)

@screen-xs-min: 0px;
@screen-sm-min:	1px;
@screen-md-min: 9999px;
@screen-lg-min: 9999px;

// Disable responsive features such as navbar-collapse
@grid-float-breakpoint: 1;

Если вы не используете .container-fluid, тогда также добавьте:

.container-fluid {
    width: 700px;
}
body {
    width: 700px + @general-min-width;
}
0
ответ дан marc_s 21 August 2018 в 03:48
поделиться

Посмотрите на www.goo.gl/2SIOJj , это незавершенная работа, но это может вам помочь.

Я использую cookie для определения, хочу ли я иметь настольную или отзывчивую версию , В нижнем колонтитуле страницы вы можете найти два пролета и в целом. Js - это скрипт для обработки кликов.

        <div class="col-xs-6" style="text-align:center;"><span class="make_desktop">Desktop</span></div>
        <div class="col-xs-6" style="text-align:center;"><span class="make_responsive">Mobile</span></div>

function setMobDeskCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays === null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value + "; path=/";
    window.location.reload();
}

$(function() {
    $(".make_desktop").click(function() {
        setMobDeskCookie('deskmob', 1, 3650);
    });
    $(".make_responsive").click(function() {
        setMobDeskCookie('deskmob', 0, 3650);
    });
});`enter code here`

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

, и я также создал not-responsive.css, который заставляет сетку поддерживать большую версию экрана

в случае, если вы выбрали мобильный, я бы загрузил / эхо

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">  
<!-- Bootstrap core CSS and JS -->
        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <link href="/themes/responsive_lime/bootstrap-3_1_1/css/bootstrap.css" rel="stylesheet">
        <script src="/themes/responsive_lime/bootstrap-3_1_1/js/bootstrap.min.js"></script>

and load these stylesheets
<link rel="stylesheet" type="text/css" media="screen,print" href="/themes/responsive_lime/css/style.css?modified=14-06-2014-12-27-40" />
<link rel="stylesheet" type="text/css" media="screen,print" href="/themes/responsive_lime/css/style-responsive.css?modified=1402758346" />

в случае, если вы выберете рабочий стол, который я бы загрузил / эхо

<meta name="viewport" content="width=1024">    


        <!-- Bootstrap core CSS and JS -->
        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <link href="/themes/responsive_lime/bootstrap-3_1_1/css/bootstrap.css" rel="stylesheet">
        <script src="/themes/responsive_lime/bootstrap-3_1_1/js/bootstrap.min.js"></script>

        <!-- Main CSS -->
        <link rel="stylesheet" type="text/css" media="screen,print" href="/themes/responsive_lime/css/style.css?modified=14-06-2014-12-27-40" />
<link rel="stylesheet" type="text/css" media="screen,print" href="/themes/responsive_lime/css/non-responsive.css?modified=1402758635" />

, not-responsive.css - это тот, который имеет переопределения для бутстрапа. Моя забота - это макет, поэтому в там, учитывая, что я обрабатываю навигацию по-своему, поэтому css для нее, а остальные биты находятся в моих других файлах css

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

-2
ответ дан nathanchere 21 August 2018 в 03:48
поделиться

Источник из: http://getbootstrap.com/getting-started/#disable-responsive

  1. Опустить окно просмотра <meta>, указанное в документах CSS
  2. Переопределите width на .container для каждого уровня сетки с единственной шириной, например width: 970px !important;. Убедитесь, что это происходит после стандартного Bootstrap CSS. Вы можете опционально избегать !important с запросами на мультимедиа или некоторым селектором-fu.
  3. Если вы используете navbars, удалите все рублевые коллапсирующие и расширяющиеся действия.
  4. Для макетов сетки используйте .col-xs-* в дополнение к средним / большим или вместо него. Не волнуйтесь, сверхмалая сетка устройств масштабируется для всех разрешений.
10
ответ дан Sophy 21 August 2018 в 03:48
поделиться