0

固定サイズではなく相対サイズを使用したい。emを使いたいです。

私のCSSは次のとおりです。

body{
     font:10px;
}

#wrap {
   font:1.2em;
}

#wrap ul li {
   padding-left:2em;
}

liのパディングの値はpxで何ですか?2.0 * 10 = 20pxだと思いますが、1em = 12pxを取っているように見えます。つまり、親のサイズを取っているということです。

私はそれがpxで親のフォントサイズの1倍を取ることを望みます(それはbodynotのフォントサイズを意味しwrapます)。

4

2 に答える 2

1

あなたが述べたように、emは常に親要素に対して相対的です。さらに、要素のフォント以外のサイズは、常にそのフォント サイズに対して相対的に計算されます。つまり、font-size:1.2em;padding:2emその要素のパディングはフォント サイズの 2 倍になり、次に定義された親要素のサイズの 1.2 倍になります。

解決策は、より多くの数学を使用することです。ラッパー要素が 1.2em で、内部要素のパディングをベースライン サイズの 2 倍にする場合は、 を使用する必要がありますt=i*x。ここで、tはターゲット サイズ、iは継承サイズ、xは目的のサイズです。この場合、2em が目標サイズです。1.2em は継承されたサイズです。

2em = 1.2em * x=>x = 1.67

したがって、パディングは1.67emにする必要があります。

于 2009-09-04T06:04:26.057 に答える
0

のフォントサイズ#wrap ul liは 10px*1.2em*2em なので、padding-left:24px;

それは常に親要素のフォントサイズを取ります(あなたの場合#wrap

于 2009-09-04T06:05:48.720 に答える