Próbowałem zmienić wysokość mojej mapy ulotki na wartość procentową wewnątrz bootstrapu, ale za każdym razem mapa nie będzie rysować. Dlatego zawsze muszę wracać do wartości px. Jestem prawie pewien, że to proste ustawienie, którego mi brakuje, ponieważ jestem nowicjuszem w CSS. Oto mój css.
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
#map {
height: 75%;
}
</style>
web-mapping
leaflet
bootstrap-framework
njackson.gis
źródło
źródło
Odpowiedzi:
Zawsze miałem problemy z wysokością mapy podczas ładowania, ponieważ margines u góry może być inny, gdy szerokość mapy zmienia się, aby uzyskać 100% wysokości (ale z paskiem nawigacyjnym u góry).
co jest brzydkie, ale wykonuje pracę.
źródło
[AKTUALIZACJA 2020]
Od 2020/02/23 Flexbox obsługuje 95% przeglądarki i jest świetną opcją, aby ulotka reagowała przy użyciu właściwości flex-grow.
Zobacz prezentację CodePen tutaj
Jest skonfigurowany tak, aby nadal wyświetlał się w przeglądarkach, które nie obsługują Flexbox, tylko ci użytkownicy będą musieli przewijać abit
¯ \ _ (ツ) _ / ¯
================================================== ==========
[STARY POST]
To zadziałało dla mnie.
Uwaga: chciałem, aby moja mapa nie miała 100% szerokości na dużych ekranach, więc dodałem
źródło
Problem polega na tym,
#map
że elementy potomnebody
mogą określać procentowe wysokości elementów potomnych tylko wtedy, gdy ich rodzic ma wyraźnie określoną wysokość.Spowoduje to utworzenie pożądanego efektu, ale powierzchnia użytkowa nigdy nie wzrośnie powyżej 75% z 480 pikseli. Zwykle
div
zawija się, gdy nie ma treści, ale z Ulotką, nawet jeśli twoja mapa jest w środku, niediv
jest obliczana przy renderowaniu, dlatego zwalnia podczas renderowania. Jeśli chcesz, aby treść zajmowała całą przestrzeń pionową, możesz zapytać o rozmiar okna przy ładowaniu strony za pomocą javascript i ustawić wysokość w ten sposób.źródło
Po prostu dodaj a
height:100%
do tagówhtml
ibody
, aby miały określoną wysokość i mogły być używane jako odniesienie i powinno działać.Bibliografia:
To pokrewne pytanie Stackoverflow: Procentowa wysokość HTML 5 / CSS
Możesz także zapoznać się ze standardem W3C CSS 2.1, aby zobaczyć model pudełkowy oraz część dotyczącą wysokości i marginesów obliczeniowych
źródło
Ostrzeżenie! Po przetestowaniu w różnych przeglądarkach dowiedziałem się, że moja odpowiedź poniżej działa tylko dla mnie w Chrome, a nie w Firefox
Miałem ten sam problem i naprawiłem to za pomocą display: table na głównym div i display table-cell na każdym div dzięki tej odpowiedzi na stackoverflow :
I css:
źródło