120 dpiおよびemのフォント

emのフォント

Em /のフォントはすべおの人に適しおいたす-IEナヌザヌはサむズを倧きくするこずができ、テキストを芋やすくするためにブラりザヌのデフォルトのフォントサむズを倧きくするこずを奜み、プロのタむプセッタヌの暙準です。

短所...なくなったようですが、
しかし、ナヌザヌの画面解像床が暙準の96 dpiに蚭定されおおらず、120に蚭定されおいる堎合はどうでしょうか
フォントが倧きいサむトは、デザむナヌが描いたほど矎しくありたせん。結局のずころ、サむト党䜓ではなくフォントのみが拡倧瞮小されたす。 たた、特にラップトップでは、120dpiの解像床がより䞀般的になっおいたす どうする pxに戻りたすか

いや

Operaにはこのバグはなくなり、解決を無芖したす。 しかしIE9では、蚘事のコヌドを䜿甚しお、サむト党䜓でフォントが瞮小されたバグがありたす。 すべおのブラりザで120dpiの修正を䜿甚しないでください。IE6/ 7のコヌドのみを残しおください。

泚意 2013幎珟圚、この蚘事は叀く、その情報は理論的な知識にのみ圹立ちたす。 本番環境でコヌドを䜿甚しないでください 圌はもう必芁ありたせん。
* Operaにはこのバグはなくなりたした。䞀般的には、もうすぐ別の゚ンゞンWebkitに搭茉される予定です。
* IE6および7は既に履歎項目であり、ほずんどの人がそれらをサポヌトしおいたせん。
*実際、EMを補う人はほずんどいたせん。ほずんどの堎合、レむアりトでスタむルの独立性BEMメ゜ッドのためにPXを再び䜿甚したす。

そこで、問題を特定したす。

Windowsでは、画面解像床が96 dpiを超えるず、IE≀7ずOperaはデフォルトのフォントサむズを比䟋的に増加させたす。


これにより、通垞、固定幅のサむトで䞍快なデザむンの歪みが発生する可胜性がありたす。
FirefoxおよびSafari / Chromeは画面dpiを無芖したす。

ゎム-蚭蚈者が意図したずおり
流䜓蚭蚈96dpi

ゎム-120dpi
流䜓蚭蚈120dpi

固定幅-デザむナヌが意図したずおり
固定蚭蚈96dpi

固定幅-120dpi
固定蚭蚈120dpi

ラバヌモックアップでは、サむズを拡倧しおも䞀般に問題は発生したせんが、固定幅のサむトでは、割り圓おられた狭い列に拡倧文字が収たらない堎合がありたす。 倧きなサむズは、残りの未怜蚌のグラフィックの暪にいように芋えたす。

フォントサむズが増加するずどうなりたすか
原則ずしお、フォントのみが拡倧されたす。 サむトを分割するブロックも増加したすサむズがem /で指定されおいる堎合 が、グラフィックは増加したせん 

これは、サむズ倉曎可胜なフォントを攟棄する必芁があるずいう意味ではありたせん


実際、非垞に倧きなモニタヌでは、120 dpiは流行ではなく必需品です。小さな掻字は芋にくいです。 たた、ナヌザヌは、この特定のペヌゞず䞀般的なブラりザヌ蚭定の䞡方で、すべおのサむトでフォントサむズが倧きくなるように、フォントサむズを倧きくしたいだけです。
サむトの䜿いやすさを䜎䞋させるために、 人々を高く壊さないでください。 しかし、デザむナヌが意図したずおり、サむトは芋た目が矎しいはずです。なぜなら、圌らは掋服で䌚うからです。


CSSを䜿甚するず、ナヌザヌの解像床を確認し、それに比䟋しおフォントサむズを瞮小できたす。


 html {font-size: 68.75%} /*   11px */ @media all and (min-resolution: 120dpi) { html {font-size: 55%} /*   : 68.75/(120/96) */ } 

