<br />原文: http://www.mikkolee.com/13 私は最近、vertical-align プロパティを詳しく研究してきましたが、その結果に驚きました。この非常に「上級」の CSS 標準は、実際にはブラウザによって動作が異なります。 vertical-align には、baseline、sub、supper、top、text-top、bottom、text-bottom、middle やさまざまな長さの値 (%、em、ex など) など、かなり多くの値があります。まず、最も誇張されていると思われる値「底値」をお見せしましょう。コードは次のとおりです。 p { フォントサイズ: 18px; 行の高さ: 36px; フォントファミリー: Tahoma、サンセリフ; } 画像 { 垂直方向の位置合わせ: 下 ; } それでは、この CSS の効果をさまざまなブラウザで見てみましょう (相対的な位置が明確にわかるように、意図的にこの画像を作成しました)。 ![]() ![]() ![]() ![]() ![]() まあ、この結果は実はかなり奇妙です。通常、Firefox の方が IE よりも正確に解釈すると思いますが、Opera を調べてみると、IE と同じで、Safari/Win は Firefox 側に立っていることがわかりました。正直に言うと、何が起こっているのか全く分かりません。 私は CSS 決定版ガイド (第 2 版) を注意深く研究し、W3C も参照して、vertical-align に関する図を作成しました。 ![]() W3C の定義によると、インライン要素の vertical-align が baseline、top、bottom に設定されている場合、要素のベースライン (または middle、top、bottom) は、画像の上部や周囲のテキストの上部など、周囲の要素と同じ位置に揃えられます。 text-top と text-bottom を使用する場合、要素の上部 (または下部) は周囲の要素の text-top (または text-bottom) に揃えられます。 長さ(%、em、ex)を計算する場合、ベースラインに基づいて上方向に移動するため、正の数値は上方向に、負の数値は下方向に計算されます。中央の場合、要素の中心が周囲の要素の中心に揃えられます。ここでの「中心」の定義は、画像はもちろん高さの半分で、テキストはベースラインから 0.5ex 上、つまり小文字の「x」の中心にある必要があるということです。ただし、多くのブラウザでは ex の単位を 0.5em と定義していることが多いため、必ずしも x の正確な中心になるわけではありません (上の画像を例にとると、x の高さは 10px であるのに対し、em は 18px であるため、2 つの値は異なります)。 しかし、上記のガイドラインに従っていても、ブラウザごとに解釈がまったく異なるのは、私にとっては依然として不可解です。なぜそうなるのかを調べるのは面倒です。一般的に言えば、フォントの各行の位置の定義がわずかに異なるため、この問題は vertical-align に関連するだけでなく、インライン テキストとインライン画像の構造に対するブラウザーの解釈にも大きく関係しています。 最後に、さまざまなブラウザが vertical-align のさまざまな値をどのように解釈するかを確認するためのテスト ページを示します。 http://www.mikkolee.com/weblab/001_vertical/ middle や text-top など、ブラウザによって完全に異なる他の値をテストすることもできます。あなたの考えを議論しましょう〜 |
<<: explainコマンドがMySQLデータを変更する理由
>>: JavaScriptプロトタイプとプロトタイプチェーンを徹底的に理解する
この記事では、年、月、日の3段階のリンクを実現するためのJavaScriptの具体的なコードを参考ま...
今日は、MySQL データベースと SQL 標準 (および他のデータベース) の UPDATE ステ...
ビジネス ソーシャル ネットワーキング サイト LinkedIn は最近、ナビゲーション バーとユー...
この記事では、例を挙げて MySQL のマルチテーブル クエリについて説明します。ご参考までに、詳細...
プログラムサービスがgitlab ci/cdと統合されたk8sを使用してデプロイされている場合、gi...
シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...
1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...
Excel のエクスポートは、docker 環境では常に失敗します。最も直接的な原因は、中国語フォン...
1. はじめに不明な値または部分的に既知の値をフィルタリングする場合は、like 演算子を使用でき...
スレッドがテーブルに対して DELAYED ステートメントを実行するときに、そのようなハンドラーが存...
目次1. プロトタイプとは何ですか? 2. プロトタイプ__プロト__ 4. コンストラクター5. ...
MySQL ページング分析の原理と効率改善PERCONA PERFORMANCE CONFERENC...
前回の記事では、Ubuntu 上の webrtc ベースの多人数ビデオチャット サービスの詳細なコー...
レンダリング下の画像のような効果を実現したい場合は、読み続けてアニメーション画像に直接進んでください...
:not疑似クラスセレクターは、式に一致しない要素をフィルタリングできます。例 テーブル tbod...