2011-11-11 1 views
17

私は約rem units in CSS3を読んでいましたが、ちょっと混乱しました。 remを使用している場合でも、引き続きemを使用していますか、それともそれを置き換えますか?例えばCSSでemsを置き換えていますか?

.selector { 
    margin-bottom:24px; 
    margin-bottom:2.4rem; 
    font-size:16px; 
    font-size:1.6rem; 
} 

または

.selector { 
    margin-bottom:24px; 
    margin-bottom:2.4em; 
    margin-bottom:2.4rem; 
} 

ちょうどrememの代わりをしている場合、またはそれだけで別のユニットかどう把握しようとしています。

+0

もっと良いもののためのリンクを含みます:) –

+2

http://snook.ca/archives/html_and_css/font-size-with-remはremとemの違いをカバーしています。 – mjwills

+5

私はREMを分裂させたと思う。 –

答えて

19

Remは、ルート(html)要素のemサイズです。つまり、html要素のfont-sizeを定義すると、それに関連してすべてのrem単位を定義できます。例えば

html { font-size: 62.5%; } 
body { font-size: 1.4rem; } /* =14px */ 
h1 { font-size: 2.4rem; } /* =24px */ 

レムはサファリ5、クロム、Firefoxの3.6以降、さらにはInternet Explorerでサポートされていますが、older browsersのためにあなたはまだ、パーセントまたはピクセルを、EMを使用する必要があります。

+2

主な相違点は、 'rem'は' html'要素の*ルートフォントサイズ*(上記)に相対して 'font-size'を設定できることです。親要素*。 IEのサポート? > = 9 –

+11

ウェブからコードを持ち上げる場合は、ソースを提供することが丁寧です:http://snook.ca/archives/html_and_css/font-size-with-remまたはそれを取ったスヌークでしたか?ここから?? –

+0

pxとremの両方を使用します。上記のコードセットのようにfont-size:14px; font-size 1.4rem。 remは、remがサポートされていないブラウザでは、最新のブラウザとpxで動作します。 (出典:snook.ca) – Orahmax

13

いいえ、別のユニットです。 emは親のfont-sizeに基づいていますが、remはルートfont-sizeに基づいています。これはhtml要素のfont-sizeと思われます。

+0

それで、私は正しい例の両方ですか?どのようにREMを適切に使用しますか? – jfrosty

+3

あなたの意図に応じてどちらか正しいことがあります。 '2.4em'は必ずしも' 2.4rem'と同じではないので、それらの要素の基本値は異なる要素になります。したがって、それらの要素が異なるフォントサイズを持つ場合、マージンは異なります。 – prodigitalson

3

Remはもう1つのユニットですが、emのようにemを置き換えることはありません。

0

古いトピックですが、もっと明確にする必要があると思います。

両方emremは相対単位であるが、remは常にhtmlフォントサイズ(「ルート」要素)よりもむしろ継承フォントサイズに対してあります。

pxまたはptを使用してください。フォントサイズをハードコーディングすると、ユーザーの好みのフォント設定が無視され、ズームの協調性が低下します。

emremの両方が役立ちます。どちらも、すべての機会に最適です。ここではいくつかの例は以下のとおりです。

使用remサイズを配合避けるために:emユニットは親li要素から継承されますので、

ul#something li { font-size: 1.2rem; } 
    … or … 
ul#something li { font-size: 1.2rem; } 

最初のものは、徐々に大きなサイズを有する、ネストされたリストになります。

使用rem独立サイズを設定するには:

article { font-size: .8rem; }  /* article base font size */ 
article>h2 { font-size: 2rem; }  /* … except for h2 */ 

そして、もちろん、あなたは両方を使用することができます。今、

div#something { font-size: 1.2rem; }  /* based on html size */ 
div#something>h2 { font-size: 2em; }  /* based on div#something */ 

トラックダウン二年、私たちはそれを使用することができ、レガシーブラウザを安全に無視します。

関連する問題