web-dev-qa-db-ja.com

Webブラウザーがディスプレイの物理的な寸法を知らないのはなぜですか?

CSSは、テキストやその他のWebコンテンツの外観を指定するための構文であり、サイズと長さはピクセルで定義されますが、デバイスによってサイズが異なります。これは、モバイルデバイスで最も顕著です。

開発者がセンチメートルやインチなどの距離単位で長さを指定したい場合、CSS仕様とその実装により、開発者は希望を指定できますが、約束を守ることができません。ボックスが1インチ幅として定義されている場合、ブラウザは固定比率を使用してインチ単位をピクセルに変換し、モバイルとデスクトップディスプレイで長さが異なる72ピクセル幅のボックスを生成します。いずれも1インチではありません。ワイド。

問題は2つあります。

  1. 開発者が実際のSI単位を使用して長さを指定できないのはなぜですか?

  2. CssがSIの長さをサポートしているように見えるのに失敗するのはなぜですか?それができないことを認めることは嘘をつくよりも良いでしょう。失敗した機能の履歴がここにあるようです。

ありがとうございました。

6
Tomas Zubiri

一般に、コンピューターには、接続されているモニターの物理的なサイズがわかりません。もちろん、スマートフォンやタブレットでは異なります。ただし、一部のタブレットにはHDMI出力があります。とにかくインチやセンチメートルでサイズを測定することは本当に役に立ちません。目の前のタブレットの1インチボックスは、部屋の反対側にある50インチテレビの1インチボックスよりもはるかに大きく見えます。

5
Simon B

Webブラウザーがディスプレイの物理的な寸法を知らないのはなぜですか?

GNU/Linuxデスクトップ(特に X11 つまり Xorg )を実行しているデスクトップ)では、Firefox Webブラウザーは通常(__によって報告される xdpyinfo として)全画面表示されません。非タイリング ウィンドウマネージャー (時々 icewm )、および emacsThunderbirdfirefox 広いLCD画面上で開いた。もちろん、Firefoxで使用するX11ウィンドウのサイズを変更できます。

ブラウザがディスプレイのサイズを知っていても、私の承認なしにすべてを使用することはできません。もちろん、FirefoxはX11ウィンドウの大きさを知っています。

私の 個人のホームページ に、私のデスクトップの写真が表示されます(おそらく [〜#〜] xfce [〜#〜] を実行しています)。 [〜#〜] ewmh [〜 #〜] および [〜#〜] icccm [〜#〜]

また、 [〜#〜] vga [〜#〜] で接続された古い [〜#〜] crt [〜#〜] モニター(これらはまだ世界のそれほど豊かでない地域で使用されています)しないでください確実に物理的な寸法(またはピクセルの寸法)をコンピューターに報告します。あなたは [〜#〜] dvi [〜 #〜] または [〜#〜] hdmi [〜#〜] そのためです。

最後に、同じLinuxデスクトップ上に、異なるサイズとピクセル密度の2つの異なるLCDモニターがあります( xrandr を参照)

firefox または Qt のソースコードも調べてください。どちらも オープンソース およびクロスプラットフォームです。ソースコードを調べるには何ヶ月もかかる場合があります(数百万行)。