Скрытие элементов при изменении размера экрана

У меня есть 3 одинаковых <div>:

<div class = "box">Hello World!</div>    
<div class = "box">Hello World!</div>    
<div class = "box">Hello World!</div>

Я хочу, чтобы все они отображались на экране рабочего стола, только два отображались на планшете и только один на мобильном устройстве. Как я могу сделать это, используя только бутстрап и CSS? (обратите внимание, что я не могу изменить часть html)

вы можете использовать nth-of-type, чтобы нацелить два из них, которые вы хотите для планшета, и один из них для мобильного телефона. developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type

sagar1025 24.12.2020 06:00

Хорошей практикой является чтение DOC (свойство Display) перед работой с любой библиотекой.

Abhishek Pandey 24.12.2020 06:02
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
77
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий
  1. В CSS мы можем использовать медиа-запросы.

    @media (max-width: 768px) {
     .box:first-of-type,
     .box:last-of-type {
      display: none;
     }
    }
    
    @media (max-width: 992px) {
      .box:first-of-type {
       display: none;
      }
    }
    
  2. Bootstrap поставляется с служебными классами. Мы используем их непосредственно в HTML. Чтобы добиться того же результата, используя служебные классы, мы можем сделать.

    <div class = "box d-none d-md-block">Hello World!</div>
    <div class = "box d-none d-lg-block">Hello World!</div>
    <div class = "box">Hello World!</div>
    

Для этого вы можете использовать медиа-запрос CSS. А с помощью CSS вы можете выбрать элемент по его положению. Так что в основном ответ @imran подойдет вам.

Media Query Определение размера вашего окна и запуск части CSS, когда дело доходит до этого размера экрана. Затем селекторы .box:last-child , .box:first-child выберут ваш n-й элемент в html. Для получения более подробной информации перейдите по следующим ссылкам.

Привет. min-width:768px повторяется дважды в вашем коде. :) Исправьте это, приятель

Imran Rafiq Rather 24.12.2020 06:34

Спасибо, приятель, я только что скопировал твой код. Спасибо, мужик!

Tharuka Lakshan 24.12.2020 11:23

Я могу показать вам простой способ:

В файле HTML вы меняете на:

<meta name = "viewport" content = "width=device-width, initial-scale=1">
<link rel = "stylesheet" href = "style.css">

<div class = "box desktop tablet mobile">Hello World!</div>
<div class = "box desktop tablet">Hello World!</div>
<div class = "box desktop">Hello World!</div>

В вашем CSS вы просто делаете это:

.box {
    display: none;
}    

@media only screen and (min-width: 1150px) {    
    .box.tablet {
        display: none;
    }    
    .box.desktop {
        display: block;
    }    
}

@media only screen and (min-width: 768px) and (max-width: 1149px) {    
    .box.desktop {
        display: none;
    }    
    .box.tablet {
        display: block;
    }        
}
    
@media only screen and (max-width: 767px) {    
    .box.desktop {
        display: none;
    }    
    .box.tablet {
        display: none;
    }    
    .box.mobile {
        display: block;
    }        
}

Вы можете использовать медиа-запрос в css, чтобы определить тип устройства устройства и использовать nth-of-child, чтобы скрыть элементы с помощью display:none. Фрагмент кода, приведенный ниже, объяснил это лучше.

@media (min-width: 576px) {
    .box:first-child, .box:last-child{
        display:none
        }

@media (min-width: 768px) {
    .box:first-child{
        display:none
        }

576 пикселей используется для мобильных устройств и 768 пикселей для планшетов, и все три элемента div будут видны по умолчанию на настольных устройствах.

Другие вопросы по теме