一般的なアプリケーションシナリオ 現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウトはすべてのアプリに必須のものとなっています。 境界線付き、「機能ナビゲーション」ページでよく使用されます ボーダーレス、ホームページのカテゴリでよく使用される 設計目標 scss 環境では、n グリッドは mixin を通じて実装され、「境界線の有無」と「各グリッドが正方形であるかどうか」をサポートできます。 @include grid(3, 3, true); // 3 x 3、境界線あり、各グリッドは正方形 @include grid(2, 5, false, false); // 2 x 5、境界線なし 最終結果 「パディング率」のヒント まず、正方形を実現するためのちょっとしたコツを説明します。一度読めば理解できるはずです。結論は次のとおりです。 デザインアイデア(SCSS かどうかは関係ありません)
したがって、HTML は次のようになります。 <!-- a-grid はフレックス コンテナであり、コンテンツを「水平方向/垂直方向に中央揃え」することが簡単になります --> <div class="a-grid"> <!-- a-grid__item は正方形を実現するためのスペースを占めるために使用されます --> <div class="a-grid__item"> <!-- item__content はコンテンツの実際のコンテナです--> <div class="item__content"> コンテンツ... </div> </div> </div> コード (scss) ここでは 3 つのことが行われます。
.a-グリッド{ ディスプレイ: フレックス; flex-wrap: ラップ; 幅: 100%; .a-グリッド__アイテム{ テキスト配置:中央; 位置:相対; >.item__content { ディスプレイ:フレックス フレックスフロー: 列; アイテムの位置を中央揃えにします。 コンテンツの中央揃え: 中央; } } } @mixin グリッド($行:3、$列:3、$hasBorder:false、$isSquare:true) { .a-grid を拡張します。 .a-グリッド__アイテム{ flex-basis: 100%/$column; @if($isSquare) { パディング下部: 100%/$column; 高さ: 0; } >.item__content { @if($isSquare) { 位置:絶対; 上:0;左:0;右:0;下:0; } } } @for $index 1 から (($row - 1) * $column + 1) まで { .a-grid__item:n番目の子(#{$index}) { @if($hasBorder) { 下境界線: 1px 実線 #eee; } } } @for $index 1 から $column まで { .a-grid__item:n番目の子(#{$column}n + #{$index}) { @if($hasBorder) { 右境界線: 1px 実線 #eee; } } } } 使用 // 3行3列の正方形グリッドを生成します。a-grid-3-3 { @include グリッド(3, 3, true); } // 2 行 5 列の境界のないグリッドを生成します。各グリッドの高さはコンテンツによって決まります。a-grid-2-5 { @include グリッド(2, 5, false, false); } 注意: nxm レイアウトを作成する場合は、@include grid(n, m) を使用した後、HTML に nxm に対応する DOM 構造を追加することを忘れないでください。 ファイナル 内容は非常にシンプルで、実際のデバイス上ではより細く見える「ヘアライン」の境界線に変更できるなど、最適化できる領域はまだ多くあります。 さて、今回はこれで終わりです。もっと良い実装方法があれば、ぜひメッセージを残してください。お読みいただきありがとうございました。 最近、CSS スタイル ライブラリを作成しています。目標はアプレットと互換性を持たせることです。興味のある人は誰でも試すことができます。これは、このレッスンに対応するソース コードです。 https://github.com/any86/3a.css/blob/develop/src/components/_grid.scss 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
>>: Docker Swarm 外部検証ロードバランシングが機能しない場合の解決策
毎日jQueryプラグイン - カルーセルチャートを実装するためのjQueryプラグイン。参考までに...
Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテナ エンジンです...
インストールの提案: インストールには .exe を使用せず、圧縮パッケージを使用してください。これ...
この記事では、MySQL 8.0.15の詳細なインストールと使用方法のチュートリアルを参考までに紹介...
現在のトランザクションはどの履歴バージョンを読み取ることができますか?読み取りビューは、トランザクシ...
環境説明:実行中の MySQL 環境があります。以前の構成ファイルの設定が単純すぎたため (inno...
目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...
目次React アップロードファイル表示の進行状況デモフロントエンドにReactアプリケーションを素...
ある日、リーダーはメイン ページに iframe を埋め込み、親ページと子ページ間で双方向にメッセー...
1. 開発環境vue 2. コンピュータシステム Windows 10 Professional E...
目次成果を達成する実装コード最近、会社でelementUIを使い始めたため、開発の過程でテーブルのセ...
序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...
かなりの数のウェブサイトがデジタルページング効果を使用しています。たとえば、このサイトのページングも...
1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして...
この記事では、CSS3 の transform を使用して子要素の固定配置を絶対配置に変更する方法を...