会社のビジネス要件により、次の図の赤い領域の効果を達成する必要があります。 効果の説明: 1. 赤い領域のデータを反転し(つまり、下から数えて、数字は1、2、3、4、5)、下部に表示する必要があります。 フレックスレイアウトを使用して実装 <スタイル> *{ マージン: 0; パディング: 0; ボックスのサイズ: 境界線ボックス; } 。容器{ 位置: 相対的; 幅: 300ピクセル; 高さ: 500px; マージン: 10px 自動; 境界線: 1px 実線 #f60; 色: #fff; } 。トップ、 。底{ 高さ: 50%; パディング: 20px; } 。トップ{ 背景色: #da2e22; } .トップ>ul{ 幅: 100%; 高さ: 100%; オーバーフロー:自動; } 。底{ オーバーフロー:自動; 背景色: #1e1e1e; } </スタイル> <div class="コンテナ"> <div class="top"> <ul style="padding-top: 104px;"> <li>私は最初の li 要素です</li> <li>私は2番目のli要素です</li> <li>私は3番目のli要素です</li> <li>私は4番目のli要素です</li> <li>私は5番目のli要素です</li> </ul> </div> <div class="bottom"> <ul> <li>私は最初の li 要素です</li> <li>私は2番目のli要素です</li> <li>私は3番目のli要素です</li> <li>私は4番目のli要素です</li> <li>私は5番目のli要素です</li> </ul> </div> </div> 現時点では、フレックス レイアウトを使用するのが最善の解決策です。サブ要素は、1、2、3、4、5 の順序でレイアウトされます。レンダリング時にブラウザーは自動的に反転し、スクロール バーも反転します。つまり、自動的に下に配置されます。しかし、IE10 はまだ ~ をサポートしていないため、私が取り組んでいるこのプロジェクトでは使用できず、別の方法を見つける必要があります。 padding-topを使用して達成する <スタイル> *{ マージン: 0; パディング: 0; ボックスのサイズ: 境界線ボックス; } 。容器{ 位置: 相対的; 幅: 300ピクセル; 高さ: 500px; マージン: 10px 自動; 境界線: 1px 実線 #f60; 色: #fff; } 。トップ、 。底{ 高さ: 50%; パディング: 20px; } 。トップ{ 背景色: #da2e22; } .トップ>ul{ 幅: 100%; 高さ: 100%; オーバーフロー:自動; } 。底{ オーバーフロー:自動; 背景色: #1e1e1e; } </スタイル> <div class="コンテナ"> <div class="top"> <ul style="padding-top: 104px;"> <li>私は最初の li 要素です</li> <li>私は2番目のli要素です</li> <li>私は3番目のli要素です</li> <li>私は4番目のli要素です</li> <li>私は5番目のli要素です</li> </ul> </div> <div class="bottom"> <ul> <li>私は最初の li 要素です</li> <li>私は2番目のli要素です</li> <li>私は3番目のli要素です</li> <li>私は4番目のli要素です</li> <li>私は5番目のli要素です</li> </ul> </div> </div> padding-top を使用するのが最も簡単な実装方法ですが、純粋な CSS では実装できません。JS を使用して計算する必要もあります。プロジェクトの開始時には、padding-top+js 計算を使用して実装しました。この方法は実装が快適ではありません。Websocket によってデータがプッシュされるたびに、計算を実行する必要があります。では、もっと良い方法はあるのでしょうか?答えは間違いなく「はい」です。CSS の世界では、常に予期せぬサプライズがあります。重要なのは、強力な社内スキルを持つことです。 テーブルセルを使用して実装する <スタイル> *{ マージン: 0; パディング: 0; ボックスのサイズ: 境界線ボックス; } 。容器{ 位置: 相対的; 幅: 300ピクセル; 高さ: 500px; マージン: 10px 自動; 境界線: 1px 実線 #f60; 色: #fff; } 。トップ、 。底{ 高さ: 50%; パディング: 20px; オーバーフロー:自動; } 。トップ{ 背景色: #da2e22; } .トップコンテナ{ 表示: テーブル; 幅: 100%; 高さ: 100%; } .トップコンテナ>ul{ 表示: テーブルセル; 垂直方向の位置合わせ: 下; 幅: 100%; 高さ: 100%; } 。底{ 背景色: #1e1e1e; } </スタイル> <div class="コンテナ"> <div class="top"> <div class="トップコンテナ"> <ul> <li>私は最初の li 要素です</li> <li>私は2番目のli要素です</li> <li>私は3番目のli要素です</li> <li>私は4番目のli要素です</li> <li>私は5番目のli要素です</li> </ul> </div> </div> <div class="bottom"> <ul> <li>私は最初の li 要素です</li> <li>私は2番目のli要素です</li> <li>私は3番目のli要素です</li> <li>私は4番目のli要素です</li> <li>私は5番目のli要素です</li> </ul> </div> </div> テーブルセルを使用して下揃えを実現するのが現在のところ最後の解決策であり、IE8 とも互換性があります。下揃え問題は解決しました。「スクロールバーを下に引っ張る必要がある」という問題は、table-cell では実現できません。js を使用して制御するしかありません。偉大な神様は他に解決策を持っているのでしょうか? CSS テーブルとテーブルセルのレイアウトは、多くの特殊効果を実現できます。詳細については、私が知っている Zhang Xinxu の display: table-cell のアプリケーションを参照してください。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: WeChatミニプログラムQRコード生成ツール weapp-qrcode 詳細説明
>>: Linux DockerでSpringbootプロジェクトを実行するための詳細な手順
TypeScript バンドルwebpack 統合通常、実際の開発では、ビルド ツールを使用してコー...
要件: データをリスト形式で表示する場合、表示すべき情報項目が多く、表が横に長くなってしまいます。表...
3ウェイハンドシェイクフェーズクライアントSYNパケットの再試行回数sysctl -w net.ip...
Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...
昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、...
目次横棒グラフデータとスタイルを動的に更新するeChartsの幅と高さの適応の問題を解決する縦棒グラ...
この記事の例では、Webメッセージボードを実装するためのjsの具体的なコードを参考までに共有していま...
1. VMware 15.5から新しい仮想マシンを作成する1. VMware を開き、ホームページで...
1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...
突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場...
目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...
Mac オペレーティングシステムで MYSQL データベースのパスワードを忘れた場合の簡単な解決策1...
MySQL を使用して中国語の文字を挿入すると、多くの友人から次のエラーが報告されます。 これは、文...
1. 縦型テーブルと横型テーブル垂直テーブル: テーブル内のフィールドとフィールド値はキーと値の形式...