隐藏响应式布局中的元素?


298

从引导程序看,它们似乎支持折叠用于较小屏幕的菜单栏项。页面上的其他项目是否也有类似内容?

例如,我有一个右舷的右舷药丸。在小屏幕上,这会导致问题。我希望至少将其放入类似的点击显示更多下拉菜单中。

在现有的Bootstrap框架中可能吗?

Answers:


648

新的可见类添加到Bootstrap

小型设备 电话(<768px)(Class names : .visible-xs-block, hidden-xs)

小型设备 平板电脑(≥768px)(Class names : .visible-sm-block, hidden-sm)

中型设备 台式机(≥992px)(Class names : .visible-md-block, hidden-md)

大型设备 台式机(≥1200px)(Class names : .visible-lg-block, hidden-lg)

有关更多信息:http : //getbootstrap.com/css/#sensitive-utilities


从v3.2.0开始不推荐使用以下内容


小型设备电话(<768px) (Class names : .visible-xs, hidden-xs)

小型设备平板电脑(≥768px) (Class names : .visible-sm, hidden-sm)

中型设备台式机(≥992px) (Class names : .visible-md, hidden-md)

大型设备台式机(≥1200px) (Class names : .visible-lg, hidden-lg)


更老的引导程序


.hidden-phone, .hidden-tablet 等不被支持/过时。

更新:

在Bootstrap 4中,有两种类型的类:

  • hidden-*-up其中隐藏元件时视口是在给定的断点或更宽。
  • hidden-*-down 当视口在给定的断点或更小时隐藏元素。

另外,xl将为宽度大于1200px的设备添加新的视口。有关更多信息,请单击此处


2
我不相信.hidden-phone并且.hidden-tablet弃用**-他们**不被支持。弃用往往意味着“已被其他方法所取代,尽管仍打算尽快淘汰仍受支持”。Bootstrap 3.2.0似乎是这种情况,.visible-xs并且类似的东西现在仍然可以使用,而.hidden-phoneBootstrap的功能中完全没有朋友。
斯利普·汤普森

2
谢谢-我已将答案更新为正确的措词。现在应该对其他用户更加清晰。
马克·乌伯斯坦

2
仅供参考,我们做了更多的研究-似乎“过时”在正式语境中通常被使用,因为弃用后的无支持状态。我认为“不受支持”的效果也一样,但是无论如何。感谢您考虑我的早期建议。
Slipp D. Thompson 2014年

1
:)为了方便外行,我将两者都添加了。感谢您对正确的用语进行更多的研究,一定会在以后的帖子中牢记这一点。欢呼声
Marc Uberstein 2014年

2
请注意,Bootstrap 4更新适用于Bootstrap 4 Alpha。在发行版中,应使用.d- -none 和d- block 类。getbootstrap.com/docs/4.0/migration/#sensitive-utilities
Pieter De Bie

137

Bootstrap 4 Beta答案:

d-block d-md-none隐藏在中型,大型和特大型设备。

d-none d-md-block隐藏在小型和超小型设备。

在此处输入图片说明

请注意,您也可以通过替换d-*-blockd-*-inline-block


旧答案:Bootstrap 4 Alpha

  • 您可以使用这些类.hidden-*-up来隐藏给定大小和更大的设备

    .hidden-md-up隐藏在中型,大型和特大型设备。

  • 与这同样.hidden-*-down隐藏在一个给定的尺寸和更小的设备

    .hidden-md-down隐藏在中型,小型和超小型设备

  • bootstrap 4不再是visible- *选项

  • 仅在中型设备上显示,可以将两者结合使用:

    hidden-sm-downhidden-xl-up

有效大小为:

  • xs 适用于纵向模式(<34em)的手机
  • sm 适用于横向模式(≥34em)的手机
  • md 用于平板电脑(≥48em)
  • lg 用于台式机(≥62em)
  • xl 对于台式机(≥75em)

这是从Bootstrap 4,alpha 5(2017年1月)开始的。此处有更多详细信息:http : //v4-alpha.getbootstrap.com/layout/sensitive-utilities/

在Bootstrap 4.3.x上:https ://getbootstrap.com/docs/4.3/utilities/display/


8
这些已从v4 beta中删除。现在,您可以使用这些.d-类以不同的大小隐藏或显示。getbootstrap.com/docs/4.0/utilities/display
DriverDan

1
我看到了,但是我仍在尝试解决这个问题。...我现在如何只在小屏幕上隐藏东西?我需要与d-md-none相反,因为我会根据大屏幕还是小屏幕切换到div。
Leo Muller

@LeoMuller如果要隐藏大小为sm及以下的元素,但在md,lg和xl上可见,请使用d-none d-md-blockcode.luasoftware.com/tutorials/bootstrap/...
德斯蒙德的Lua

