У меня есть сетка flex-box из divs.
Я хочу изменить ширину этого div (в%) в зависимости от размера экрана.
Мой scss @media
:
@media (max-width: 1023.9px) {
width: 33.3333%;
}
@media (max-width: 768px) {
width: 50%;
}
@media (max-width: 599px) {
width: 100%;
}
@media (min-width: 1024px) {
width: 25%;
}
Но когда я протестировал это в инструменте Chrome Responsive, я получил только это:
Чехол шириной 500px, не изменяется,
Когда я меняю размер экрана на 1020, все нормально, max-width: 1023.9px
работает.
1200 в порядке, min-width: 1024px
работает. Но меньше 1024 - я получаю такие странные вещи. Что я делаю не так?
Сгенерированный CSS для моего класса сетки:
.image-grid {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
width: 100%;
background-color: #f6f6f6; }
.image-grid .image-wrapper {
width: 25%;
position: relative; }
.image-grid .image-wrapper::before {
display: block;
content: '';
width: 100%;
padding-top: 88.23529%; }
@media (max-width: 1023.9px) {
.image-grid .image-wrapper {
width: 33.3333%; } }
@media (max-width: 768px) {
.image-grid .image-wrapper {
width: 50%; } }
@media (max-width: 599px) {
.image-grid .image-wrapper {
width: 100%; } }
@media (min-width: 1024px) {
.image-grid .image-wrapper {
width: 25%; } }
Хм, теперь все работает нормально, когда я изменяю размер окна браузера, я обычно получаю 1 столбец с 550px и 2 столбца с 700px. На вопрос дан ответ, но в «Отзывчивом» инструменте 550px и 700px все еще не работают. Может быть, я не понимаю инструмент.
Наконец-то решено. Проблема была совершенно тупой: я забыл добавить тег meta
, поэтому инструмент Responsive не работал должным образом. Не забывайте об этой важной линии. <meta name="viewport" content="width=device-width, initial-scale=1.0">