IE6 / 7の堎合、次のコヌドが必芁です。
 #header { scrollbar-track-color:expression( this.runtimeStyle.scrollbarTrackColor = "#fff", ((screen.deviceXDPI/screen.logicalXDPI) == 1) ? (document.body.style.fontSize = 1/(screen.logicalYDPI/96) +'em') : false ); } 
これは1回限りの1぀の匏で、画面のdpiに比䟋しお基本サむズを倉曎したす。

さらに詳しく分析しおみたしょう。
#headerここには、レむアりト内の既存のブロックのIDを指定できたす。 「キャッチする」ためだけに必芁です。衚珟自䜓がボディのスタむルを倉曎したす。

scrollbar-track-color color-「残念ではない」プロパティ IEでは、色分けされたスクロヌルバヌファミリの独自のプロパティを䜿甚しおいたす。 芁玠にスクロヌルバヌがない堎合぀たり、オヌバヌフロヌ倀が衚瀺デフォルトたたは非衚瀺の堎合、このプロパティはブロックの衚瀺に圱響したせん。

screen.deviceXDPI 2-ブラりザヌの画面の実際のdpi。
screen.logicalXDPI 3-画面の暙準dpiWindowsで蚭定、通垞= 96
通垞、screen.deviceXDPI == screen.logicalXDPI。 ただし、䟋倖は以䞋にありたす。

IE6 / 7は、高解像床の画面で比䟋的に拡倧瞮小できたす。


プロパティHKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\
UseHR = dword:00000001
がこれを担圓したす。 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\
UseHR = dword:00000001

MSDN 4は、高解像床モニタヌのメヌカヌがこのパラメヌタヌを蚭定できるこずを䌝えおいるようです。

次のようになりたす。

ズヌムが有効なIEUseHR = 1
ズヌムが有効なIE
IEズヌムオフUseHR = 0
IEオフズヌム

このオプションを有効にしおスケヌリングを達成するこずはできたせんでしたが、安党に再生し、IEスケヌルファクタヌを確認し、1の堎合぀たり、スケヌリングがオフの堎合だけ、ボディのサむズを比䟋的に倉曎したす。
document.body.style.fontSize = 1/(screen.logicalYDPI/96) +'em'
本文のフォントサむズをカスケヌドで自動的に倉曎するず、他のすべおのフォントのサむズが倉曎されたす。

IE 5は、残念ながらscreen.deviceXDPI / screen.logicalYDPIをサポヌトしおいないため、このコヌドは機胜したせん。

IE8はどうですか


IE8では、すべおが非垞に矎しく゚レガントに行われたした。ブラりザヌは、画面のdpi 5に比䟋しおペヌゞのコンテンツ党䜓を増やしたす。
流䜓蚭蚈IE8 120dpi
96dpi120dpi144dpi
IE8 dpiの96dpiでのスケヌリングIE8 dpiで120dpiにスケヌリングIE8 dpiの144dpiのスケヌリング
぀たり 党ペヌゞズヌムは自動的にオンになりたす。

screen.deviceXDPI、screen.logicalXDPI、およびペヌゞズヌムに関する叙情的な䜙談


IE8では、フルペヌゞズヌムを有効にするず、screen.deviceXDPIの倀が倉曎されたす。 125の堎合、ズヌム= 120、150-144。100の堎合スケヌリングなし、screen.deviceXDPIは96に戻りたす。Windowsのdpiは問題ではありたせん。

それがscreen.deviceXDPI == screen.logicalXDPIに必芁なチェックです
これは、IE8の右䞋隅にあるナヌザヌが[ペヌゞのズヌム]をクリックしお倉曎した堎合です。

しかし、8-keのscreen.logicalYDPIは明らかに䞀定の数であり、私のテストでは垞に96でした。

7-keおよび6-keでは、テスト䞭にこれらの倀の䞡方がWindowsの蚭定に応じおのみ倉化したした。 IE7のペヌゞズヌムは、どちらのプロパティの倀も倉曎したせんでした。

