リトルジャイアントを過小評価 - ビューポートを

浅いへのビューポート

私は、すべてのWeb開発者が見ているか、この魔法のヘッドメタタグを使用します、または理解できないだろうか、ハーフマスクの場合には、それを使用することを考えています。

地図上、疑問を解決する最初の

画像のキャプション

私たちはあまりにも精通していると考えているクロムハンドヘルドデバイスシミュレータは、その後、320 * 480の左上隅には、神の馬ですか?多くの人が答えを持っていなければならない心を持っています。
疑問を解決する前に概念を導入する必要があります。

画素は画素でない画素ではありません

参考W3cplusこのどちらかのピクセルのピクセル文章中

画像のキャプション

はい、ここで注意したいと思います320×480ピクセルではなく、CSSのDPXよりも、あなたのデバイスを指しています

どのような違いについてはそれをしませんか?
もちろん違いがあります!

PX装置のA部は、装置の大きさを測定し、私たちはしばしば、Webアプリケーション開発のためのアプリケーション内の要素の相対的な大きさを測定するために使用されているWebアプリケーションで使用さPXにいう、抽象的な概念及びデバイスの正面でありますピクセルの存在を取ることはありませんカルマの2つです。

それの良い視覚効果を得ることができるようになり、同じ時間に、デバイスを使用するときに我々はあなたのページをデザインするCSSピクセル幅を使用するときに、なぜ、ゆっくり来る私に耳を傾けます。


私たちは、見て

関連する宣言構文のビューポートについて

<meta name="viewport" content="name=value,name=value">

まず、参照下PPK(ほとんどのネットワーク上のこのソースからの)記事の英語通訳:


Directives
Every name/value pair is a directive. (The word is my own invention.) 
There are six of them in total:

width     
    Sets the width of the layout viewport.
initial-scale       
    Sets the initial zoom of the page AND the width of the layout viewport.
minimum-scale
    Sets the minimum zoom level (i.e. how much the user can zoom out).
maximum-scale
    Sets the maximum zoom level (i.e. how much the user can zoom in).
height
    Is supposed to set the height of the layout viewport. It is not supported anywhere.
user-scalable
    When set to no prevents the user from zooming. This is an abomination that MUST NOT be used.

