2013-05-14 16 views
24

nella mia applicazione stavo facendo div della mappa comecome fare volantino mappa di altezza variabile

<div id="map" style="height: 610px; width:100%"></div> 

ma per rendere la mia mappa sensibile che voglio fare in altezza anche il 100%, se faccio height: 100% allora non è lavoro.

Come posso rendere l'altezza anche variabile come larghezza in modo che la mappa possa essere vista correttamente su qualsiasi dispositivo.

Demo: http://jsfiddle.net/CcYp6/

Se si modifica l'altezza & larghezza della carta, allora non sarà possibile ottenere carta.

+0

Fornire JSfiddle del codice e lo screenshot di come si desidera. – Nitesh

+0

@NathanLee si prega di vedere sopra demo –

risposta

21

è necessario impostare gli elementi associati di height: 100%; prima

html, body { 
    height: 100%; 
} 

Demo

Demo (Questo non funzionerà come è definito nessun genitore altezza)

Spiegazione: Perché avete bisogno fare quello? Quindi quando specifichi l'altezza di un elemento in % allora la prima domanda che sorge è: 100% di cosa? Per impostazione predefinita, un div ha l'altezza di 0px, quindi 100% per un div semplicemente non funzionerà, ma l'impostazione degli elementi padre height su 100%; funzionerà.

+0

puoi esplodere un po '? – underscore

+0

Potrebbe funzionare in condizioni normali. Ma come il mio div contiene la mappa, vuole funzionare. –

+0

@vaibhavshah Di quale mappa stai parlando? –

21

È necessario impostare la dimensione div con JavaScript.

$("#map").height($(window).height()).width($(window).width()); 
map.invalidateSize(); 

Si può trovare un esempio completo here.

+0

come aggiungere un altro attributo come riempimento da sinistra in $ ("# mappa") . .height ($ (window) .height()) larghezza ($ (window) .width()); –

+0

@vaibhav shah, puoi accettare questa risposta. Grazie. – northtree

5

Usa altezza = "100vh" funziona nel browser più recente. ma è ok.

Problemi correlati