Eu tenho tentado alterar a altura do meu mapa de folheto para uma porcentagem dentro do bootstrap, mas sempre que faço o mapa não é desenhado. Assim, eu sempre tenho que voltar ao valor px. Tenho certeza de que é uma configuração simples que estou perdendo, pois sou um iniciante em CSS. Aqui está o meu css.
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
#map {
height: 75%;
}
</style>
web-mapping
leaflet
bootstrap-framework
njackson.gis
fonte
fonte
Respostas:
Sempre tive problemas com a altura do mapa no bootstrap, pois a margem na parte superior pode ser diferente quando a largura do mapa muda para obter 100% de altura (mas com uma barra de navegação na parte superior), acabo usando
que é feio, mas faz o trabalho.
fonte
[ATUALIZAÇÃO 2020]
A partir de 2020/02/23, o Flexbox possui 95% de suporte ao navegador e é uma ótima opção para tornar o Leaflet responsivo usando a propriedade flex-grow.
Veja uma demonstração do CodePen aqui
É configurado para que ainda seja renderizado em navegadores que não suportam o Flexbox, apenas os usuários terão que rolar um pouco
¯ \ _ (ツ) _ / ¯
==================================================== ==========
[POST ANTIGO]
Isso funcionou para mim.
Nota: queria que meu mapa não tivesse 100% de largura em telas grandes, então adicionei
fonte
O problema é
#map
um filhobody
e você só pode especificar alturas de porcentagem para elementos filhos se o pai tiver uma altura definida explicitamente.Isso criaria o que você deseja, mas a área útil nunca aumentaria em mais de 75% dos 480px. Normalmente, um
div
recolhimento ocorre quando não há um conteúdo, mas com o Leaflet, mesmo que seu mapa estejadiv
nele, ele não é calculado na renderização; portanto, é recolhido na renderização. Se você deseja que o conteúdo ocupe todo o espaço vertical, é possível consultar o tamanho da janela no carregamento da página com algum javascript e definir a altura dessa maneira.fonte
Basta adicionar um
height:100%
às tagshtml
ebody
para que elas tenham uma altura definida e possam ser usadas como referência e funcione.Referências:
Esta questão relacionada ao Stackoverflow: Porcentagem de altura HTML 5 / CSS
Você também pode dar uma olhada no padrão W3C CSS 2.1 para ver o modelo da caixa e a parte sobre alturas e margens da computação
fonte
Atenção! Após testes entre navegadores, descobri que minha resposta abaixo só funcionava para mim no Chrome e não no Firefox
Eu tive o mesmo problema e consertei isso com display: table na div principal e display cell-cell em cada div, graças a esta resposta no stackoverflow :
E o css:
fonte