2

PX フォールバックを備えた REM ユニットを使用して、新しいサイトの作業を開始しました。さて、ばかげているかもしれない質問がありますが、具体的に言及しているものは何も見つからないので、ここで質問します.

プロパティの省略形と特定のプロパティを使用すると、ブラウザーChromeで両方の読み込みが有効になるようです。

body{ font:16px/23px sans-serif;
      font-size:1rem;
      line-height:1.438; }

一方、短縮形または両方の特定のプロパティを使用すると、どちらか一方が取り消されます (たとえば、両方ではなく、プライマリまたはフォールバックを使用します)。

body{ font-family:sans-serif;
      font-size:16px; font-size:1rem;
      line-height:23px; line-height:1.438; }

また

body{ font:16px/23px sans-serif;
      font:1rem/1.438 sans-serif; }

ここで、正確にベストプラクティスはどれですか? すべての例が検証されます。同じプロパティをターゲットにしているにもかかわらず、短縮形と特定のプロパティの両方がブラウザーのChromeに読み込まれる理由はありますか? それらは実際に両方ともロードされていますか?これは、ブラウザ/デバイスがスタイルをレンダリングする方法に悪影響を及ぼしますか?

私はChrome経由でこれを調べただけで、テストを通じて違いを識別することはできませんでした. しかし、rem を使用してすべての要素に対して同じコードの 2 つの反復を使用しなければならなかった場合、少しかさばることがわかります。

更新: 以下のすべてのブラウザーの最新バージョンでのみテストされています。すべてのテストは最初のコード スニペットに関連しています。

Firefox では、これは問題ではないようです。短縮コードの font-size/line-height を rem サイズに置き換えるだけです。IE、safari、および Opera では、ショートコードを取得して特定のプロパティに分割しますが、px 単位を無視して rem 単位をロードします。

少なくとも最新バージョンでは、Chrome に固有のようです。そこで質問なのですが、Chrome がそれをどのように処理しているかを知るにはどうすればよいでしょうか? この投稿の下部に表示されている画像で、もう少し説明がつくかもしれません。両方のフォント プロパティが読み込まれ、どちらも無視されたり優先されたりしないことがわかりますか?

更新 #2: マージンを使用すると、Chrome は適切に動作します。次の「壁から離れた」例を使用して説明します。

margin:16px 0 19px 0;
margin-top:1rem;
margin-bottom:1.188rem;

クロムで次のように読み取ります。

margin:1em 0 1.188rem 0;

グーグルのスクリーンショット
(ソース: leftdeaf.com )

4

2 に答える 2

1

多くの無駄な時間と混乱の後...実際にはGoogle Chromeで正しくレンダリングされます。今はばかげていると感じています... Chrome ツールのサブプロパティへのドロップダウン矢印を見落としていました。画像は私が見落としていたものを示しています。例は、省略形のプロパティと特定のプロパティの複数の例を示しています。さらに重要なことは、fontプロパティが機能していることを示しいます。おそらくフォントの太さ、バリアント、スタイルのプロパティが変更されていないため、他のすべてのように取り消し線に準拠しない理由がわかりません。しかし、それは機能します。

どっ!

于 2013-04-28T05:02:57.240 に答える
1

この 2 つのリソースは、すべての質問に答えます。

http://snook.ca/archives/html_and_css/font-size-with-rem

http://blog.typekit.com/2011/11/09/type-study-sizing-the-legible-letter/

line-height では、値ではなく単位を使用します。

本文 { font:16px/23px sans-serif; フォント: 1rem sans-serif; 行の高さ:1.438; }

また

本文 { font-size:16px/23px; フォントサイズ: 1rem; フォントファミリー: サンセリフ; 行の高さ:1.438; }

FONT と FONT-SIZE は使用できません。どちらか一方を使用してください。そうしないと、ブラウザは両方を使用しようとします。

于 2013-04-27T23:17:33.720 に答える