HTML と CSS を使用してウォーターフォール フロー ギャラリー レイアウトを実装する方法
HTML と CSS を使用してウォーターフォール フロー ギャラリー レイアウトを実装する方法
ウォーターフォール フロー レイアウトは、画像を複数の列に配置する一般的なギャラリー レイアウト方法です。より面白くて美しく見えます。この記事では、HTML と CSS を使用してウォーターフォール フロー ギャラリー レイアウトを実装する方法を紹介し、具体的なコード例を示します。
1. HTML 構造
まず、すべての画像をラップするコンテナを HTML で作成する必要があります。たとえば、<div> 要素を作成し、「gallery」などの一意の ID を設定できます。<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><div id="gallery">
<!-- 在这里插入图片 -->
</div></pre><div class="contentsignin">ログイン後にコピー</div></div><p>次に、複数の画像を挿入する必要があります。 <code><img src="/static/imghw/default1.png" data-src="image1.jpg" class="lazy" alt="HTML と CSS を使用してウォーターフォール フロー ギャラリー レイアウトを実装する方法" >
要素を使用して画像を挿入し、前に作成したコンテナに配置します。例:
<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>
ここでは例としていくつかの画像が挿入されているだけであり、必要に応じてさらに多くの画像を挿入できることに注意してください。
2. CSS スタイル
次に、CSS を使用してウォーターフォール フロー レイアウトのスタイルを定義する必要があります。まず、コンテナ全体の幅と列数を設定します。例:
#gallery { max-width: 1000px; /* 设置最大宽度 */ column-count: 3; /* 设置列数 */ column-gap: 20px; /* 设置列间距 */ }
上記のコードでは、コンテナの最大幅を 1000 ピクセルに設定し、コンテナを 3 列に分割します。同時に、列間の間隔を 20 ピクセルに設定します。
次に、ウォーターフォールのレイアウトに合わせて各画像の幅と高さを調整する必要があります。これは、CSS の width
、height
、および object-fit
プロパティを使用して行うことができます。例:
#gallery img { width: 100%; /* 使每个图片宽度占满列的宽度 */ height: auto; /* 根据原始比例调整高度 */ object-fit: cover; /* 填充整个容器,保持图片比例 */ margin-bottom: 20px; /* 设置图片之间的垂直间距 */ }
上記のコードでは、各画像の幅を 100% (全列幅) に設定し、元の画像の比率に従って高さを自動的に調整します。同時に、object-fit: cover;
を使用して、画像の比率を維持し、コンテナ全体を埋めます。最後に、各画像間の垂直方向の間隔を 20 ピクセルに設定します。
3. 動的レイアウトを実装するための JavaScript (オプション)
ウィンドウ サイズが変更されたときに画像のレイアウトを動的に調整したい場合は、JavaScript を使用してこれを実現できます。ここでは、window
オブジェクトの resize
イベントを使用して、ウィンドウ サイズの変更をリッスンし、新しいウィンドウ サイズに基づいて画像のレイアウトを再計算できます。例:
window.addEventListener('resize', function() { var gallery = document.getElementById('gallery'); var columnCount = Math.floor(gallery.offsetWidth / 300); // 假设每列宽度固定为300像素 gallery.style.columnCount = columnCount; });
上記のコードでは、ウィンドウの resize
イベントをリッスンすることでコンテナの幅をリアルタイムで取得し、それに基づいて新しい列数を計算します。新しい幅。次に、コンテナの columnCount
プロパティを変更して列数をリセットします。
概要
上記の手順により、HTML と CSS を使用してウォーターフォール フロー ギャラリー レイアウトを実装できます。必要に応じてコンテナの幅、列数、画像の間隔を調整して、希望の効果を実現できます。動的レイアウトを実装する場合は、JavaScript を使用して動的にレイアウトを調整できることに注意してください。上記の内容がお役に立てば幸いです。
以上がHTML と CSS を使用してウォーターフォール フロー ギャラリー レイアウトを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。