〜を理解していませんか?さて、私は(少しtough'llの言い訳翻訳)翻訳を得ました:

指令
每对键值对都是一个指令,(ppk 大神的叫法)以下总计共有6对:
width
    设置layout viewport的宽度(css px)
initial-scale 
    设置页面的初始缩放比例同时可以设置layout viewport的宽度
minimum-scale
    设置最小缩放比例(指用户能够缩小到多小)
maximum-scale
    设置最大缩放比例(指用户能够放大到多大)
height
    设置layout viewport的高度,但暂时不怎么被支持
user-scalable
    设置是否允许用户放大缩小。ppk 指出这个属性很邪恶,最好别用(偷笑)
    

半分何地獄はここを参照してください、おそらくレイアウトビューポート維持していますか?

平均PPKすばらしい神、私たちはビューポートの下に設定した後、ブラウザが3種類、それぞれビューポート生成することができます想像ビジュアルビューポートレイアウトビューポート理想のビューポートを

ここで私はちょうどこれらの理論の興味PPK偉大な神はここに行くことができれば何が起こるか(ファッジ)使用ビューポートを説明するための簡単な方法をしたい、あまりにも多くのこれらの理論のドープつもりはありません

1. 2つのビューポートのAの物語-パート1
2 2つのビューポートのAの物語-第二部
3. メタビューポート


文法は、次のステップでは、ビューポートを説明することである場合について学んだ後

私たちは、ハンドヘルドデバイス上のPCのウェブサイトのために設計されているビューポートを使用しない場合は、どのようにの一種であります

(ビューポートがあるためバージョンなしPC)非シミュレータシミュレータで最初に開いた状態BaiduのPC版のBaiduの例を行うことは、その後の状態に切り替わり、ここでゲット

画像のキャプション

私たちは、デバイスページの全体のPC版のみ320PX(非CSS単位)の幅に圧縮されていること、それを使用するために、通常の無の道を見ることができますか?
さて、今回は、ページの幅はどのくらい(のCSSピクセル)のですか?

画像のキャプション

私たちは、現在のページの幅が980pxではっきりと見ることができるボックススタイルの右下隅を参照して、html要素を選択します(CSSのPX)

980pxブラウザのみを示して320dpxの場合はページという(:1人の関係ここでは、PX 1ではないことは明らかDPX)

しかし、我々は、それはだところ、これはhtmlの広い980ピクセル、その後、幅HTMLスタイルシートから左下隅に見たことがありません

ビューポートからの回答!ビューポートの幅が980pxに設定されているが、この例のフロントはBaiduのページビューポートのPC終わりを使用するにはそれがないと言うことではないと言うことですトップビューポートの文法を、忘れてはいけませんか?

そのセットは、それは、ここを参照してくださいのビューポートの幅は、ブラウザが自動的にデフォルト値が使用されますときに、ビューポートを設定しないとき、右、デフォルトの値が数値である、誰かが答えを持っ有すると考えられますか?

ここで得たPPKテスト
画像のキャプション

あなたは、ビューポートを設定していなかった場合(ハンドヘルド終わりのための)デフォルトの場合には、その後、私は私の決定に基づいて、デバイスからブラウザのビューポートの幅を使用するという事実手段の平均それは何をされてい。

これは十分ではなかった知って、なぜ私はそれの幅を使用するのhtmlの後にビューポートの幅を設定しなければなりませんの。

ビューポートが全く幅がHTMLに設定されていないhtml要素、超えて存在である、と理解することができる場合、ビューポートの設定の幅へのHTML後継の幅

たとえばw3cplusください:

画像のキャプション

そして、上記のテストの同じPC版を取り、HTMLは本当に980px幅で表示するには、デフォルトのビューポートがありません

次に、その幅の効果は490pxで見ることができ、50%のHTML要素に幅を設定します

画像のキャプション

ここでは、結論を引き出すことができます。

ビューポートは、実際には、現在の機器の幅のCSSのPX Webコンテンツ表示のセット数であります

以下ビューポートよりも、HTMLドキュメントの幅は種類効果のあなたが順番にHTMLの幅を設定している場合は、どうなるかであるときに我々が見てきた、前の例では、ビューポートがどのような影響を与えることは意志であるよりも大きいです

画像のキャプション

ここではHTMLページを設定2000px幅が転がり効果があったことがわかるれます。

ここで再び、我々は結論に来ます:

幅は、ドキュメントは、HTML文書の幅がビューポートより大きい場合、あなたが見ることができる領域の大きさは、まだビューポート少なく、ビューポートの幅がディスプレイの一部ではないよりも、文書の実際の幅をビューポートのhtml文書が優先するものの幅よりもされた場合エリアがありますが、スライドやコンテンツがビューポートの面積よりも大きい見るためにページをスクロールすることができます

この時点で、我々はすでに、デバイスの幅と実際の原稿幅とビューポートの間の関係を知っています。

上記の例を通して、私たちは、デフォルトのビューポートの幅が980pxであり、我々が見るように、HTML文書のブラウザのビューポートは、(ブラウザが動的に文書のレイアウトと内容を計算)限られた幅の中に、デバイスのサイズになります基本的に知っています物事は非常に小さいです。
私たちが行う方法を確認するために、文書の内容をクリアしたいので、はい、ビューポートのサイズ、どのような原則を減らしますか?
私たちは以下のデバイスの同じ幅である原稿の幅にも対応が低減された時間、のビューポートの幅を狭くすると、フォントが拡大していることがわかる私に何か(この時、ブラウザの再計算ドキュメントのレイアウトやコンテンツ)の結果を示し、内容は拡大されています!

ハンドヘルドデバイスにビューポートせずに同じ文書のPC版を取り、コンテンツを参照する方法:ここではない例テイクW3CPlusサイトではありません

画像のキャプション

したがって、この時間は、私は、コンソール内のコードを入力します。

document.head.insertAdjacentHTML('afterbegin','<meta name="viewport" content="width=320">');

画像のキャプション

今回はそれが明確な〜の多くではありません。

私たちは優れているどのくらい小さいビューポートのサイズを小さくしたいという、この原理を知っていますか?そして、その答えは、あなたの機器の幅と同じ幅です。しかし、すべてのハンドヘルドデバイスは320dpx広いああではありません、この時間は、我々は、ビューポートヘッドを書くことができます。

<meta name="viewport" content="width=device-width">

これは、自動的にデバイスの幅を計算しますが、ここでは拍手がなければならない〜

しかし、この時間は、あなたがあなたの元980が広くない頭の中に、悲惨な、コースを変更するページの幅ページレイアウトをリセット320になっ入れると、今度はあなたがテストみんなのCSSを持っているということ、終わっていませんスキル、そしてどのように回避するには、議論するために、この資料の範囲内ではありません。


拡張思考

ページを縮小するとき、我々はハンドヘルドデバイスにズームインすると1.、何が起こったのか?
2.幅とデバイスの解像度との関係?ページ640にiphoneを描画するときになぜ我々はやるんが、唯一の320?

説明:
1.
そのままデバイス(ナンセンス)の大きさは、ビューポートの大きさが変化しない場合、我々はハンドヘルドデバイスにズームインすると、その変更が何であるか、HTMLのサイズを変更しないのですか?
私たちは、私たちが設定したときにことを知っている<meta name="viewport" content="width=device-width">ページの幅は、デバイスの幅が1に達すると一致している:1の関係を
、大PPK神は視覚的なビューポートが言われて、実際にあなたの表示可能領域になる脇彼の理論を入れて、単純にそのことを意味、もしあなたが、あなたが要素が誇張されて見ることができるように、(ここで脇解像度のまま)各ページのCSS PXの幅は、複数の装置の画素幅に対応し、トリガーアクションを増幅するが、デバイスの限られた幅に起因している場合内容は変更されません少なくなりますが、私たちは手動で設定すると、ビューポートに変更した単語がここに含まれていない参照のあなたはとても。
そのため、狭小化は、同じ原理によって引き起こされます。

2.
関係pxとデバイスの幅の解像度?
網膜画面は、このパターンは2の幅や解像度の多くに対応するデバイスを表示さ破るまで、いくつかの高精細画面に加えて、表示される網膜の画面が存在しない場合には、ほとんどのハンドヘルドデバイスのピクセル幅と分解能は1対1の関係でありますその結果どのようなトリガーピクセルレート、?複数の画素が同一の装置に画素内容の幅を表現するために使用されるので、当然の明確。詳細は自分で探索することができ、あなたのお母さんの程度より。

一度に640のPSの画像の解像度を持つ設計者の設計はまた、我々の開始に対応するように画像とデバイスと解像度の幅との関係の理解の解像度との関係を説明し、通常画素の解像度に対応する画像は、あります装置320の幅(以前デバイス網膜画面ピクセルに説明したように2つの画素解像度の複数に対応する)、画像は共感を設計しました。もちろん、あなたが640ピクセル解像度のうち、設計を入れて320個のピクセルの幅の網膜と非網膜デバイス機器の下の効果上の画像と同じですがより明確な違いで差異(CANナン卓があるかどうかをよく見て、同じ事実を見てIOSおよびコントラスト)。


我々はjsのコードを介してデバイスの幅を取得する方法を知っている必要がありますことを、この小さな巨人の後にビューポートを見つけ出す、ビューポートとhtml文書の幅

(他の特別な状況とIEを含まない)以下にまとめます:

/*
*1.获取包含滚动条尺寸的浏览器完整内部尺寸
*2.获取用户实际的看到的视口大小(即发送缩放后的可视区域大小|visual viewport 大小)默认等于viewport大小
*/
window.innerHeight
window.innerWidth 

/*
*1.设置的viewport大小
*/
document.documentElement.clientHeight
document.documentElement.clientWidth

/*
*1.HTML 文档大小
*/
document.documentElement.offsetHeight
document.documentElement.offsetWidth

/*
*1.设备大小
*/
screen.Height
screen.width

ビューポートのオンライン議論の多くがありますが、説明するための偉大な神のない不足は、違いはありません。
参照だけのために、単に個人的な練習や要約以上に複数日アクセス!
ありがとうございます!

おすすめ

転載: www.cnblogs.com/baimeishaoxia/p/12638423.html