2011-09-08 8 views
19

Ho appena letto uno nice article on viewport che mi ha lasciato un paio di domande relative a Vista visuale vs Vista di layout sui dispositivi mobili.Vista visiva vs Vista di layout sui dispositivi mobili

la larghezza e l'altezza della finestra di layout sono uguali a qualunque possono essere visualizzati sullo schermo in modalità massimo zoom-out

non ho ben capito che cosa significa. Quando si dice "modalità zoomata massima", significa che la finestra di layout è diversa per HTML diversi (e non specifica per dispositivi diversi come iPad, Xoom, ecc.)?

In secondo luogo, ho creato un demo page per misurare queste due finestre. (Si prega di vedere questo su un iPhone/iPad per ottenere i valori corretti.)

Capisco che la finestra di layout può essere modificato impostando il tag viewport meta, ma che anche cambiamenti della vista visivo - il motivo è che ? Dice che il viewport visivo è la parte della pagina che è attualmente mostrata sullo schermo, quindi ho capito che il viewport visivo non dovrebbe essere influenzato dall'impostazione del meta viewport.

+0

+1 buona domanda – Xavier

+0

Thx..but disperatamente waiing per qualsiasi tipo di suggerimenti .. – testndtv

+0

credo che sarò devo offrire qualche taglia qui ... anche se non sono sicuro dopo quanto tempo quel link apparirà ... – testndtv

risposta

16

Sia la vista di layout che la vista visiva sono misurati in pixel CSS. Questa è una distinzione importante da fare. A differenza dei pixel fisici sul dispositivo, i pixel CSS vengono utilizzati per mantenere le dimensioni del contenuto relativamente costanti e controllate e il dispositivo quindi traduce i pixel CSS in pixel del dispositivo.

Capire la differenza tra pixel CSS e pixel del dispositivo può aiutare a comprendere e rispondere alle vostre domande.

  1. Le dimensioni della vista di layout sono effettivamente le dimensioni iniziali del contenuto (in pixel CSS).

    La vista di layout viene utilizzata per determinare in modo ottimale come posizionare e rendere inizialmente il contenuto. È indipendente dal livello di zoom del dispositivo. Dicendo "... qualsiasi cosa possa essere mostrata sullo schermo nella modalità massima zoomata", penso che alluda al punto che le dimensioni della finestra di layout non cambiano; sarà sempre della stessa dimensione, indipendentemente dalla vista visuale corrente.

  2. La finestra di visualizzazione è solo l'area visualizzabile della pagina, sempre in pixel CSS. Se si ingrandisce una pagina, si aumenta la dimensione dei pixel CSS, il che riduce naturalmente il numero di pixel CSS che possono essere adattati al dispositivo. Ecco perché le dimensioni della finestra di visualizzazione visiva si restringono quando si esegue lo zoom.

    La vista visiva non può essere più grande del contenuto della pagina.

    Le dimensioni del contenuto sono in gran parte dettate dalla finestra di layout.

    Le dimensioni della vista di layout sono impostate dalla regola meta-viewport.

    Pertanto, le dimensioni della vista visiva dovrebbero cambiare in base alle modifiche nella regola del meta-viewport.


Hai dato chiesto (nei commenti):

Perché è che quando c'è il contenuto che è esplicitamente più largo della finestra di layout, la finestra visiva è che si estende per adattarsi a tutto questo in? Non dovrebbe esserci una barra di scorrimento?

No, perché stai solo indicando al browser quali devono essere le dimensioni iniziali della finestra di layout, non la finestra di visualizzazione.

Se si desidera che le dimensioni della finestra di visualizzazione non si adattino alla larghezza del contenuto al caricamento della pagina, impostare la proprietà initial-scale=1 all'interno della dichiarazione meta-viewport.


C'è una fantastica leggere oltre il Mozilla Dev Center sul viewport meta tag: https://developer.mozilla.org/en/mobile/viewport_meta_tag

+0

Ho appena letto la tua risposta e ancora trovo difficile capire cosa stai cercando di dire ... Forse dovrò leggere qualche altra volta perché diventi più chiaro ... comunque, sarebbe possibile per te per spiegare in termini più semplici O spiegare in base a un esempio come quello che ho postato .. – testndtv

+0

Mi sono riorganizzato e ripulito la mia spiegazione. Devo ancora citare il tuo esempio, ma fammi sapere se è più chiaro ora. – Chris

+0

Hey Chris..thx per aggiornare la tua risposta..molto meglio ora, anche se ho alcune domande di follow-up..si capisco la differenza tra CSS e Pixel del dispositivo..Le mie domande sono 1. Dici che la vista del layout rappresenterà sempre l'intera larghezza e altezza del contenuto, quindi quando impostiamo il tag meta viewport, è quello che controlla la finestra di layout O è ancora deciso dalla larghezza/altezza del contenuto. Inoltre questo dipende da quale è il maggiore OUT del contenuto OPPURE imposta la larghezza della vista? 2. Dici che le dimensioni della vista visiva sono collegate alle dimensioni del contenuto. Non l'ho capito .. Voglio dire non dovrebbe essere sistemato sempre? – testndtv