如何在Twitter Bootstrap 3中删除响应功能?


85

自从Bootstrap 3以来,不再有用于响应式和标准样式表的单独文件。那么,如何轻松删除响应功能?


1
这篇博客文章提供了有关此操作的一些信息,并在末尾提供了指向Github上完整版本的链接。
bbill

1
@STLDeveloper在2012年12月3日16:11问。引导程序3已使用2天了。
kanarifugl

1
@STLDeveloper,他是说响应文件在Bootstrap 3中不再分开。博客文章和Bootstrap的Github帐户说明了所做的更改。
bbill

引导程序文档描述了如何执行此操作:getbootstrap.com/getting-started/#disable-sensitive
Nicolas Janel

@NicolasJanel您的链接已死。
德米特里(Dmitry)'18年

Answers:


104

要停用非桌面样式,您只需在variables.less文件中更改4行代码即可。在variables.less文件中设置屏幕宽度断点,如下所示:

//媒体查询断点
// ------------------------------------------------ -

//超小屏幕/手机
//注意:自v3.0.1起已弃用@ screen-xs和@ screen-phone
@ screen-xs:1px;
@ screen-xs-min:@ screen-xs;
@ screen-phone:@ screen-xs-min;

//小屏幕/平板电脑
//注意:自v3.0.1起已弃用@ screen-sm和@ screen-tablet
@ screen-sm:2px;
@ screen-sm-min:@ screen-sm;
@ screen-tablet:@ screen-sm-min;

//中型屏幕/桌面
//注意:自v3.0.1起已弃用@ screen-md和@ screen-desktop
@ screen-md:3px;
@ screen-md-min:@ screen-md;
@ screen-desktop:@ screen-md-min;

//大屏幕/宽桌面
//注意:自v3.0.1起已弃用@ screen-lg和@ screen-lg-desktop
@ screen-lg:9999px;
@ screen-lg-min:@ screen-lg;
@ screen-lg-desktop:@ screen-lg-min;

这会将桌面样式媒体查询的最小宽度设置为较低,以便适用于所有屏幕宽度。感谢2callchaos的改进!移动样式中定义了一些基本样式,因此我们需要确保将它们包括在内。

编辑:克里斯指出,您可以在引导站点上的在线较少编译器中设置这些变量


7
您也可以通过将@ grid-float-breakpoint变量更改为1px来停止导航栏的堆叠。
克里斯,

8
哇,这在引导程序自定义下载站点上的在线编译器中也有效!
克里斯,

1
我不确定以上方法是否有效。如果有人定义@media (min-width: @screen-sm-min)(意味着将此样式应用于sm断点和所有更高的断点;即sm,md,lg),则上述覆盖将破坏该假设,因为该定义将不再应用于md?我也将@ screen-xs设置为1px,并将@ screen-sm设置为1px(除了@ screen-md为1px);这样,将应用所有xs,sm和md样式,并以源顺序优先级覆盖它们自己。
马丁·苏卡内克

1
最好对xs使用1px,对sm使用2px,对于md使用3px,对于lg使用9999px。这样,您就没有“移动模式”中的导航栏和模态。
2call-chaos

1
可以,但是浏览器水平滚动条仍然缺失
Cichy

45

官方的Bootstrap 3发行文档中对此进行了说明:

禁用响应式视图的步骤

若要禁用响应功能,请按照下列步骤操作。在下面的修改后的模板中查看它的实际操作。

  1. 删除(或不添加)<meta>CSS文档中提到的视口
  2. 对于所有具有max-width的网格层,请删除.container上的max-width:none!important; 并设置常规宽度,例如width:970px;。确保这在默认的Bootstrap CSS之后。您可以选择避免在媒体查询或某些选择符Fu中使用!important。
  3. 如果使用导航栏,请撤消所有导航栏的折叠和展开行为(此处显示的内容太多,因此请看一下示例)。
  4. 对于网格布局,除了中型/大型类之外,还应使用.col-xs- *类。不用担心,超小型设备网格可扩展至所有分辨率,因此您已准备就绪。

