目次
まえがき
関連css
line-box
高さを設定したコンテナを行の高さに設定すると、インラインメタコンテンツの上部と下部は 2 つの空白コンテンツの高さを増加します。コンテナの高さも line-height と等しくなるように拡張されます。
コンテナの高さを指定しない場合はコンテナの上下が潰れますが(marginが負の値の場合と同様)、上記の式はまだ保持しています。
line-heightの詳細説明
ホームページ ウェブフロントエンド htmlチュートリアル CSS インライン レイアウトの実践概要_html/css_WEB-ITnose

CSS インライン レイアウトの実践概要_html/css_WEB-ITnose

Jun 24, 2016 am 11:39 AM

まえがき

通常、要素を一列に配置するには、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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

See all articles