@DesmondLua我也认为LeoMuller ...在BS4中有些元素表现为块而在另一些元素中则表现为flex ...是否希望在平板电脑和笔记本电脑中将其显示为BS4标准?这与您通常的想法相反……我希望BS4小组在最终版本发布前解决此问题
JavierFuentes

我在当前的Bootstrap 4文档中找不到d-block上的文档,他们将其删除了吗?
Mojimi

32

Bootstrap 4.x答案

hidden-* 从Bootstrap 4 Beta开始删除了所有类。

如果您想在中等或以上的环境中展示,请使用这些d-*类,例如:

<div class="d-none d-md-block">This will show in medium and up</div>

如果您只想在小尺寸以下展示,请使用此选项:

<div class="d-block d-md-none"> This will show only in below medium form factors</div>

屏幕尺寸和类别图

| Screen Size        | Class                          |
|--------------------|--------------------------------|
| Hidden on all      | .d-none                        |
| Hidden only on xs  | .d-none .d-sm-block            |
| Hidden only on sm  | .d-sm-none .d-md-block         |
| Hidden only on md  | .d-md-none .d-lg-block         |
| Hidden only on lg  | .d-lg-none .d-xl-block         |
| Hidden only on xl  | .d-xl-none                     |
| Visible on all     | .d-block                       |
| Visible only on xs | .d-block .d-sm-none            |
| Visible only on sm | .d-none .d-sm-block .d-md-none |
| Visible only on md | .d-none .d-md-block .d-lg-none |
| Visible only on lg | .d-none .d-lg-block .d-xl-none |
| Visible only on xl | .d-none .d-xl-block            |

.visible-*您不必使用显式类,而只需通过不以该屏幕大小隐藏元素就可以使其可见。您可以将一个.d-*-none类与一个.d-*-block类组合在一起,以仅在给定的屏幕尺寸间隔内.d-none.d-md-block.d-xl-none 显示元素(例如,仅在中型和大型设备上显示元素)。

文献资料


23

您可以为任何模块输入这些模块类后缀,以更好地控制它将显示或隐藏的位置。

.visible-phone  
.visible-tablet     
.visible-desktop    
.hidden-phone   
.hidden-tablet  
.hidden-desktop 

http://twitter.github.com/bootstrap/scaffolding.html 滚动到底部


谢谢-实际上,我确实希望它们可见...只是像navbar-collapse那样的压缩/折叠形式,专门用于navbar,我看不到其他元素的其他支持...
Kaitlyn2004 2013年

根据其类名和/或ID,它们是可折叠的。如果找到CSS / JS,则可以添加执行相同操作的其他类/标识。
justinavery 2013年

您有机会提供示例吗?我看到了崩溃插件,但不确定实现方式。在导航栏内至少它似乎是很自动处理-或至少内置自举的核心
Kaitlyn2004

7
废弃了,因为自举3
Gereltod

1
请告知,这仅适用于#Bootstrap 2
Lucas Bustamante

19

我要在此处添加一些说明:

1)在Bootstrap 3中已弃用显示的列表(可视电话,可视平板电脑等)。新值是:

  • 可见-xs- *
  • 可见-sm- *
  • 可见-md- *
  • 可见-lg- *
  • 隐藏的xs- *
  • 隐藏的SM *
  • 隐藏的md- *
  • 隐藏的LG- *

星号对每个翻译为以下内容(我在下面仅显示visible-xs- *):

  • 可见XS块
  • 可见XS内联
  • 可见XS内联块

2)当您使用这些类时,您无需在前面添加句号(如上面答案中令人迷惑的部分所示)。

例如:

<div class="visible-md-block col-md-6 text-right text-muted">
   <h5>Copyright &copy; 2014 Jazimov</h5>
</div>

3)您可以使用visible- *和hidden-*(例如visible-xs和hidden-xs),但是在Bootstrap 3.2.0中已弃用了它们。

有关更多详细信息和最新规格,请转到此处搜索“可见”:http : //getbootstrap.com/css/


不正确hidden-xs-block是无效的,但是visible-xs-block
哈马德·汗

@hmd:能否提供您的评论来源/引用,我什至不完全理解,因为它甚至不是完整的句子。您到底想分享什么?您是在说只有hidden-xs-block无效还是在说hidden-xs- *无效?您是说hidden-md-block有效,而hidden-xs-block无效吗?请特别说明,因为实际上我直接从引导程序在线文档中复制了词汇,您似乎对我的评论不满意。您在评论中提到的是哪个版本的引导程序?
Jazimov 2014年

2
好的,引导程序可能有所更改。只需查看提供正确解决方案的投票最高的答案即可。对于隐藏元素,您不能使用块,内联和内联块。随着可见,您必须使用它。我想我正在使用bootstrap3.x。请尝试为隐藏在手机上的元素尝试解决方案:)
Hammad Khan

