CSSレコードテキストアイコン配置のいくつかのソリューション

CSSレコードテキストアイコン配置のいくつかのソリューション

開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通常最も面倒です。最も一般的に使用される配置方法を使用した場合でも、常にわずかなずれが生じることがあります。最も基本的な例を見てみましょう。

HTML部分:

<div class="wrap">
    <img src="https://avatars3.githubusercontent.com/u/16339041?s=60&v=4" alt="">
    xxテスト配置スタイル-
</div>

CSS部分:

。包む {
      幅: 300ピクセル;
      テキスト配置: 中央;
      マージン: 20px 自動;
      フォントサイズ: 14px;
 }
 .wrap画像{
      幅: 20px;
 }

アライメントを使用しない場合の効果は次のとおりです。

デフォルトの配置はbaseline 、つまり文字 x の下の線です。

これも最初の質問の答えです。ブラウザの画像とテキストに追加の設定がない場合は、小文字の x の下端、つまりvertical-align:baseline;基準とします。

いくつかの一般的なセンタリングソリューション

1.ページを中央揃えにするにはvertical-alignを使用します

。包む {
    垂直位置合わせ: 中央;
    }
.wrap画像{
    垂直位置合わせ: 中央;
}

一般的に使用されるvertical-alignを使用してテキストと画像を揃えると、実際には以下に示すように一定の偏差が生じます。

vertical-alignの中央の値は、実際には小文字 x の高さの半分を基準としているため、画像は x の中央に揃えられます。ただし、S や漢字などの他の文字の場合は、いずれにしてもわずかな偏差があり、画像が相対的に低くなります。

2. vertical-alignとspanを使ってテキストを折り返す

少し変更して、テキスト部分を span タグで囲み、 vertical-align: middle;スタイルを使用して配置してみましょう。この時点で画像が少し上に移動していることがわかります。効果は以下のとおりです。

3. フレックスレイアウトを使用する

ディスプレイ: フレックス;
アイテムの位置を中央揃えにします。 

ただし、フレックス レイアウトであっても、画像サイズが偶数、フォント サイズが偶数、行の高さが偶数の場合、奇数のときは揃えられ、奇数のときは 1 ピクセル高くなるなど、多少の偏差が生じることがあります。

詳細については、 iconSizefontSizelineHeight

4. exユニットを使用する

この方法は、張新旭の「CSS World」で見たものです。exは小文字xの高さです。フォントやフォントサイズの影響を受けないインライン要素の垂直中央揃え効果を実現できます。PS:ただし、この方法は、文字の後に矢印を追加するなど、アイコンの高さがテキストと一致している状況に適しており、非常に実用的です(クリックして展開)。

.wrap画像{
    高さ: 1ex;
}

5. 垂直方向の数値法の使用

また、Zhang Xinxu の「CSS World」では、 vertical-align属性値に数値とパーセンテージ値を使用できることもわかりました。

例えば、上記の基本的な例を見てみましょう。画像の高さが20pxで、テキストのフォントサイズが22pxの場合

xの場合、デフォルトの配置はテキストのベースラインなので、画像は2px上になります。このとき、配置効果を得るには、画像を2px下に移動するだけでよく、 vertical-align属性の数値型は互換性が良好です。

。包む {
            幅: 100%;
            パディング上部: 200px;
            テキスト配置: 中央;
            マージン: 20px 自動;
            フォントサイズ: 22px;
            高さ: 40px;
            
        }
        .wrap画像{
            幅: 20px;
            垂直方向の配置: -2px;
        }

これで、CSS レコード テキスト アイコンの配置に関するいくつかのソリューションに関するこの記事は終了です。CSS テキスト アイコンの配置に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQLのインストールと設定に関する詳細なチュートリアル

>>:  hrefを使用すると、リンクをクリックするだけでページ上の特定の場所にジャンプできます。

推薦する

MySQL での select、distinct、limit の使用

目次1. はじめに2. 選択2.1 単一列のクエリ2.2 複数の列のクエリ2.3 すべての列をクエリ...

Linuxカーネルスケジューラソースコード初期化の分析

目次1. はじめに2. スケジューラの基本概念2.1. 実行キュー (rq) 2.2 スケジューリン...

MySQL mysqldump の使い方の詳しい説明

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...

Uniappの小規模プログラム開発経験

1. 新しいUIプロジェクトを作成するまず、私たちの UI は ColorUI に基づいています。C...

Docker を使用した MySQL のデプロイの詳細説明 (データ永続化)

この記事では、Docker を使用して MySQL をデプロイし、データを保持する方法について簡単に...

JavaScript でサウンド効果付きの花火効果を実装する

コードを書くのに 30 分かかりましたが、この HTML5 Canvas New Year Fire...

MySQL8.0.18 複数マスターと 1 スレーブの構成

目次1. 現実的な背景2. 合意3. マスターを構成する3.1. 起動パラメータの設定3.2. パラ...

JS はシンプルなカレンダー効果を実装します

この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...

IE8 と Chrome でテーブルの幅を修正する方法

IE8 や Chrome で上記の設定を使用すると、画面の最大幅に合わせて表示が統一され、各列の幅は...

dockerコンテナにviコマンドをインストールする簡単な操作

docker コンテナを使用する場合、vim がインストールされていないことがあり、vim コマンド...

JavaScriptで計算機機能を実現するプロセスの詳細な説明

目次1. 電卓機能の紹介2. 計算機ページのデザイン1. ナビゲーションバー2. データ部分3. i...

vue3 学習ノートにおける axios の使用の変更の概要

目次1. axioの基本的な使い方2. クロスドメインの問題を解決するには? 3. パッケージ4. ...

SecureCRT に基づくリモート Linux ホストへのファイルのアップロードとダウンロードのグラフィカルな手順

wget や curl ツールを使用して、Linux サーバーで大規模なネットワーク ファイルを直接...

React における ref の一般的な使用法の概要

目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....