Ховати елементи у чуйному макеті?


298

Якщо дивитися через завантажувальний інструмент, схоже, вони підтримують згортання елементів меню для менших екранів. Чи є щось подібне для інших елементів на сторінці?

Наприклад, у мене поряд із навігаційними таблетками пливли праворуч. На маленькому екрані це спричиняє проблеми. Я хотів би принаймні розмістити його в подібному спадному меню "натисніть на показ".

Чи можливо це в існуючих рамках Bootstrap?

Відповіді:


648

До Bootstrap додані нові видимі класи

Додаткові невеликі пристрої Телефони (<768px)(Class names : .visible-xs-block, hidden-xs)

Малі пристрої для планшетів (≥768 пікселів)(Class names : .visible-sm-block, hidden-sm)

Середні пристрої Настільні ПК (≥992 пікселів)(Class names : .visible-md-block, hidden-md)

Настільні комп'ютери великих пристроїв (≥1200px)(Class names : .visible-lg-block, hidden-lg)

Для отримання додаткової інформації: http://getbootstrap.com/css/#responsive-utilities


Нижче застаріло станом на v3.2.0


Додаткові невеликі пристрої Телефони (<768px) (Class names : .visible-xs, hidden-xs)

Малі пристрої для планшетів (≥768 px) (Class names : .visible-sm, hidden-sm)

Середні настільні пристрої (≥992 пікселів) (Class names : .visible-md, hidden-md)

Настільні комп'ютери великих пристроїв (≥1200px) (Class names : .visible-lg, hidden-lg)


Набагато старший Bootstrap


.hidden-phone, .hidden-tablet тощо не підтримуються / застаріли.

ОНОВЛЕННЯ:

У Bootstrap 4 є 2 типи класів:

  • hidden-*-up, Який приховує елемент , коли вікно перегляду знаходиться в даній точці зупинки або більш широким.
  • hidden-*-down які приховують елемент, коли вікно перегляду знаходиться в заданій точці розриву або менше.

Також новий xlогляд перегляду додається для пристроїв шириною більше 1200 пікселів. Для отримання додаткової інформації натисніть тут .


2
Я не вірю , .hidden-phoneі .hidden-tabletє застарілими ** - вони ** підтримуваний . Застарілі, як правило, означають, що "витісняється іншими підходами, хоча все ще підтримуються мають бути скорочені" . Схоже, це стосується Bootstrap 3.2.0 - .visible-xsі тому подібне досі працює, тоді як .hidden-phoneдрузі повністю відсутні у функціональності Bootstrap.
Сліпп Д. Томпсон

2
Дякую - я оновив відповідь на правильне формулювання. Зараз має бути трохи зрозумілішим для інших користувачів.
Марк Уберштейн

2
FYI Провели трохи більше досліджень - здається, що «застарілий» зазвичай використовується у формальному контексті, оскільки стан непідтримуваності слідує за депресією. Я думаю, що "непідтримуваний" працює так само добре, але що б там не було. Дякуємо, що розглянули мою попередню пропозицію.
Сліпп Д. Томпсон

1
:) Я додав і те й інше ... Дякуємо, що провели трохи більше досліджень щодо правильних формулювань, безумовно, пам’ятайте про це для майбутніх публікацій. ура
Марк Уберштейн

2
Зауважте, що оновлення Bootstrap 4 призначено для альфа-завантажувача 4. У версії випуску слід використовувати .d- -none та d- -block класи. getbootstrap.com/docs/4.0/migration/#responsive-utilities
Пітер Де Бі

137

Бета-відповідь Bootstrap 4:

d-block d-md-noneщоб шкура на середніх, великих і надвеликих пристроїв.

d-none d-md-blockщоб сховатися на малих і особливо малих пристроїв.

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

Зауважте, що ви також можете вбудовувати їх, замінивши d-*-blockнаd-*-inline-block


Стара відповідь: Bootstrap 4 Alpha

  • Класи можна використовувати .hidden-*-upдля приховування на заданому розмірі та великих пристроях

    .hidden-md-upщоб шкура на середніх, великих і надвеликих пристроїв.

  • Те саме стосується .hidden-*-downприховування на заданому розмірі та менших пристроях

    .hidden-md-downщоб шкура на середніх, малих і екстра-маленьких пристроїв

  • vid- * більше не є варіантом завантаження 4

  • Щоб відображати лише на середніх пристроях , ви можете комбінувати два:

    hidden-sm-down і hidden-xl-up

Дійсні розміри:

  • xs для телефонів у портретному режимі (<34ем)
  • sm для телефонів у ландшафтному режимі (≥34em)
  • md для таблеток (≥48ем)
  • lg для настільних ПК (≥62ем)
  • xl для настільних ПК (≥75ем)

Це було станом на Bootstrap 4, альфа 5 (січень 2017). Детальніше тут: http://v4-alpha.getbootstrap.com/layout/responsive-utilities/

На Bootstrap 4.3.x: https://getbootstrap.com/docs/4.3/utilities/display/


8
Їх було видалено з версії бета-версії v4. Тепер ви використовуєте .d-класи, щоб сховати чи показувати різні розміри. getbootstrap.com/docs/4.0/utilities/display
DriverDan

