• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:上下中央になったのですが理由がわかりません。)

なぜWEBフォントなのに上下中央になるのか理由がわからない

このQ&Aのポイント
  • 上下中央になった理由がわからない。
  • line-heightの値が大きいほど真ん中に来る。
  • IEとファイヤーフォックスで見た目が違う。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

なぜ仕様書を読まないの??  こんなところで聞いたって正確な情報は不可能  ⇒10.8 行の高さの計算: 'line-height'、'vertical-align'プロパティ( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/visudet.html#line-height )  line-heightは、本来font-sizeよりも大きいのですが、このように小さな値が指定されていると期待と異なる表示になる事があります。  特に、IEの互換モードでは、ボックスの寸法をボーダー辺で解釈します。  IEの場合、ウェブ標準で動作するようにDOCTYPEを記述すると、ウェブ標準で表示されるはずです。  しかし、行中央に表示させる場合は、heightとline-heightの値を同じにすべきです。 なお、font-familyには、必ず総称ファミリ名(generic-family)を書かなければなりません。  

noname#226032
質問者

お礼

ありがとうございました。 行中央に表示させる場合は、heightとline-heightの値を同じにしないといけないのですね。

その他の回答 (1)

回答No.1

heightとline-heightの両方を定義しているから。 line-heightは、行間なので文字は行間の中で中央に配置されます。 line-height:5pxでは、height:1.2emよりかなり小さな値のため、 文字は高さ1.2emの要素高上部5pxに文字を中央配置しようとします。 line-height:15pxでは、height:1.2emとある程度同じ値のため、 文字は高さ1.2emの要素高上部15pxに文字を中央配置しようとします。 ※見え方が違う。 対象のブラウザがウェブフォントをサポートしていないから?

noname#226032
質問者

お礼

ありがとうございました。 行中央に表示させる場合は、heightとline-heightの値を同じにしないといけないのですね。

関連するQ&A

専門家に質問してみよう