2013-05-14 12 views
24

W mojej aplikacji robiłem div mapie jakojak zrobić zmienna ulotka mapa Wysokość

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

jednak, aby moje mapy reaguje Chcę, aby wysokość także 100%, jeśli robię height: 100% to nie jest pracujący.

W jaki sposób zwiększyć wysokość, tak jak szerokość, aby mapa była prawidłowo widoczna na dowolnym urządzeniu.

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

W przypadku zmiany wysokości & szerokość mapie wtedy nie dostaniesz mapę.

+0

Zapewnij JSfiddle swojego kodu oraz zrzut ekranu, jak chcesz. – Nitesh

+0

@NathanLee zobacz powyżej demo –

Odpowiedz

21

Trzeba ustawić elementy nadrzędne do height: 100%; pierwszy

html, body { 
    height: 100%; 
} 

Demo

Demo (To nie będzie działać jako rodzic nie wysokość jest określona)

Objaśnienie: Dlaczego trzeba aby to zrobić? Więc kiedy określasz wysokość elementu w %, pierwsze pytanie, które się pojawia, to: 100% czego? Domyślnie div ma wysokość 0px, więc 100% dla div po prostu nie zadziała, ale ustawienie elementów nadrzędnych height na 100%; będzie działać.

+0

czy możesz trochę eksplodować? – underscore

+0

Może działać w normalnym stanie. Ale ponieważ mój div zawiera mapę, chce pracować. –

+0

@vaibhavshah O której mapie chodzi? –

21

Musisz ustawić rozmiar div za pomocą JavaScript.

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

Pełny przykład można znaleźć pod adresem here.

+0

jak dodać jeszcze jeden atrybut jako wypełnienie od lewej w $ ("# map") .height ($ (window) .height()). width ($ (window) .width()); –

+0

@vaibhav shah, możesz zaakceptować tę odpowiedź. Dzięki. – northtree

5

Użyj height = "100vh" działa w nowszej przeglądarce. ale jest ok.

Powiązane problemy