フロントエンドが習得すべき、複数列の等高レイアウトを実現するための CSS テクニック

フロントエンドが習得すべき、複数列の等高レイアウトを実現するための CSS テクニック

1. はじめに

ページを作成しているときに、複数列のレイアウトに遭遇することがあります。各列の内容が異なる場合があり、各列の実際の高さが異なります。各列に背景色が付いていると、各列の下部がずれてしまい、ユーザー エクスペリエンスが悪くなります。

実際の問題の影響は次のとおりです。

2. 要件は次のとおりです

達成したい効果は、各列の実際の内容に関係なく、各列が確実に整列されるようにすることです。

3. 解決方法

HTML コードは次のとおりです。

<ul class="記事">
    <li class="js-equalheight">
      <p>
      顧客の利益を第一に考えるブローカー。
      顧客に専門的な取引ツールを提供する顧客の利益を最優先するブローカー。
      顧客に専門的な取引ツールを提供する顧客の利益を最優先するブローカー。
      顧客に専門的な取引ツールを提供する 顧客の利益を第一に考え、顧客に専門的な取引ツールを提供するブローカー</p>
    </li>
    <li class="js-equalheight">
      <p>顧客の利益を第一に考え、顧客に専門的な取引ツールを提供するブローカー。顧客の利益を第一に考え、顧客に専門的な取引ツールを提供するブローカー。</p>
    </li>
    <li class="js-equalheight">
      <p>顧客の利益を第一に考えるブローカー</p>
    </li>
  </ul>

(1)純粋なCSSソリューション

CSS コードは次のとおりです。

。記事{
  オーバーフロー: 非表示;
}

.記事>li{
  フロート: 左;
  マージン: 0 10px -9999px 0;
  パディング下部: 9999px;
  背景: #4577dc;
  幅: 200ピクセル;
  色: #fff;
}

.記事>li>p{
  パディング: 10px;
}

分析と説明:要素のpadding-bottomはできるだけ大きくし、padding-bottomによって拡大された領域を相殺するために、同じサイズの負のmargin-bottom値を設定する必要があります。正の値と負の値は互いに相殺し、ページレイアウトに影響を与えません。さらに、子要素の余分なカラーブロックの背景を非表示にするには、親要素に overflow: hidden を設定する必要があります。上記の CSS ソリューションには互換性の問題がないため、安心して使用できます。

(2)jsソリューション

js コードは次のとおりです。

jQuery(ドキュメント).ready(関数() {
  等しい高さ();
});

jQuery(ウィンドウ).resize(関数() {
  jQuery('.js-equalheight').css('height','auto');
  等しい高さ();
});

関数equalheight() {
  var heights = jQuery(".js-equalheight").map(function() {
    jQuery(this).height() を返します。
  })。得る()、

  maxHeight = Math.max.apply(null、高さ);

  jQuery(".js-equalheight").height(maxHeight);
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Centos7 に MySQL 8.0.23 をインストールする手順 (初心者レベル)

>>:  Reactはconetxtを通じてマルチコンポーネント値転送関数を実装します

推薦する

60件のページング事例と優れた実践例を推奨

<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...

JS の配列トラバーサルについて、一般的なループをいくつ知っていますか?

序文基本的なデータ構造として、配列とオブジェクトはさまざまなプログラミング言語で重要な役割を果たしま...

Vue3 での Teleport の使用に関する詳細な説明

目次テレポートの目的テレポートの仕組みこの記事では、以下の内容を取り上げます。テレポートの目的テレポ...

VMware Workstation 仮想マシンのインストール操作方法

仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...

Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する

MySQL のインストール時にいくつかの問題が発生しました。オンラインで見つけた回答は似たようなもの...

MySQL データ型 DECIMAL の使用方法の詳細な説明

MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...

計算機機能を実装するミニプログラム

この記事の例では、計算機機能を実装するためのミニプログラムの具体的なコードを参考までに共有しています...

JS でシンプルな画像カルーセル効果を実現

この記事では、シンプルな画像カルーセル効果を実現するためのJSの具体的なコードを参考までに紹介します...

Vueはel-tableを使用して列と行を動的に結合します

この記事の例では、el-tableを使用して列と行を動的にマージするVueの具体的なコードを参考まで...

最新のウェブフロントエンドフレームワーク10選を紹介(翻訳)

Web 開発の世界では、フレームワークは非常に一般的です。新しいフレームワークやテンプレートが毎日の...

Centos7 サーバーで jar パッケージ プロジェクトを開始する最良の方法

序文Linux 上で jar パッケージを実行する方法は誰もが知っています。なぜ別々に話したいのでし...

MySQL 5.6 マスタースレーブエラー報告の実践記録

1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

CSS でショートカット プロパティを記述する際は、トラブルの順序に注意してください (落とし穴を避けるため)

ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...

一般的な Dockerfile コマンドの使用方法の紹介

目次01 CM 02 エントリーポイント03 ワークディレクトリ04 環境05 ユーザー06巻07 ...