Home Web Front-end HTML Tutorial How to implement a waterfall flow gallery layout using HTML and CSS

How to implement a waterfall flow gallery layout using HTML and CSS

Oct 24, 2023 pm 12:43 PM
css html waterfall flow layout

How to implement a waterfall flow gallery layout using HTML and CSS

How to use HTML and CSS to implement waterfall flow gallery layout

Waterfall flow layout is a common gallery layout method, which arranges pictures in multiple columns. Make the page look more interesting and beautiful. This article will introduce how to use HTML and CSS to implement waterfall flow gallery layout, and provide specific code examples.

1. HTML structure

First, we need to create a container in HTML to wrap all images. For example, we can create a <div> element and set a unique ID to it, such as "gallery": <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&lt;div id=&quot;gallery&quot;&gt; &lt;!-- 在这里插入图片 --&gt; &lt;/div&gt;</pre><div class="contentsignin">Copy after login</div></div><p>Then, we need to insert multiple picture. We can insert an image using the <code><img src="/static/imghw/default1.png" data-src="image1.jpg" class="lazy" alt="How to implement a waterfall flow gallery layout using HTML and CSS" > element and then place it in the container we created earlier. For example:

<div id="gallery">
  <img src="/static/imghw/default1.png"  data-src="image1.jpg"  class="lazy" alt="Image 1">
  <img src="/static/imghw/default1.png"  data-src="image2.jpg"  class="lazy" alt="Image 2">
  <img src="/static/imghw/default1.png"  data-src="image3.jpg"  class="lazy" alt="Image 3">
  <!-- 插入更多图片 -->
</div>
Copy after login

Please note that here are simply a few pictures inserted as examples, you can insert more pictures according to your own needs.

2. CSS Style

Next, we need to use CSS to define the style of the waterfall flow layout. First, we can set the width and number of columns of the entire container. For example:

#gallery {
  max-width: 1000px; /* 设置最大宽度 */
  column-count: 3; /* 设置列数 */
  column-gap: 20px; /* 设置列间距 */
}
Copy after login

In the above code, we set the maximum width of the container to 1000 pixels and divide the container into 3 columns. At the same time, we set the spacing between columns to 20 pixels.

Next, we need to adjust the width and height of each image to fit the waterfall layout. We can do this using the width, height and object-fit properties of CSS. For example:

#gallery img {
  width: 100%; /* 使每个图片宽度占满列的宽度 */
  height: auto; /* 根据原始比例调整高度 */
  object-fit: cover; /* 填充整个容器,保持图片比例 */
  margin-bottom: 20px; /* 设置图片之间的垂直间距 */
}
Copy after login

In the above code, we set the width of each image to 100% (full column width), and then automatically adjust the height according to the proportion of the original image. At the same time, we use object-fit: cover; to maintain the proportions of the image and fill the entire container. Finally, we set the vertical spacing between each image to 20 pixels.

3. JavaScript to implement dynamic layout (optional)

If you want the layout of the image to dynamically adjust when the window size changes, you can use JavaScript to achieve this. Here, we can use the resize event of the window object to listen for window size changes and recalculate the layout of the image based on the new window size. For example:

window.addEventListener('resize', function() {
  var gallery = document.getElementById('gallery');
  var columnCount = Math.floor(gallery.offsetWidth / 300); // 假设每列宽度固定为300像素
  gallery.style.columnCount = columnCount;
});
Copy after login

In the above code, we obtain the width of the container in real time by listening to the resize event of the window, and calculate the new number of columns based on the new width. Then, we reset the number of columns by modifying the columnCount property of the container.

Summary

Through the above steps, we can use HTML and CSS to implement the waterfall flow gallery layout. You can adjust the width of the container, the number of columns, and the spacing of images according to your needs to achieve the effect you want. It should be noted that if you want to implement dynamic layout, you can use JavaScript to dynamically adjust the layout. Hope the above content is helpful to you!

The above is the detailed content of How to implement a waterfall flow gallery layout using HTML and CSS. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use bootstrap button How to use bootstrap button Apr 07, 2025 pm 03:09 PM

How to use the Bootstrap button? Introduce Bootstrap CSS to create button elements and add Bootstrap button class to add button text

How to resize bootstrap How to resize bootstrap Apr 07, 2025 pm 03:18 PM

To adjust the size of elements in Bootstrap, you can use the dimension class, which includes: adjusting width: .col-, .w-, .mw-adjust height: .h-, .min-h-, .max-h-

How to write split lines on bootstrap How to write split lines on bootstrap Apr 07, 2025 pm 03:12 PM

There are two ways to create a Bootstrap split line: using the tag, which creates a horizontal split line. Use the CSS border property to create custom style split lines.

How to set up the framework for bootstrap How to set up the framework for bootstrap Apr 07, 2025 pm 03:27 PM

To set up the Bootstrap framework, you need to follow these steps: 1. Reference the Bootstrap file via CDN; 2. Download and host the file on your own server; 3. Include the Bootstrap file in HTML; 4. Compile Sass/Less as needed; 5. Import a custom file (optional). Once setup is complete, you can use Bootstrap's grid systems, components, and styles to create responsive websites and applications.

How to view the date of bootstrap How to view the date of bootstrap Apr 07, 2025 pm 03:03 PM

Answer: You can use the date picker component of Bootstrap to view dates in the page. Steps: Introduce the Bootstrap framework. Create a date selector input box in HTML. Bootstrap will automatically add styles to the selector. Use JavaScript to get the selected date.

How to insert pictures on bootstrap How to insert pictures on bootstrap Apr 07, 2025 pm 03:30 PM

There are several ways to insert images in Bootstrap: insert images directly, using the HTML img tag. With the Bootstrap image component, you can provide responsive images and more styles. Set the image size, use the img-fluid class to make the image adaptable. Set the border, using the img-bordered class. Set the rounded corners and use the img-rounded class. Set the shadow, use the shadow class. Resize and position the image, using CSS style. Using the background image, use the background-image CSS property.

How to verify bootstrap date How to verify bootstrap date Apr 07, 2025 pm 03:06 PM

To verify dates in Bootstrap, follow these steps: Introduce the required scripts and styles; initialize the date selector component; set the data-bv-date attribute to enable verification; configure verification rules (such as date formats, error messages, etc.); integrate the Bootstrap verification framework and automatically verify date input when form is submitted.

How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

See all articles