4

特定のオブジェクトのエラスティック レイアウトの "em" 値は、オブジェクトの親に対して相対的であることは誰もが知っています。たとえば、次のようになります。

<div id="div1" style="font-size:1em;">
<p>Hello</p>
<div id="div2" style="font-size:0.5em;">
<p>Hello</p>
<div id="div3" style="font-size:0.5em;">
<p>Hello</p>
</div>
</div>
</div>

しかし、下位の DIV の em 値を「リセット」したり、チェーンの上位の親からその値を取得したりすることは可能ですか?

基本的に、ネストされた DIV がいくつかあり、内側の DIV の 1 つにドキュメント独自の em 値を使用する必要があります。DIV の親の 1 つがすでに小数値を使用しているため、1em の使用は適切ではありません。

前もって感謝します

サイモン

4

2 に答える 2

5

更新: この回答は最初に書かれたものであるため、新しいユニットが CSS に追加されました。

remルート emで、次のとおりです。

ルート要素の font-size の計算値に等しい。

これは「ドキュメント自身の em 値」です。


いいえ、そうではありません。unit で設定された font-sizes はem、親要素の font-size に対して明示的に相対的です。

最も近いのは、すべての変更を把握し、計算時にそれを考慮に入れることです。

たとえば、#div2 の font-size は 0.5em なので、#div3 を #div1 と同じ font-size にするには、設定する必要がありますfont-size: 2em

他の長さ (width値として) は、現在の要素の font-size に相対的であり、それらについても同様の計算を行う必要があります。

于 2010-11-28T21:48:56.253 に答える
0

スタイルの代わりに CSS クラスを使用することを再検討することをお勧めします。これにより問題が解決されます。CSS クラスの代わりにスタイルを使用している理由はありますか?

<div id="div1">
<p class="font1em">Hello</p>
<div id="div2">
<p class="fonthalfem">Hello</p>
<div id="div3">
<p class="fonthalfem">Hello</p>
</div>
</div>
</div> 
于 2010-11-28T21:18:28.280 に答える