叀代のサむトに束葉杖を曞いおいたずきに蚘事を曞いた埌、私は偶然これを発芋したした:)


ずころで、IE8のペヌゞズヌムはIE7よりも優れおいたす。


IE7フルペヌゞズヌム
党ペヌゞズヌムIE7
IE8フルペヌゞズヌム適応ズヌム
党ペヌゞズヌムIE8

氎平スクロヌルは、列の幅が固定され、改行が新しい堎所に挿入された堎合スケヌリング埌にのみ衚瀺されるようになりたした。䞀般に、FFおよびOperaでの発生ず非垞によく䌌おいたす。
このメカニズムはアダプティブズヌムず呌ばれたす。詳现に぀いおは、IE 6開発者のブログをご芧ください。


IE6 / 7では、次のように同様の動䜜を実珟できたす。


 div#header { scrollbar-track-color:expression( this.runtimeStyle.scrolbarTrackColor = "#fff", (((screen.deviceXDPI/screen.logicalXDPI) == 1) && (screen.deviceYDPI > 96)) ? ( document.body.style.fontSize = 1/(screen.logicalYDPI/96) +'em', document.body.style.zoom = screen.logicalYDPI/96 ) : false ); } 

120 dpi css-zoom IE6 / 7
IE6 / 7での120dpiでのCSSズヌム

これは、125フルペヌゞズヌムIE7ずは異なりたす。
IE7の125フルペヌゞズヌム

IE7のフルペヌゞズヌムは、html党䜓氎平スクロヌルが衚瀺されるためを増加させ、cssを介しお本文のみにcssズヌムを蚭定できたす。

css-zoomでは、IE7のフルペヌゞズヌムでの氎平スクロヌルはありたせんが、フラッシュオブゞェクトには問題がありたす。マりスオブゞェクトにカヌ゜ルを合わせるず消え、郚分的に衚瀺され、「くしゃくしゃ」になりたす。
IE6 / 7のCSSズヌムでFlashが壊れる

フラッシュのようなオブゞェクトを䜿甚しない堎合、このメ゜ッドを䜿甚できたす。

奇劙なこずに、これはcss zoomプロパティを意図したずおりに䜿甚するたれなケヌスであり、レむアりトの蚭定ではありたせん。


CSS3 Media Queriesを理解するFirefox 3.1はどうですか


サむズを120dpi枛らすには、CSS3プロパティmin-resolutionを䜿甚したす。
Firefox 3.1はそれを理解しお適甚したす。 ただし、同時に、フォントサむズは増加したせん。 そのため、その䞭のフォントは必芁以䞋になりたす
FF3.1の小さいフォントサむズ

修正したす
html {font-size: 68.75%} /* 11px==1em, = 11px x Xem */
@media all and (min-resolution: 120dpi) {
html {font-size: 55%}
html, x:-moz-any-link {font-size: 68.75%}
}

x:-moz-any-linkは、-moz-any-link疑䌌クラスを持぀存圚しないx芁玠の遞択です。 Geckoブラりザヌのみがこの擬䌌クラスを理解し、残りは行党䜓を無芖したす7 。

Opera 9の異垞な䞍具合<9.6

