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 には、いくつかの特定の値があるか、値を指定します。
最初のスパンでは、以下に示すように 60px の垂直オフセットを設定します。<br /><br /><p class="a1"> <span style="vertical-align:60px;">English中文 </span> <span>中文English </span></p>ログイン後にコピー
ここでは、コンテナ (青) の高さが増加していることがわかります。このうち、黄色の線がベースラインで、緑色の線と黄色の線の間隔は 60px です。
コンテナの高さ height = line-height +vertical-align
同様に、コンテナの高さを指定した場合、高さは変更されず、超過した分はレイアウトに影響しません。 overflow:hidden が設定されている場合、余分な部分は表示されません。
vertical-align のその他の特殊な値は、コンテナの高さに応じて変化する相対値とみなすことができます。
結論インライン レベルの要素とインライン レイアウトの属性を上手に使用して、垂直方向と水平方向の中央揃え効果を非常に迅速に実現し、優れた保守性と拡張性を実現します。
リファレンス
W3C IFC
W3C line-heightとvertical-aliginline-heightの詳細説明

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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