如何使用HTML和CSS创建响应式图片网格?


网页上的图片网格以网格形式显示图片。在一个外部网格中,我们可以创建内部网格。此外,需要为不同设备的图片网格设置响应式布局。在网页浏览器上,通过调整浏览器大小来检查响应式布局。让我们看看如何使用HTML和CSS创建一个响应式图片网格。

设置外部和内部网格

设置一个用于外部网格的div。在其中,设置内部网格。我们在外部网格内设置了三个内部网格。

<div class="outer-grid">
   <div class="inner-grid">
      <!—images -->
   </div>
   <div class="inner-grid">
      <!—images -->
   </div>
   <div class="inner-grid">
      <!—images -->
   </div>
</div>

定位外部网格

使用`**display**`属性将外部网格设置为flex布局。`**flex-wrap**`属性设置为`**wrap**`值,以指定flex项目在必要时会换行。

.outer-grid {
   display: flex;
   flex-wrap: wrap;
   padding: 0 4px;
}

定位内部网格

为内部网格设置flex布局。`flex-basis`设置为25%,因此`**flex: 25%**`。它设置flex项目的初始主要大小。`**max-width**`属性用于设置最大宽度。

.inner-grid {
   flex: 25%;
   max-width: 25%;
   padding: 0 4px;
}

内部网格中的图片

内部网格中图片的宽度设置为100%。

.inner-grid img {
   margin-top: 8px;
   width: 100%;
   padding: 10px;
}

设置响应式布局

当网页浏览器设置为小于800px时,响应式布局生效。`**flex**`属性设置为50%。

@media screen and (max-width: 800px) {
   .inner-grid {
      flex: 50%;
      max-width: 50%;
   }
}

当网页浏览器大小小于600px时,`flex`和最大宽度设置为100%。

@media screen and (max-width: 600px) {
   .inner-grid {
      flex: 100%;
      max-width: 100%;
   }
}

示例

以下是使用HTML和CSS创建响应式图片网格的代码:

<!DOCTYPE html>
<html>
   <style>
      * {
         box-sizing: border-box;
      }
      h1 {
         text-align: center;
      }
      .outer-grid {
         display: flex;
         flex-wrap: wrap;
         padding: 0 4px;
      }
      .inner-grid {
         flex: 25%;
         max-width: 25%;
         padding: 0 4px;
      }
      .inner-grid img {
         margin-top: 8px;
         width: 100%;
         padding: 10px;
      }
      @media screen and (max-width: 800px) {
         .inner-grid {
            flex: 50%;
            max-width: 50%;
         }
      }
      @media screen and (max-width: 600px) {
         .inner-grid {
            flex: 100%;
            max-width: 100%;
         }
      }
   </style>
<body>
   <h1>Responsive Image Grid Example</h1>
   <div class="outer-grid">
      <div class="inner-grid">
         <img src="https://images.pexels.com/photos/1083822/pexels-photo-1083822.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/>
         <img src="https://images.pexels.com/photos/1083822/pexels-photo-1083822.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/>
         <img src="https://images.pexels.com/photos/1083822/pexels-photo-1083822.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"   />
      </div>
      <div class="inner-grid">
         <img src="https://images.pexels.com/photos/3805102/pexels-photo-3805102.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"   />
         <img src="https://images.pexels.com/photos/3805102/pexels-photo-3805102.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"   />
         <img src="https://images.pexels.com/photos/3805102/pexels-photo-3805102.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" />
      </div>
      <div class="inner-grid">
         <img src="https://images.pexels.com/photos/3863778/pexels-photo-3863778.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" />
         <img src="https://images.pexels.com/photos/3863778/pexels-photo-3863778.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"   />
         <img src="https://images.pexels.com/photos/3863778/pexels-photo-3863778.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"   />
      </div>
   </div>
</body>
</html>

更新于:2023年12月8日

5K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告