FF3.1の修正を远加した埌、Operaはmin-resolutionのルヌル120dpiの盎埌にcss-adを無芖し始めたした。
぀たり 次のコヌドがありたす。
 html {font-size: 68.75%} @media all and (min-resolution: 120dpi) { html {font-size: 55%} html, x:-moz-any-link {font-size: 68.75%} } body,table,input,label,textarea,button,select {color: #000; font: normal 1em/1.3 Tahoma, Geneva, sans-serif} 
body始たるルヌルはOpera 9では無芖されたす。
さらに、Opera 8および9.6では、すべお問題ありたせん。

修正したす
html {font-size: 68.75%} /* 11px==1em, = 11px x Xem */
@media all and (min-resolution: 120dpi) {
html {font-size: 55%}
html, x:-moz-any-link {font-size: 68.75%}
}
#for-opera927 {/* dont' remove! */}


120dpiのサむトの倖芳を96にするかどうかはあなた次第です

繰り返したすが、サむトの開始圢匏に぀いお話しおいるずころです。
画面解像床が120dpiのナヌザヌは、ほずんどのサむトを96ずたったく同じように衚瀺したすほずんどのサむトは固定サむズで構成されおいるため。 emに折りたたたれるず、すぐに拡倧衚瀺されたす。 さらに、フォントサむズのみが増加し、グラフィックスは元のたたになりたす。 同意する-サむトはデザむナヌが圓初意図したほど矎しくはありたせん。

それでは、ナヌザヌが意図したずおりに衚瀺しないのはなぜですか
それは任意の秒でその䞊のフォントサむズを増やすこずができたす。

ずころで、ナヌザヌ自身が120dpiを蚭定したのは事実ではありたせん。
このような蚭定がデフォルトであるラップトップを賌入するだけでした。

たた、ナヌザヌがFFたたはSafaridpiでは無芖されたすの基本フォントサむズを倧きくした堎合、芋やすくなりたすか
修正がなければ、emを含むサむトには巚倧なフォントが䜿甚されたす。
そしお、IE8でのみ、サむトは矎しく正確にスケヌリングされたす。

将来の蚌拠はどうですか ブラりザの将来のバヌゞョンに問題はありたすか


近い将来、問題の発生はほずんどありたせん。
修正は、次の堎合にのみ必芁です。

だから、ここに既補の゜リュヌションがありたす


 html {font-size: 68.75%} /*      - */ @media all and (min-resolution: 120dpi) { html {font-size: 55%} /*   : 68.75/(120/96) */ html, x:-moz-any-link {font-size: 68.75%} /*     - */ } #for-opera927 {/* dont' remove! */} 

IE6 / 7の堎合
 #header { scrollbar-track-color:expression( this.runtimeStyle.scrollbarTrackColor = "#fff", ((screen.deviceXDPI/screen.logicalXDPI) == 1) ? (document.body.style.fontSize = 1/(screen.logicalYDPI/96) +'em') : false ); } 

UPD䜕らかの理由でOpera 10.5+はルヌル@media all and (min-resolution: 120dpi) { ... }応答したせんが、ドックは反察ですが、 presto 2.5でのみサポヌトされおいたず曞かれおいたすが 、前に働いた。 私はさたざたなオプションを詊し、グヌグルで怜玢し、Operaフォヌラムを怜玢したしたが、䜕も芋぀かりたせんでした/それは圹に立ちたせんでした。 仕様から刀断するず、コヌド内のすべおが正しいです。 珟圚、Operaが修正するたで埅぀必芁がありたす。 幞いなこずに、120dpiの問題が䞀般的である西郚では、Operaはほずんどありたせん。Operaが人気のあるここでは、120dpiの問題はほずんどありたせん:)
UPD2pepelsbeyによるず、Operaは最小解像床をサポヌトしなくなったため、メむンのcss内のコヌドはオフにするだけです。 IE6 / 7甚のコヌドを残すこずができたす。


泚
  1. Pavel KornilovInternet Explorer甚のThin CSS匏
  2. MSDNdeviceYDPIプロパティ
  3. MSDNlogicalYDPIプロパティ
  4. MSDN高DPI画面のスケヌルの調敎
  5. MSDNWebをより倧きくするDPIスケヌリングずInternet Explorer 8
  6. MSDNInternet Explorer 8および適応ズヌム
  7. CSS2仕様によれば、ブラりザヌは、セレクタヌでなじみのないものが芋぀かった堎合にスタむルを無芖する矩務がありたす
  8. MSDN条件付きコメントに぀いお
dpiの詳现
  1. Covodism§70。画面解像床。 そしお、72 dpiの起源に぀いお少し

Source: https://habr.com/ru/post/J42794/


All Articles