У меня каталог из 6 картинок. Я показываю их в 1 ряд. На больших экранах все 6 фотографий отображаются правильно, но когда я изменяю ширину экрана на размер планшета мобильного размера, изображение уменьшается вдвое.

Я хочу, чтобы все 6 изображений отображались на большом экране, но, как только размер окна пользователя, отображается только изображение, которое может быть полностью отображено в этом конкретном размере экрана, а другие должны быть скрыты. Сейчас я использую overflow: hidden и контейнер фиксированного размера.

Ниже приведены несколько снимков экрана, на которых показана проблема.

Screenshot of Catalog on Larger Screens

Screenshot of Catalog on Medium Size Screen

Screenshot of Catalog on Mobile Size Screen

0
Saiem Saeed 28 Окт 2019 в 11:21
2
Дайте кодировку Html, чтобы увидеть, как вы реализовали, используйте запрос экрана мультимедиа в своем Sass или css
 – 
Fussionweb
28 Окт 2019 в 11:26
Хотя это не редкость и проблема, и я уверен, что на нее можно ответить, @Fussionweb верен, вы должны предоставить образец кода, демонстрирующий, что вы сделали, и который воспроизводит эту проблему.
 – 
Brett Caswell
28 Окт 2019 в 11:39

3 ответа

Вопрос слишком общий, но я думаю, что это образец для него.

Добавьте стили ниже к изображениям обертывания div.

.wrapper {
   display: flex;
   flex-wrap: wrap;
   overflow: hidden;

   // the following styles are optional but you must specify width and height
   width: 100%;
   height: 320px;
   padding: 20px;
}

И добавьте эти стили к изображениям.

img {
   height: 100%;
   width: auto;

   // optional
   margin-right: 50px;
   margin-top: 50px;
}

Стили оболочки заставляют изображения переноситься в несколько строк, если они увеличивают ширину оболочки, а overflow: hidden заставляет показывать только одну строку

1
amir mahdi digbari 28 Окт 2019 в 12:23

Используйте width:100% в теге img в html

ИЛИ

Вы можете использовать его в своей таблице стилей, например

img{
  width:100%;
}

Также попробуйте использовать objectfit:contain, если у вас img есть исправленные height width

0
Awais 28 Окт 2019 в 11:35
Вероятно, просто хочет обернуть контейнер, а не изменять размер и масштаб изображения.
 – 
Brett Caswell
28 Окт 2019 в 11:35
Затем настройте таргетинг, например, .container img{ width: 100%;}
 – 
Awais
28 Окт 2019 в 11:36
А также почему вы используете скрытое переполнение?
 – 
Awais
28 Окт 2019 в 11:37

Вот расширенное решение амира махди дигбари в действии.

Вы можете добиться того же с помощью CSS-сетки, но для этого достаточно flexbox.

.img {
  height: 200px;
  width: 200px;
  border: 1px solid red;
}

.wrapper {
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 200px;
  flex-wrap: wrap;
  justify-content: space-around;
  border: 2px solid blue;
}

.container {
  width: 1250px;
  max-width: 100%;
  margin: auto;
}
<div class="container">
  <div class="wrapper">
    <div class="img">Img1</div>
    <div class="img">Img2</div>
    <div class="img">Img3</div>
    <div class="img">Img4</div>
    <div class="img">Img5</div>
    <div class="img">Img6</div>
  </div>
</div>

Удачного кодирования!

0
David Zoufalý 10 Ноя 2019 в 21:42