В CSS можно танцевать только за счет чекбоксов и радио-кнопок. Есть селектор .elem:checked, позволяющий находить отмеченные чекбоксы. А еще есть HTML-тег <label>, который умеет при клике переключать эти чекбоксы (и может имитировать кнопку).
Плюс, CSS-селектор .bubu ~ .kuku находит все элементы с классом .kuku, которые находятся где-то ниже в коде от .bubu, при этом они оба должны быть одинакового «уровня» — т.е. не обернуты в дополнительные теги.
Поэтому пример: При клике на label, невидимый чекбокс отмечается, а к его отметке привязан стиль для .bubu #hide:checked ~ .bubu {display: none;} ( i ) через . тыкают на класс, а через # — id.
Невидимость радио убрал, чтобы было видно, что происходит. В этом случае завернул их в дополнительные блоки, чтобы #hide1 ~ .bubu не цеплял блоки, предназначенные для hide-2
За счет ~ разметка может быть чуть более свободной. Если блок с «содержимым» точно один, и точно потом не забудете, почему там стоит этот чекбокс, можно использовать селектор .bubu + .kuku, который выделяет .kuku, находящийся непосредственно после .bubu, и между ними больше ничего не должно стоять:
<label for="hide">Кнопка</label>
<input type="checkbox">
<div>Какое-то содержание. ..</div>
<div>А это уже не скроется...</div>
Свойство отображения · Bootstrap v5.1
Как это устроено
Измените значение свойства display property с помощью наших вспомогательных классов адаптивного отображения. Мы намеренно поддерживаем только подмножество всех возможных значений для display. Классы можно комбинировать для получения различных эффектов по мере необходимости.
Обозначение
Утилиты отображения классов, которые применяются ко всем контрольным точкам, от xs до xxl, не имеют в себе аббревиатуры контрольной точки. Это потому, что эти классы применяются начиная с min-width: 0; и выше, и поэтому не связаны медиа-запросами. Остальные контрольные точки, однако, содержат аббревиатуру контрольной точки.
Таким образом, классы именуются в следующем формате:
.d-{value} для xs
.d-{breakpoint}-{value} для sm, md, lg, xl и xxl.
Где значение — одно из:
none
inline
inline-block
block
grid
table
table-cell
table-row
flex
inline-flex
Отображаемые значения можно изменить, изменив переменную $displays и перекомпилировав SCSS.
Медиа-запросы влияют на ширину экрана с заданной контрольной точкой или больше. Например, .d-lg-none устанавливает display: none;
на экранах lg, xl и xxl.
Примеры
d-inline
d-inline
<div>d-inline</div>
<div>d-inline</div>
d-block
d-block
<span>d-block</span>
<span>d-block</span>
Скрытие элементов
Для более быстрой разработки, удобной для мобильных устройств, используйте адаптивные классы отображения для отображения и скрытия элементов по устройствам. Избегайте создания совершенно разных версий одного и того же сайта, вместо этого скройте элементы в зависимости от размера экрана.
Чтобы скрыть элементы, просто используйте класс .d-none или один из классов .d-{sm,md,lg,xl,xxl}-none для любого варианта адаптивного экрана.
Чтобы отображать элемент только в заданном интервале размеров экрана, Вы можете объединить один класс .d-*-none с классом .d-*-*, например, .d-none .d-md-block .d-xl-none .d-xxl-none скроет элемент для всех размеров экрана, кроме средних и больших устройств.
Размер экрана
Класс
Скрыто на всех
.d-none
Скрыто только на xs
.d-none .d-sm-block
Скрыто только на sm
.d-sm-none .d-md-block
Скрыто только на md
. d-md-none .d-lg-block
Скрыто только на lg
.d-lg-none .d-xl-block
Скрыто только на xl
.d-xl-none .d-xxl-block
Скрыто только на xxl
.d-xxl-none
Видно на всех
.d-block
Видно только на xs
.d-block .d-sm-none
Видно только на sm
.d-none .d-sm-block .d-md-none
Видно только на md
.d-none .d-md-block .d-lg-none
Видно только на lg
.d-none .d-lg-block .d-xl-none
Видно только на xl
.d-none .d-xl-block .d-xxl-none
Видно только на xxl
.d-none .d-xxl-block
скрыть на lg и более широких экранах
скрыть на экранах меньше lg
<div>скрыть на lg и более широких экранах</div>
<div>скрыть на экранах меньше lg</div>
Показать в печати
Измените значение display элементов при печати с помощью наших служебных классов отображения при печати.
Включает поддержку тех же значений display, что и наши адаптивные утилиты .d-*.
.d-print-none
.d-print-inline
.d-print-inline-block
.d-print-block
.d-print-grid
.d-print-table
.d-print-table-row
.d-print-table-cell
.d-print-flex
.d-print-inline-flex
Классы печати и отображения можно комбинировать.
Только экран (Скрывать только при печати)
Только печать (скрыть только на экране)
Скрыть до большого размера на экране, но всегда показывать на печати
<div>Только экран (Скрывать только при печати)</div>
<div>Только печать (скрыть только на экране)</div>
<div>Скрыть до большого размера на экране, но всегда показывать на печати</div>
Sass
API утилит
Утилиты отображения объявлены в нашем API утилит в scss/_utilities. scss. Узнайте, как использовать API утилит.
Я хочу скрыть параметр «флажок-Нет недавнего опыта_txh6181p», используя идентификатор или используя CSS n-го div. Как я могу это сделать?
css
скрыть
displaytag
2
Ваш идентификатор содержит пробел, он недействителен в html.
Значение идентификатора не должно содержать пробелов (пробелы, табуляции и т. д.). Браузеры обрабатывают несоответствующие идентификаторы, содержащие пробелы, как если бы пробелы были частью идентификатора. больше информации посетите это
#checkbox-Norecentexperience_txh6181p{display:none;}// снять флажок
#checkbox-Norecentexperience_txh6181p+label{display:none;} // чтобы удалить метку
Либо используйте #experience_txh6181p{display:none;} , либо #experience_txh6181p{height:0px; переполнение: скрыто}
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Как показать/скрыть элементы в Vue
Скрытие и отображение элементов на веб-странице — часто возникающая задача, связанная с пользовательским интерфейсом. Возможно, вы захотите переключить видимость некоторых разделов сведений, всплывающих подсказок и т. д.
В этом посте вы узнаете, как скрыть элементы на веб-странице, используя 3 подхода Vue:
Когда элемент полностью удален из DOM с помощью v-if ;
Когда элемент скрыт с помощью отображения : нет применяется v-шоу ;
Применение видимости : скрыто с использованием привязки :class .
Прежде чем я продолжу, позвольте мне кое-что порекомендовать вам.
Если вы хотите по-настоящему понять API композиции Vue и эффективно его использовать, пройдите курс «API композиции Vue 3» на Vueschool.
Содержание
1. Скрытие с помощью v-if
1.1 Когда использовать v-if
2. Скрытие с помощью v-show
2.1 Когда использовать v-show
3. Скрытие, но с сохранением пробела
9001 7 4. Заключение
1. Скрытие с помощью v-if
v-if — это встроенная директива Vue, которая принимает логические значения:
Я элемент
v-if имеет дело с отображением/скрытием элемента следующим образом:
A) Если значение, указанное в v-if , равно true (или вообще истинное значение), то элемент вставляется в DOM;
B) В противном случае, если значение, предоставленное v-if , равно false (или вообще ложное значение), то элемент не вставляется в DOM .
Рассмотрим следующий пример:
Я отрендерен!
Я не отображается!
Откройте демо.
Когда вышеуказанный компонент запускается, вот какой HTML-контент вставляется на веб-страницу:
Я готов!
Первый элемент отображается, потому что v-if="value1" было предоставлено значение true . Однако второй элемент не отображается в
DOM, потому что v-if="value2" было предоставлено с false .
Проще говоря, директива v-if позволяет отображать или скрывать элемент, просто вставляя или не вставляя элемент в DOM. Жестоко просто.
1.1 Когда использовать v-if
Когда v-if назначается с false , Vue также не инициализирует прослушиватели событий для элемента, даже если вы явно используете директивы событий.
v-if переключение относительно дорого (поскольку каждый раз, когда вы меняете значение v-if , элемент вставляется/удаляется из DOM, а прослушиватели событий инициализируются/деинициализируются) по сравнению с v-show (представлено в следующем разделе). Но у него низкая стоимость инициализации, если элемент изначально скрыт.
Вы должны использовать v-if для элементов, видимость которых переключается не слишком часто и изначально скрыта. Например, чтобы показать/скрыть раздел с подробной информацией об объекте.
Задача: будет ли v-if отображать элемент, если ему присвоено значение 0 ? Как насчет '0' ?
2. Скрытие с помощью v-show
Часто бывает полезно сохранить элемент в DOM, но визуально скрыть его с помощью стилей CSS.
v-show — это встроенная директива, которая визуально показывает или скрывает элемент:
Я элемент
9000 2 v-show имеет дело с отображением элемента следующим образом:
A) Если значение, предоставленное v-show , равно true (или truey), то элемент виден;
B) В противном случае, если в v-show передано значение false (или false), то элемент скрыт, но все еще отображается в DOM .
Давайте рассмотрим следующий пример:
Я виден!
Я скрыт!
Откройте демо.
Когда вы запускаете указанный выше компонент , оба элемента визуализируются в DOM:
Я видим!
Я скрыт!
Первый элемент виден на экране. Однако второй скрыт, потому что Vue применяет встроенный стиль display: none благодаря v-show="false" .
отображение: нет применение к элементу приводит к полному исчезновению элемента.
Задача: как реализовать в Vue кнопку, которая переключает отображение элемента? Поделитесь своим решением в комментарии!
2.
1 Когда использовать v-show
v-show , при назначении false , применяет встроенный стиль display: none и визуально скрывает элемент и почти не вносит изменений в DOM.
Таким образом, переключение видимости элемента с помощью v-show относительно дешев (по сравнению с v-if , описанным выше), поэтому вы можете использовать эту директиву с элементом, видимость которого часто переключается.
3. Скрыть, но сохранить пространство
Что делать, если вам нужно скрыть содержимое элемента, сохранив занимаемое им пространство? Стиль CSS, который скрывает содержимое элемента, но сохраняет его пространство, — visibility: hidden .
К сожалению, вы не можете использовать директиву v-show , поскольку она применяется только к 9Дисплей 0030: нет в стиле .
Но жизнеспособным решением является использование привязки :class , которая довольно гибка в Vue. Когда литерал объекта { className: boolValue } присваивается :class , Vue применяет "className" в качестве класса к элементу, если boolValue равно true .
Давайте создадим класс CSS невидимый , имеющий стиль видимость: скрытый . Затем, используя :class и объектный литерал, вы можете применить невидимый класс к элементу:
Я видим!
Виден только мой пробел!
Фиктивный текст
Откройте демо.
Откройте демонстрацию, вы увидите элементы Я видим и Пустой текст и пробел между ними — скрытый второй элемент.
Приведенный выше пример отображает содержимое HTML:
Я видим!
Виден только мой пробел!
Фиктивный текст
Виден только мой пробел!
применяет класс невидимый к элементу, потому что value2 равно false (я знаю, что отрицание здесь сбивает с толку!).
Обратите внимание, что вы также можете скрыть элемент, используя opacity: 0 , или даже сместить элемент за пределы окна просмотра, используя позиция: абсолютная; слева: -9999px . Просто создайте соответствующий класс CSS, а затем переключите его с помощью :class .
4. Заключение
Vue дает вам кучу хороших способов скрыть элемент на экране.