2011-08-03 8 views
7

CSS 3のユニットvw,vhおよびvmがあります。これは、ブラウザのビューポートサイズに対してボックスサイズとテキストサイズを持つ要素を作成するのに便利なようです。しかし、残念ながら、これらは現在の主要なブラウザではうまくサポートされていません。 Internet Explorer 9以降でのみ動作します。ビューポートでウェブレイアウトを拡大する

CSS font-sizeのプロパティをビューポートに合わせて使用​​する他の方法はありますか?可能であれば、JavaScriptおよび/またはjQueryソリューションを避けたいと思います。

+2

最後に!! IE_投稿で作業していないことを見てうんざりしていた:) – Mrchief

答えて

8

100%スケーラブルなウェブサイトを作成することは可能です。 Revが言ったように、パーセンテージ値を使ってこれを行うことはできますが、それは難しいことです。

より良いオプションは、@media queriesを利用することです。これにより、特定の条件下でのページにのみCSSルールを適用できます。メディアのクエリを使用してデバイスの幅やページの幅を検出することで、サイトの見た目が異なるビューポートのサイズを微調整することができます。例:

@media screen and (max-device-width: 960px) { 
    font-size:14px; 
} 
@media screen and (max-device-width: 480px) { 
    font-size:13px; 
} 

ここで、上記の例は、ほんの些細なものです。メディアクエリで何が達成できるかをより深く理解するために、W3C spec pageを見ることをお勧めします。最も強力なものの一部は、width,min-device-width,max-device-width,、およびprintのクエリです。

これらのスタイルは、CSSの下部に含めて、デフォルトのスタイルで上書きされないようにしてください。

+0

それは素晴らしい考えです。ちょうど2つの「間隔」ではなく、完全にスケーリングされたレイアウトを持つことも可能ですか?また、 'max-device-width'と' max-width'の違いは何ですか? –

+0

@Delan私は完全に拡大縮小しているウェブサイトについて心配することはありません。なぜなら、ユーザーはテキストを快適なレベルに「ピンチズーム」することができるからです。あなたが集中しなければならないのは、彼らにとって快適な初期のテキストサイズを設定することだけです。 (また、注釈として、幅にはピクセル値を使用できますが、2つに限定されるものではありません。これらのスタイルを読み上げると、どれだけのコントロールがあるかがわかります。 – Moses

+0

サイトを設計するときは、可能な限りコンピュータ間で一貫性があることが良いので、いくつかの異なる@メディアを使用することは、完全にスケーリングするよりも優れています。しかし、絶対的にスケーリングしたいのであればあなたはすべてをパーセンテージで行うことができますが、それはややこしいことです。 – JacobTheDev

関連する問題