您仍然需要针对IE8的Respond.js(因为我们的媒体查询仍然存在并且需要进行提取)。这只是禁用了Bootstrap的“移动站点”。

另请参阅GetBootstrap.com/examples/non-sensitive/


5
这对我不起作用。一些元素响应视口的宽度。
Ziyan Junaideen

@ZiyanJunaideen您可能错过了一些东西。你能提供一个jsfiddle吗?
阿德里安Be

1
这对我有用。我认为应该将其标记为正确答案。
戴夫·斯图尔特

20

我最近才弄清楚使bootstrap v3.1.1变得无响应是多么容易。这包括不要崩溃的导航栏。我不知道每个人是否都知道这一点,但我想分享一下。

无响应Bootsrap v3.1.1的两个步骤

首先,创建一个CSS文件,名称为non-sensitive.css。确保在引导css文件之后立即将其附加到主题或链接。

其次,将此代码粘贴到您的non-sensitive.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;
}

就是这样,享受。.^^

来源: getbootstrap.com上示例中的non- sensitive.css



2
在此处复制/粘贴代码时,请链接到代码源。
ba0708

11

资料来源: http //getbootstrap.com/getting-started/#disable-response

  1. 忽略视口 <meta>CSS文档中提到
  2. 例如,以单个宽度覆盖每个网格层的widthon.containerwidth: 970px !important;确保这是以默认的引导CSS以后。您可以选择避免!importantwith媒体查询或某些选择符。
  3. 如果使用导航栏,请删除所有导航栏的折叠和展开行为。
  4. 对于网格布局,请使用.col-xs-*除中/大型类以外的类,或代替此类。不用担心,超小的设备网格可以缩放到所有分辨率。


5

您可以通过将Bootstrap 3 CSS与无响应功能结合使用来实现

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


1
不错,但是太糟糕了,它是Bootstrap CSS的完整全套。最好只具有css来禁用响应功能。假设我们将其命名为“ nonsensitive.css”。这样,如果我们包含nonsensitive.css,则会禁用响应式重整。如果删除该CSS,则响应式将恢复。
user1995781

1
您可以通过在标题上添加上方链接上原始的bootstrap.css和非响应式bootstrap.css来执行建议的操作。显然,您可以根据需要对其进行重命名。注释掉该行,然后它将按需要工作。
2013年

1
是的,但这将覆盖我所有的自定义引导主题。例如,如果我使用bootswatch.com的主题,它将被该CSS覆盖。
user1995781 2013年

1
当然。如果您在引导程序上使用自定义主题,则会丢失所有自定义设置,但是如果您使用原始的引导程序CSS,则不会丢失所有内容
2013年

0

如果您想要一个固定大小的网站,这应该非常简单:

// 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: 9999px;

除非您使用.container-fluid,否则请添加:

.container-fluid {
    width: 700px;
}
body {
    width: 700px + @general-min-width;
}

-2

请访问www.goo.gl/2SIOJj,它正在进行中,但可能会对您有所帮助。

我使用cookie来定义是否要桌面或响应版本。在页面的页脚中,您可以找到两个范围,并且general.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分为两个文件,我不使用引导导航,而是我自己的,所以这是我的大多数自定义样式,因此它不能解决您的整个问题,但对我有用

并且我还创建了non-sensitive.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" />

如果您选择桌面,我会加载/ echo

<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" />

non-sensitive.css是引导程序的替代项,我关心的是布局,因此其中没有太多内容,因为我以自己的方式处理导航,因此css以及其他位在我的其他css文件中

请注意,即使在桌面浏览器上,我的设置也可以像桌面一样工作,这与我看到的某些其他解决方案不同,我只会忽略似乎仅在移动设备上运行的视口

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.