2

全部hidden-*-uphidden-*类对我不起作用,因此我hidden之前添加了自制类visible-*(适用于当前的引导程序版本)。如果只需要在一个屏幕上显示div,而在所有其他屏幕上隐藏则非常有用。

CSS:

.hidden {display:none;}

HTML:

<div class="col-xs-12 hidden visible-xs visible-sm">
   <img src="photo.png" style="width:100%">
</div>

1
hidden- *类已在bootstrap 4 beta中删除,您现在使用d- {sm,md,lg,xl} -none
Chris M

谢谢!为以防万一,我的回答仍然是成立的非测试版
格迪米纳斯

2

对于Bootstrap 4.0 Beta(我认为它将保留到最终版本)进行了更改-请注意,隐藏类已被删除。

请参阅文档:https : //getbootstrap.com/docs/4.0/utilities/display/

为了在移动设备上隐藏内容并在更大的设备上显示,您必须使用以下类:

d-none d-sm-block

第一个类集在所有设备上都不显示,而第二个类集在设备“ sm”上显示它(如果要在其他设备上显示,则可以使用md,lg等代替sm)。

我建议在迁移之前先阅读以下内容:

https://getbootstrap.com/docs/4.0/migration/#sensitive-utilities


令人遗憾的是,尽管它无法正常使用崩溃切换器
David Constantine,

0

在boostrap 4.1中(运行代码段,因为我从Bootstrap文档中复制了整个表代码):

.fixed_headers {
  width: 750px;
  table-layout: fixed;
  border-collapse: collapse;
}
.fixed_headers th {
  text-decoration: underline;
}
.fixed_headers th,
.fixed_headers td {
  padding: 5px;
  text-align: left;
}
.fixed_headers td:nth-child(1),
.fixed_headers th:nth-child(1) {
  min-width: 200px;
}
.fixed_headers td:nth-child(2),
.fixed_headers th:nth-child(2) {
  min-width: 200px;
}
.fixed_headers td:nth-child(3),
.fixed_headers th:nth-child(3) {
  width: 350px;
}
.fixed_headers thead {
  background-color: #333;
  color: #FDFDFD;
}
.fixed_headers thead tr {
  display: block;
  position: relative;
}
.fixed_headers tbody {
  display: block;
  overflow: auto;
  width: 100%;
  height: 300px;
}
.fixed_headers tbody tr:nth-child(even) {
  background-color: #DDD;
}
.old_ie_wrapper {
  height: 300px;
  width: 750px;
  overflow-x: hidden;
  overflow-y: auto;
}
.old_ie_wrapper tbody {
  height: auto;
}
<table class="fixed_headers">
  <thead>
    <tr>
      <th>Screen Size</th>
      <th>Class</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Hidden on all</td>
      <td><code class="highlighter-rouge">.d-none</code></td>
    </tr>
    <tr>
      <td>Hidden only on xs</td>
      <td><code class="highlighter-rouge">.d-none .d-sm-block</code></td>
    </tr>
    <tr>
      <td>Hidden only on sm</td>
      <td><code class="highlighter-rouge">.d-sm-none .d-md-block</code></td>
    </tr>
    <tr>
      <td>Hidden only on md</td>
      <td><code class="highlighter-rouge">.d-md-none .d-lg-block</code></td>
    </tr>
    <tr>
      <td>Hidden only on lg</td>
      <td><code class="highlighter-rouge">.d-lg-none .d-xl-block</code></td>
    </tr>
    <tr>
      <td>Hidden only on xl</td>
      <td><code class="highlighter-rouge">.d-xl-none</code></td>
    </tr>
    <tr>
      <td>Visible on all</td>
      <td><code class="highlighter-rouge">.d-block</code></td>
    </tr>
    <tr>
      <td>Visible only on xs</td>
      <td><code class="highlighter-rouge">.d-block .d-sm-none</code></td>
    </tr>
    <tr>
      <td>Visible only on sm</td>
      <td><code class="highlighter-rouge">.d-none .d-sm-block .d-md-none</code></td>
    </tr>
    <tr>
      <td>Visible only on md</td>
      <td><code class="highlighter-rouge">.d-none .d-md-block .d-lg-none</code></td>
    </tr>
    <tr>
      <td>Visible only on lg</td>
      <td><code class="highlighter-rouge">.d-none .d-lg-block .d-xl-none</code></td>
    </tr>
    <tr>
      <td>Visible only on xl</td>
      <td><code class="highlighter-rouge">.d-none .d-xl-block</code></td>
    </tr>
  </tbody>
</table>

https://getbootstrap.com/docs/4.1/utilities/display/#hiding-elements

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.