ホームページ > 記事 > ウェブフロントエンド > CSSでの行揃えと縦揃えの例を詳しく解説
インライン要素の書式設定順序: font-size-->em ボックス-->コンテンツ領域-->インラインボックス-->ベースラインに基づいてインラインボックスを配置-->行ボックスの高さを決定します
関連概念:
行送り (行間隔): は、行の高さとフォントサイズの差に等しい、行送りの半分が追加されるテキストの 2 行の間に埋められたリードバーを指します。先頭の残りの半分はテキストの下に追加され、置換されない要素にのみ使用されます。
emボックス: emボックスは、行間隔なしでベースライン間の距離を示します。実際のグリフはemボックスよりも高かったり、短かったりする場合があります。
font-size : 指定されたフォントの em ボックスの高さを決定しますが、実際に表示される文字がこのサイズになるという保証はありません。 font-size 属性と実際のフォント サイズの間の具体的な対応関係は、フォント デザイナーによって決定されます。
ベースライン: ほとんどの文字が「置かれ」、その下にディセンダーが伸びる線は、漢字の下端ではなく、英語の文字「x」の下端です。
コンテンツエリア (コンテンツエリア): 非置換要素は、要素の固有の高さに可能なマージンとボックスを加えたフォントサイズによって間接的に決定される、連結されたボックスで構成されるボックスです。
インラインボックス (インラインボックス): 仮想長方形ボックス。表示できません。サイズはコンテンツ領域に先頭を加えたものです。置換されていない要素の場合は行の高さの値と等しく、置換された要素の場合はコンテンツ領域の高さと同じになります。同じ行内の複数の要素は、異なる行の高さとインライン ボックスの高さを指定できます。
ラインボックス (ラインボックス): ライン内のすべてのインラインボックスの最高点と最低点を含む最小のボックス。ラインボックスの高さは、ラインの高さにのみ関係します。この行の要素、、および line-Height には直接の関係はなく、親要素の高さとも関係がありません。インライン ボックスは、vertical-align プロパティの値に基づいて行内で垂直に配置されます。
匿名テキスト: は、インライン要素に含まれない任意の文字列を指します。
line-height: はテキスト行のベースライン間の距離を指し、各要素ボックスがどの程度増減するかを決定します。デフォルトは要素自体のフォント サイズの 1.2 倍です。
line-height 値が親要素から継承される場合、子要素 (em など) で計算された値ではなく、親要素で計算された値が継承されます。スケーリング係数 (単位のない純粋な数値) の場合、計算値ではなくスケーリング係数が継承され、スケーリング係数と子要素のフォント サイズの積が最終的に計算されます。
図 1:
図 2: CSS の行
図 3: 行ボックスの高さの決定
要素の置換
置換された要素が影響するその要素 インライン ボックス。これはライン ボックスの高さに影響します。
、、
非置換要素
置換要素を除く他のすべての要素は非置換要素であり、実際のコンテンツはドキュメント フロー内にあり、CSS の視覚的書式設定モデルが非置換要素のレンダリングを担当します。
置換されていない要素のマージンと境界線は、線要素のインラインボックスの高さに影響しません。
vertical-align: 垂直配置。インライン要素、置換要素、表のセルにのみ適用され、継承できません。
デフォルト値はベースラインで、インライン要素のベースラインを行のベースラインに揃えます。テキストはベースラインに従って揃えられます。画像、フォーム入力要素、その他の置換要素など、垂直方向に整列した要素にベースラインがない場合は、要素の 下端 を親要素のベースラインに揃えます。
その線の下には、ディセンダー用のスペースがあります。 f、j、p、q などの文字。修復方法: 画像のvertical-align属性値を設定するか、display:block;を変更するか、親要素のfont-size/line-heightを変更してインラインの高さを調整します。画像より小さい箱です。親要素の font-size:0; の極端な場合、中心線とベースラインは一致します。 下:要素のインラインボックスの下端をラインボックスの下端に揃えます。
中: インライン要素ボックスの中心線を、ベースラインから 0.25em 上の点に位置合わせします。これは、小文字 x の高さの半分 (つまり 0.5ex) であるベースラインからの距離にも等しくなります。 x 文字は多少沈むため、x 文字の中点はコンテンツ領域の絶対的な中心線ではありません。 パーセンテージ: 要素の
線の高さ
を基準にして計算します。インライン置換可能要素の行の高さの機能は、垂直方向の配置の計算を支援することです。 特定の長さの値: 親要素のベースラインに対して指定された距離だけ要素を上下させます。垂直方向に配置されたテキストは他の行のテキストを覆いません。現在の行の行の高さにのみ影響し、最上位のインライン ボックスの上部と最下位のインライン ボックスの下部を含めるのに十分な大きさになります。
Inline-block: inline-block
インラインブロックはデフォルトでベースラインに揃えられますが、ベースラインを決定するための特別な規則があります。の 「inline-block」のベースラインは、その最後の行ボックスのベースラインです。 通常の流れ(流入ラインボックスがない場合、または「オーバーフロー」の場合を除く) プロパティに「visible」以外の計算値が含まれている場合、ベースラインは は下マージンの端なので、次のようなレイアウトが表示されますが、vertical-align:top; を変更することで修正できます。
以上がCSSでの行揃えと縦揃えの例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。