検索
ホームページウェブフロントエンドhtmlチュートリアルCSS インライン レイアウトの実践概要_html/css_WEB-ITnose

まえがき

通常、要素を一列に配置するには、float を使用してから float をクリアするのが一般的な方法です。
以下の通り:

ただし、垂直方向の中央に配置したい場合は、青または緑のブロックの位置を手動で調整する必要があり、より面倒です。

または別の方法、インラインブロックまたはインライン (つまり IFC) を使用します。ここで落とし穴に遭遇しました。

関連css

IFC (インライン書式設定コンテキスト) インライン書式設定コンテキスト、それが何であるかわかりません。
主に IFC 内のレイアウトの CSS に影響します

  • font-size
  • line-height
  • height
  • vertical-aligin

line-box

によると、表示領域である line box モデルブロック コンテナーを使用すると、各行の複数のインライン レベル要素が結合してライン ボックス モデルを生成します。

font-size

テキストタイプノードのサイズを指定するために使用される共通属性。 IFC の多くの属性の値はこれに基づいています。

line-height と height

Line-height は w3c でより明確に定義されています:

コンテンツがインラインレベルの要素で構成されるブロックコンテナー要素では、「line-height」はその中の行ボックスの最小の高さを指定します。最小の高さは、ベースラインより上の最小の高さと、その下の最小の深さで構成されます。

複数のインライン要素で構成されるブロック コンテナー内で、'line-height' はインライン要素のライン ボックス モデルの最小高さを指定します。

この最小高さは、ベースラインより上の最小高さとベースラインより下の最小深さで構成されます。

盗んだ写真で説明すると、上から下の 4 つの線は、トップ ライン、ミドル ライン、ベースライン、ボトム ラインです。

次に、行の高さは、コンテキストの現在の行のベースライン間の垂直距離、つまり、画像内の 2 本の赤い線の間の垂直距離を指します (実際、数値的には、行の高さは 2 つの赤い線の間の距離にも等しくなります)他の同色)。

別の考え方を使って、下降傾向を理解してみましょう。

実際、多くの場合、コンテナーには 1 つの行、つまりベースラインが 1 つだけあります。この間隔を確保するために行の高さはどのように計算されますか?

青色の範囲です。コンテナと境界線はAラインボックスです。インライン要素内のテキスト。

つまり、

line-height > font-size の場合

高さを設定したコンテナを行の高さに設定すると、インラインメタコンテンツの上部と下部は 2 つの空白コンテンツの高さを増加します。コンテナの高さも line-height と等しくなるように拡張されます。

a1 + b1 +c1 == line-height & a1 == c1

コンテナの高さが設定されている場合、コンテナの下境界線を越えた部分はレイアウトに影響を与えません。

line-height

コンテナの高さを指定しない場合はコンテナの上下が潰れますが(marginが負の値の場合と同様)、上記の式はまだ保持しています。

a1 (負の値) + b1 + c1 (負の値) == line-height & a1 == c1

以下に示すように:

白は折りたたまれた部分 (つまり、a1 と c1)、赤はコンテナが overflow:hidden に設定されている場合は、赤い部分のみが表示されます。

コンテナの高さが指定されている場合、

height > の場合、黄色の線が下に移動し、赤い部分がさらに表示されます。

height


ここで何が起こるかというと、

コンテナの高さ height > line-height > font-size を決定します

vertical-align

垂直方向の整列ライン、デフォルトは Baselien、W3C 定義による :

このプロパティは、インライン レベルの要素によって生成されるボックスのライン ボックス内の垂直方向の位置に影響します。

vertical には、いくつかの特定の値があるか、値を指定します。

<br /><br /><p class="a1">  <span style="vertical-align:60px;">English中文  </span>  <span>中文English  </span></p>

最初のスパンでは、以下に示すように 60px の垂直オフセットを設定します。

このうち、黄色の線がベースラインで、緑色の線と黄色の線の間隔は 60px です。
ここでは、コンテナ (青) の高さが増加していることがわかります。

コンテナの高さ height = line-height +vertical-align

同様に、コンテナの高さを指定した場合、高さは変更されず、超過した分はレイアウトに影響しません。 overflow:hidden が設定されている場合、余分な部分は表示されません。


vertical-align のその他の特殊な値は、コンテナの高さに応じて変化する相対値とみなすことができます。

結論

インライン レベルの要素とインライン レイアウトの属性を上手に使用して、垂直方向と水平方向の中央揃え効果を非常に迅速に実現し、優れた保守性と拡張性を実現します。

リファレンス

W3C IFC

W3C line-heightとvertical-aligin

line-heightの詳細説明

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTML、CSS、およびJavaScriptの役割:コアの責任HTML、CSS、およびJavaScriptの役割:コアの責任Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは初心者のために簡単に学ぶことができますか?HTMLは初心者のために簡単に学ぶことができますか?Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLでの開始タグの例は何ですか?HTMLでの開始タグの例は何ですか?Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。