2015-06-12 4 views
0

У меня есть сетка изображений, которые генерируются на экране. Количество изображений в строке на сетке зависит от размера страницы. Все работает хорошо, пока страница не становится слишком маленькой, затем макет уходит.CSS - остановка макета от изменения

This is the proper layout.

This is what happens when the page gets too small.

CSS:

.g { 
     padding: 0.25em; 
      overflow: hidden; 
     } 
     .g li { 
      float: left; 
      width: 50%; 
      padding: 10px; 
      padding-left: 10px; 
      border: 2px solid black; 
      background: #fff; 
      background-repeat: repeat; 
      background-size: cover; 
     } 
     .g img { 
     max-width: 100% 
      display: block; 
     } 

     @media screen and (min-width: 55em) { 
      .g li { 
       width: 25%; 
      } 
      .g li:nth-child(4n+1) { 
       clear: left; 
      } 
      .g li:nth-child(3n+1) { 
       clear: none; 
      } 
     } 
     @media screen and (min-width: 72em) { 
      .g li { 
       width: 20%; 
      } 
      .g li:nth-child(5n+1) { 
       clear: left; 
      } 
      .g li:nth-child(4n+1) { 
       clear: none; 
      } 
     } 

Могу ли я сделать это так, если страница получила небольшой, чем 4х4 сетки, что сетка по-прежнему остался, а не изменения?

ответ

0

Изменение CSS для:

.g { 
     padding: 0.25em; 
      overflow: hidden; 
     } 
     .g li { 
      float: left; 
      width: 20%; 
      padding: 10px; 
      padding-left: 10px; 
      border: 2px solid black; 
      background: #fff; 
      background-repeat: repeat; 
      background-size: cover; 
     } 
     .g img { 
     max-width: 100% 
      display: block; 
     } 
      .g li:nth-child(5n+1) { 
       clear: left; 
      } 
      .g li:nth-child(4n+1) { 
       clear: none; 
      } 

EDIT:

Просто удалите первую обертку СМИ.

.g { 
     padding: 0.25em; 
      overflow: hidden; 
     } 
     .g li { 
      float: left; 
      width: 50%; 
      padding: 10px; 
      padding-left: 10px; 
      border: 2px solid black; 
      background: #fff; 
      background-repeat: repeat; 
      background-size: cover; 
     } 
     .g img { 
     max-width: 100% 
      display: block; 
     } 

      .g li { 
       width: 25%; 
      } 
      .g li:nth-child(4n+1) { 
       clear: left; 
      } 
      .g li:nth-child(3n+1) { 
       clear: none; 
      } 
     @media screen and (min-width: 72em) { 
      .g li { 
       width: 20%; 
      } 
      .g li:nth-child(5n+1) { 
       clear: left; 
      } 
      .g li:nth-child(4n+1) { 
       clear: none; 
      } 
     } 
+0

Можно ли сохранить весь код у меня есть, но добавить проверку, чтобы увидеть, если страница меньше определенного размера, и если держать сетку на 25%, или 4 колонки? – MitchCool1

+0

Я не вижу смысла в этом. Вы просто собираетесь отменить код, который аналогичен его удалению. EDIT: Кроме того, с кодом по умолчанию ширина составляет 100% и один столбец. Теги @media составляют 20% ширины. –

+0

Код, который вы удаляете, устанавливает сетку в 4 или 5 столбцов, удаляя ее, удаляется любой макет сетки. Я хочу сохранить 4 или 5 столбцов, но не испортить его, когда он становится слишком маленьким. – MitchCool1