フレキシブル レイアウト (Flexbox) はますます人気が高まっており、CSS レイアウトの記述が非常に便利なため、使用する人が増えています。 3 年前に Flexbox の紹介記事 (上、下) を書きましたが、少しわかりにくかったです。今日、チュートリアルを見て、簡単なフォームでFlexboxを説明でき、内容も非常に実用的だと分かりました。 以下では、簡単なフォームレイアウトを学習するのに必要な時間はわずか 10 分です。 1. <form> 要素 フォームでは <フォーム></フォーム> 上記は空のフォームです。 HTML 標準によれば、これはブロックレベル要素であり、デフォルトでは全幅を占めますが、コンテンツがないため高さは 0 になります。 2. フォームコントロール ここで、最もよく使用される 2 つのフォーム コントロールを追加します。 <フォーム> <input type="email" name="email"> <button type="submit">送信</button> </フォーム> 上記のコードでは、フォームに入力ボックス ( 標準によれば、両方のコントロールはインライン ブロック要素であり、つまり、デフォルトでは 1 行に並んで配置されます。 上の図は、ブラウザによるこのフォームのデフォルトのレンダリングを示しています (色を除く)。2 つのコントロールの間に 3 ~ 4 ピクセルの間隔があることがわかります。これは、ブラウザの組み込みスタイルによって指定されています。 3. Flexboxレイアウトの指定 次に、フォームで Flexbox レイアウトを使用するように指定します。 形状 { ディスプレイ: フレックス; } ご覧のとおり、エラスティック レイアウト アイテムにはデフォルトでスペースがないため、2 つのコントロール間のスペースは消えます。 4. flex-grow属性 注目すべき場所が 2 つあります。 (1)エラスティックレイアウトではデフォルトでは項目の幅が変更されないため、2つのコントロール要素の幅は変更されませんでした。 (2)エラスティックレイアウトはデフォルトで左揃えになっているため、2つのコントロールは行の先頭から配置されます。 入力ボックスが現在の行の残りの幅全体を占めるようにしたい場合は、入力ボックスの 入力{ フレックス成長: 1; } 上の画像では、ボタンの幅は変わっていませんが、入力ボックスの幅が現在の行の幅からボタンの幅を引いた幅まで広くなっています。 5. align-itemsプロパティ 少し変更して、ボタンに画像を挿入してみましょう。 <フォームアクション="#"> <input type="email" placeholder="メールアドレスを入力してください"> <button type="button"><svg> <!-- スマイリーアイコン --> </svg></button> </フォーム> ボタンを画像に挿入すると、ボタンの高さが変わり、より高くなりました。この時、とても素晴らしいことが起こりました。 上の写真では、ボタンが高くなり、入力ボックスも自動的に同じ高さになります。 前述したように、エラスティック レイアウトでは、デフォルトではアイテムの幅は変更されませんが、デフォルトではアイテムの高さが変更されます。アイテムの高さを明示的に指定しない場合は、コンテナーの高さ全体がアイテムによって占められます。 この例では、ボタンが高くなり、フォーム要素も高くなり、入力ボックスの高さが自動的に伸びます。 入力{ フレックス成長: 1; 位置合わせ: 中央; }
項目数が多い場合、 形状 { ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 } 上記のコードでは、 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: SQL グループ化により重複を削除し、他のフィールドで並べ替える
>>: Mac で Docker を使用して Oracle をデプロイする方法
このプロジェクトは最近テストされ、テスターから、トークンの有効期限が切れたため、ルートが自動的にログ...
NFSが提供するサービスマウント: サーバー上で /usr/sbin/rpc.mountd サーボ ...
序文:フロントエンド: jq+h5 で 9 グリッドのダイナミック効果を実現バックエンド: thin...
この記事では、オンラインリアルタイム多人数チャットルームを実現するためのNode.js+expres...
【序文】最近、ITOO の試験システムのストレステストを行いたいので、自分のコンピュータに Lin...
JDK とは何ですか?まあ、この質問がわからないのであれば、なぜこれをインストールするのか本当にわか...
過去 15 日間のデータをバックアップするシンプルな MySQL 完全バックアップ スクリプト。バッ...
1. 最近、Ubuntu の新しいバージョンをインストールしました。/etc/ssh/sshd_co...
MySQL ログ システムで最も重要なログは、REDO ログとアーカイブ ログです。後者は MySQ...
履歴コマンドを表示し、指定されたコマンドを実行します owen@owen:~/owen/softwa...
目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...
目次1. クエリ結果を挿入する2. 集計クエリ2.1 はじめに2.2 集計関数2.3 group b...
Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....
MySQL 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...
現在、フロントエンドのパフォーマンス最適化について学んでいます。適切な解決策を見つけ、パフォーマンス...