1
Я бачив, але я все ще намагаюся це розробити .... Як я зараз щось приховую на маленькому екрані? Мені потрібно навпаки d-md-none, оскільки я перемикаю на діви залежно від великого та малого екрану.
Лев Мюллер

@LeoMuller Якщо ви хочете, щоб елемент ховався на розмірі sm і нижче, але був видимим на md, lg та xl, використовуйте d-none d-md-block. code.luasoftware.com/tutorials/bootstrap/…
Десмонд Луа

@DesmondLua Я думаю, те саме, що LeoMuller ... в BS4 деякі елементи поводяться як блоки, а інші як flex ... ¿чому я повинен знати раніше про природу елемента BS4, лише якщо хочу заховати його в телефонах, але я хочете відобразити його як стандарт BS4 у планшетах та ноутбуках? Це суперечить тому, як ти зазвичай думаєш ... Сподіваюся, команда
BS4

Я не можу знайти документацію на d-block у поточній документації Bootstrap 4, вони це видалили?
Мохімі

32

Відповідь завантажувача 4.x

hidden-* класи видаляються з бета-версії Bootstrap 4.

Якщо ви хочете показувати на середньому і вище, використовуйте 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 прокрутіть донизу


Дякую - я насправді хочу, щоб вони були видимими ... просто у стислому / згорнутому вигляді, як навибар-колапс, який призначений виключно для навигації, і я не бачу іншої підтримки для інших елементів ...
Kaitlyn2004

Вони складаються на основі назв класу та / або ідентифікатора. Якщо ви знайдете CSS / JS, ви можете додати додатковий клас / ідентифікатори, які роблять те саме.
Justinavery

Будь-який шанс ви могли б надати приклад? Я бачу плагін згортання, але не впевнений у впровадженні. принаймні, в межах навигації, здається, це обробляється дуже автоматично - або принаймні вбудовується в ядро ​​завантажувальної машини
Kaitlyn2004

7
Застаріло з Bootstrap 3.
Gereltod

1
Будь ласка, повідомте, що це лише для #Bootstrap 2
Лукас Бустаманте

19

У мене є кілька уточнень, які слід додати тут:

1) Показаний список (видимий телефон, видимий планшет тощо) застарілий у Bootstrap 3. Нові значення:

  • видимо-xs- *
  • видимо-см- *
  • видимо-md- *
  • видимо-lg- *
  • сховано-xs- *
  • приховано-см- *
  • приховано-md- *
  • приховано-lg- *

Зірочка перекладається для наступного (я показую лише видимі-xs- * нижче):

  • видимий-xs-блок
  • видима-xs-inline
  • видимий-xs-вбудований блок

2) Використовуючи ці класи, ви не додаєте періоду попереду (як заплутано показано в частині відповіді вище).

Наприклад:

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

3) Ви можете використовувати видимі * та приховані- * (наприклад, видимі-xs та приховані-xs), але вони застаріли в Bootstrap 3.2.0.

Щоб отримати детальнішу інформацію та найновіші характеристики, перейдіть сюди та шукайте "видиме": http://getbootstrap.com/css/


Неправильне hidden-xs-blockне дійсне, але visible-xs-blockце
Хаммад Хан

@hmd: Чи можете ви надати джерело / цитування свого коментаря, яке я навіть не повністю розумію, оскільки це навіть не повне речення. Що саме ви намагаєтеся поділитися? Ви говорите, що тільки блок "схований-xs" недійсний, або ви говорите про те, що hidden-xs- * недійсний? Ви хочете сказати, що блок-прихований-md дійсний, тоді як блок-схований-xs не є? Будь ласка, докладно поясніть, тому що, здається, ви спростували мій коментар, коли я насправді скопіював багатослівність прямо з онлайн-документації на завантажувальний інструмент. До якої версії завантажувального файлу ви посилаєтесь у своєму коментарі?
Язимов

2
ОК, можливо, є якісь зміни в завантажувальній програмі. Просто подивіться на голосовану відповідь, яка забезпечує правильне рішення. З прихованим елементом НЕ можна використовувати блок, вбудований та вбудований блок. З видимим, Ви ВІДХОДИТИ його. Я думаю, я використовую bootstrap 3.x. Просто спробуйте вирішити елемент, який ховається на телефоні :)
Хаммад Хан

2

Усі hidden-*-up, hidden-*класи для мене не працюють, тому я додаю саморобний 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
приховані- * класи були скинуті у завантажувальній версії 4 бета-версії, тепер ви використовуєте d- {sm, md, lg, xl} -none
Chris M

Дякую! На всякий випадок моя відповідь все-таки справедлива для не-бета
Gediminas

2

Для бета-версії Bootstrap 4.0 (і я припускаю, що це залишиться остаточним) є зміна - майте на увазі, що приховані класи були видалені.

Дивіться документи: https://getbootstrap.com/docs/4.0/utilities/display/

Щоб приховати вміст на мобільному пристрої та відображати його на більших пристроях, ви повинні використовувати наступні класи:

d-none d-sm-block

Перший набір класів не відображається на всіх пристроях, а другий відображає його для пристроїв "sm" вгору (ви можете використовувати md, lg тощо) замість sm, якщо хочете показувати на різних пристроях.

Пропоную прочитати про це перед міграцією:

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


це сумно, хоча він не працює нормально, коли перемикач краху
Девід Константин,

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.