この記事では主に CSS の 2 列レイアウトの実装方法の概要を紹介し、absolute + margin および float + margin メソッドを含むいくつかの実践方法と問題について説明します。必要な友人は参照してください
2 列レイアウトはおそらく最も古典的です。 one これは Web ページのレイアウト方法であり、このブログではこのレイアウトを使用しています。 2 列レイアウトでは、メイン列 (メイン) の幅が適応型で、サブ列 (サイドバー) の幅が固定であるのが最も一般的です。
今日は、この固定幅 + アダプティブ 2 列レイアウトを実装する方法について説明します。
1. 絶対値 + マージン法
まず思いつくのは、絶対値 + マージン法を使用することです。まずコードを見てみましょう:
<p class="container"> <p class="sidebar">子列</p> <p class="main">主列</p> </p>
.container { position: relative; } .sidebar { position: absolute; top: 0; left: 0; width: 200px; height: 300px; background-color: rgba(255, 0, 0, .5); } .main { height: 300px; margin-left: 210px; background-color: rgba(0, 255, 0, .5); }
このメソッドは、位置を使用してサイドバー列をドキュメント フローから取り出し、次にメイン列の左マージンを使用してサイドバー列で覆われた部分を削除します。このようにして、固定幅 + アダプティブ 2 列レイアウトを実現しました。
(1) 列の順序の調整
HTML を変更せずに、CSS を変更するだけで、左右の列の順序を入れ替えることができます。コードを見てください:
.sidebar { position: absolute; top: 0; rightright: 0; } .main { margin-right: 210px; }
(2) Mainコンテンツ列が最初に表示されます
もっと完璧に考えてみましょう。メインコンテンツを最初にロードしてレンダリングできるように、メイン列をサイドバー列の前に置くことはできますか?試してみましょう!
<p class="container"> <p class="main">主列</p> <p class="sidebar">子列</p> </p>
上記の簡単な調整を行うだけで、CSS を変更する必要はありません。
(3) 問題点
この方法には多くの利点がありますが、致命的な欠点があります。サイドバー列はドキュメント フローから分離されているため、サイドバー列がメイン列よりも高い場合、後続のレイアウト: 問題のデモがカバーされます。
コンテナコンテナにoverflow:hiddenを追加すると、サイドバーのオーバーフロー部分がカットされます。このレイアウトでは、この問題に対する効果的な解決策は実際にはありません。
2. Float + margin メソッド
次に思い浮かぶのは、2 列レイアウトを実装するための float + margin です。まず、左側の列の幅が固定され、メイン コンテンツが適応される 2 列のレイアウトです。 。コードは次のとおりです:
<p class="sidebar">子列</p> <p class="main">主列</p>
.sidebar { float: left; width: 200px; height: 300px; background-color: rgba(255, 0, 0, .5); } .main { height: 300px; margin-left: 210px; background-color: rgba(0, 255, 0, .5); }
この実装方法は比較的単純です。まずサブ列を左側にフローティングし、次にメイン列に margin-left を設定してサブ列の表示スペースを残します。
では、このメソッドは列の位置の交換をサポートしていますか?もちろん。 CSS コードは以下の通りです:
.sidebar { float: rightright; width: 200px; height: 300px; background-color: rgba(255, 0, 0, .5); } .main { height: 300px; margin-right: 210px; background-color: rgba(0, 255, 0, .5); }
問題点:
float + margin の方法は良い方法のようですが、前述した最初に表示されるメインカラムの最適化が達成できません。
3. float + negative margin メソッド
これ以上はナンセンスです。コードに直接進みましょう:
<p class="main-wrapper"> <p class="main">主列</p> </p> <p class="sidebar">子列</p>
.main-wrapper { float: left; width: 100%; } .main { height: 100px; margin-left: 210px; background-color: rgba(255, 0, 0, .5); } .sidebar { float: left; width: 200px; height: 100px; margin-left: -100%; background-color: rgba(0, 255, 0, .5); }
これはダブルウィング レイアウトであり、メイン列が最初に表示されることに誰もが気づいたはずです。実装プロセスは次のとおりです:
まずメイン列とサイドバー列をフロートさせ、次に負のマージンを介してサイドバー列を正しく配置します。
メイン列を p にネストし、p の幅の値を 100% に設定します。
最後に、メイン列の左マージンを設定して、サイドバーで覆われた部分を削除します。
以上がCSS 2 列レイアウトの実装方法の概要を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

@keyframesispopularduetoitsversitility andpowerincreatingsmoothcssanimations.keytricksinclude:1)defingsmoothtransitionsbetweenstates、2)AnimatingMultipleProperiessimally、3)3)bendorprefixesforbrows -compativity、4)組み合わせwithjavasfo

csScounterSareSareusedTomageautomaticinginginwebdesigns.1)それらは、コンテンツ、リスト、および積極的なものを使用することができます

特にモバイルデバイスでは、スクロールシャドウを使用することは、Chrisが以前にカバーした微妙なUXです。 Geoffは、アニメーションタイムラインプロパティを使用する新しいアプローチをカバーしました。これがさらに別の方法です。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版
便利なJavaScript開発ツール
