2
グリフィコンのアライメントで苦労しているようですが、明らかにフォントサイジングの仕組みが分かりません。 In this fiddle同じフォントサイズでいくつかのシンボルを含む2つのdivがありますが、それらは異なる高さになります。font-sizeとは何ですか、なぜこれらの2つのボックスは異なる高さですか?
body {
line-height: 1;
font-family: Helvetica;
font-size: 60px;
}
.wrapper {
background: lightblue;
width: 300px;
height: 100px;
position: relative;
}
.left {
width: 50%;
position: absolute;
left: 0;
background: darkred;
}
.right {
width: 50%;
position: absolute;
right: 0;
background: darkgreen;
}
.text::before {
content: "60px";
}
.myglyphicon {
font-family: 'Glyphicons Halflings';
}
.myglyphicon::before {
content: "\e046";
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/>
<div class="wrapper">
<div class="left">
<span class="myglyphicon"></span>
</div>
<div class="right">
<span class="text"></span>
</div>
</div>
は、別のフォントタイプが同じフォント・サイズのために、異なる高さを生成することができますが、div.right
は特大のスパンを無視し、正しい(ラインを持っている理由は、私はまだ理解していないようです - )高さは60pxですが、div.left
はありませんか?さらに、スパンの高さは4pxで異なりますが、divは9pxで異なります。
いいえ、おそらくdivは左スパンが奇妙に位置付けられているため動作が異なりますが、それはどうしてですか? ハードコーディングディメンションは解決策ではありません。 – Steven
私は自分の答えを編集しましたが、次元をハードコーディングする必要はありません。スパンをブロックのように動作させることによって、高さが正しく設定されます。これは修正に過ぎませんが、なぜこのようなことが起こるのかわかりません。 – Dais
擬似要素は 'Glyphicons Halflings'でしたが、包含スパンはデフォルトフォントでした。異なるフォントタイプは同じフォントサイズで異なる線高さを生成することができます。その理由は、スパンの高さが67pxで、擬似要素のサイズが71pxであるためです。次に、2つの異なる境界ボックスを基線で並べ替えます。だからこそ、ポジションは変わったようだ。 divが高さをどのように決めるのかという疑問はまだ残っています。 – Steven