1. ホーム
  2. android

[解決済み] CSSのdp(density independent pixels)単位って何?

2022-10-26 19:31:27

質問

Android では、UI 要素に dp (density independent pixels) を使用することが推奨されており、そのような慣例があります。 48dp をボタンの高さに使用するなどの慣習があります。

私は Web アプリケーションに取り組んでいますが、UI デザインについて、Android のデザイン標準に準拠していないという批判を多く受けています。もちろん、私のアプリケーションは Android の Holo テーマではなく CSS と HTML を使用しているので、見た目は異なりますが、それでも可能な限り適合させたいと考えています。しかし、CSSでは密度に依存しない測定ができません。

アプリケーションを異なる解像度やピクセル密度でテストすると、うまく表示されず、時には比率が大きく外れてしまい、機能しないこともあります。CSS には、Android ネイティブ開発のような dp 単位はありませんが、何か代替手段があるのではないかと思っていました。

Javascript を使用してピクセル密度を取得し、手動ですべてを適切に拡大縮小することはできますか? すべての解像度/密度できれいに見え、動作する Web アプリを作るための最良の方法は何でしょうか?

どのように解決するのですか?

http://www.w3.org/TR/css3-values/#lengths

CSSで利用できる最も近い単位はviewport-percentage単位です。

  • vw - 最初に含まれるブロックの幅の1%に等しい。
  • vh - 最初に含まれるブロックの高さの1%に等しくなります。
  • vmin - vw または vh のうち小さい方に等しいです。
  • vmax - vw または vh の大きい方に等しいです。

これらの単位をサポートしていないモバイル ブラウザは、Opera だけです。 http://caniuse.com/#feat=viewport-units