マスターしなければならない CSS 属性 -- lineheight
1. 行の高さの定義
行の高さは、行間の距離、つまりベースライン間の距離を指します。それなのに、なぜ 1 行のテキストにもベースラインが存在するのでしょうか。行の高さ?私たちはこの疑問を念頭に置いて見下ろします。
これは単一行のテキストであり、コンテンツエリアがあります。
図1
「コンテンツエリア」(コンテンツエリア)は、マウスで選択されたテキストエリアのサイズと考えることができます。そのサイズは font-size にのみ関係しており、図 1 のテキストがマウスで選択されている領域、つまり「単一行のテキスト」が選択されている領域として見ることができます。
「インラインボックス」(インラインボックス)は、テキストをブロック単位で表示するのではなく、連続して表示します。また、spanタグなどのinline要素で囲まれた「コンテンツ領域」を「インラインボックス」、inline要素で囲まれていない部分を「匿名インラインボックス」とみなすことができます。 「インラインボックス」は図1のspanタグ内の「コンテンツエリア」領域として、「匿名インラインボックス」は赤い点線で囲まれたコンテンツとして見ることができます。
「ラインボックス」(ラインボックス)、各ラインは「ラインボックス」であり、ラインボックスボックスは匿名インラインボックスと非匿名インラインボックスで構成されます。これは、図 1 の最も外側の赤い実線で囲まれた領域として確認できます。
「Containing box」(containing box)、このボックスは「ラインボックスボックス」で構成されています。
3. 行の高さのメカニズム
行の高さの影響はどこにでもあり、単一行のテキストであっても例外ではありません。
テキストの 1 行の高さのパフォーマンスは line-height によってのみ影響を受けますが、主にコンテンツ領域と行間隔によって影響されます。
単一行のテキスト行の高さ:
line-height = コンテンツ領域の高さ + 行間隔の高さ
次に:
行間隔 = line-height - コンテンツ領域の高さ
通常、テキストの上部と「line box box」 の頂点間の距離は半行間隔です。
4 ピクセルには固定値がありますが、残りの値はブラウザのデフォルトのサイズに基づいて変換するか、本文の font-size プロパティを使用して計算する必要があります。
(3)
line-height:2; font-size:20px;
すると、子要素に基づいて行の高さを再計算することなく、「テキストテキスト」の行の高さは30pxになり、内部のpタグの行の高さも30pxになります。
これは、行の高さがパーセンテージとして設定されている場合、 font-size に基づいて計算された親要素の行の高さが子要素に継承
され、子要素は font-size に基づいて行の高さを再計算しません。これは一般的にはあまり使用されません。 (4)、normalは、ブラウザのデフォルトの line-height プロパティに従って行の高さを設定します。 行の高さは IE8+ を継承します親要素の行の高さの設定を継承します。これは通常、一部の input タグと button タグに適用されます。 (1)、画像
とコンテナ内の底部との間の距離を排除します画像2 原因:のデフォルトのベースライン配置インライン要素、空白 ラベルには空白のゴースト ノードが含まれています。これは、vertical-align
:baseline に従って画像をテキストと位置合わせするのと同等であるため、画像の下部にギャップが生じます。 親要素が固定高に設定されている場合、単純な p には画像と文字 c が含まれます。デフォルトでは、画像はテキストのベースラインに合わせて配置されます。図 3 では、c はゴースト空白ノードに相当します。2、画像の縦揃え:
下3,让匿名空白节点line-height:0
(2),小图标大文字
<i class='icon'></i> <span>这是span标签内的文字</span> span{ line-height:30px; vertical-align:middle; } i{ vertical-align:middle; }
(3),图片水平垂直居中
图三
图四
原理:
空白p内存在空白幽灵节点(看不见摸不着但存在空白元素中,例如图四中的)。
当设置text-align的时候,内联元素文字和图片会居中显示,我们让空白幽灵节点的行高与p高度一致,这样就可以实现垂直居中,图片和幽灵空白节点默认基线对齐,这时图片将偏上显示,我们设置图片的vertical-align为middle就可以实现图片近似居中的效果了。
如果想让图片完全垂直居中,我们可以让p的font-size:0,原因是不同字体的显示效果不同,有的下沉,有的刚好中线对齐,当font-size:0的时候,文字就变成一个点了,也就不存在不同字体的差异了。
(4),多行文本垂直居中
图五
图六
原理:
我们可以把span看做是图片,这样原理就和图片垂直居中原理大同小异了。就是需要将span的元素display设置成inline-block,并且重置line-height和text-align。
为何display不能是inline属性,个人观点,如果还是inline元素的话,由于此时父元素的line-height过高,子元素设置的行高很小就没有作用(因为line-height达不到父元素行高的高度,所以看上去好像是无效的),类似于margin中的由于浮动或者绝对定位的无效的原因,我在另外margin篇有介绍,css中margin的深入了解,如果有兴趣可以去看看,如果设置子元素line-height设置很大的话是有作用的,所以只能让span元素为inline-block元素,inline-block具有包裹性,所以呈现出图六效果。
如果容器是自适应高度的,无法获得高度,那么我们可以让外部容器为表格元素居中。
【相关推荐】
1. 免费css在线视频教程
2. css在线手册
以上がマスターしなければならない CSS 属性 -- lineheightの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

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

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

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

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。
