Usando o twitter bootstrap (2), tenho uma página simples com uma barra de navegação e, no interior container
, quero adicionar uma div com 100% de altura (na parte inferior da tela). Meu css-fu está enferrujado, e não consigo resolver isso.
HTML simples:
<body>
<div class="navbar navbar-fixed-top">
<!-- Rest of nav bar chopped from here -->
</div>
<div class="container fill">
<div id="map"></div> <!-- This one wants to be 100% height -->
</div>
</body>
CSS atual:
#map {
width: 100%;
height: 100%;
min-height: 100%;
}
html, body {
height: 100%;
}
.fill {
min-height: 100%;
}
- EDIT *
Adicionei altura à classe de preenchimento, conforme sugerido abaixo. Mas, o problema é que eu adiciono uma parte superior de preenchimento ao corpo para explicar a barra de navegação fixa na parte superior. Isso afeta a altura de 100% da div "map" e significa que uma barra de rolagem é adicionada - como pode ser visto aqui: http://jsfiddle.net/S3Gvf/2/ Alguém pode me dizer como consertar?
css
twitter-bootstrap
height
Matt Roberts
fonte
fonte
Respostas:
Defina a classe
.fill
comoheight: 100%
JSFiddle
(Coloquei um fundo vermelho para
#map
que você possa ver que ele ocupa 100% de altura)fonte
box-sizing:border-box;
no elemento com o estofamento (tag body) para uma solução fácilAtualização 2019
No Bootstrap 4 , o flexbox pode ser usado para obter um layout de altura total que preenche o espaço restante.
Primeiro de tudo, o contêiner (pai) precisa ter altura total:
Opção 1_ Adicione uma classe para
min-height: 100%;
. Lembre-se de que a altura mínima só funcionará se o pai tiver uma altura definida:https://www.codeply.com/go/dTaVyMah1U
Opção 2_ Usar
vh
unidades:https://www.codeply.com/go/kMahVdZyGj
Em seguida, use a coluna de direção da caixa flexível
d-flex flex-column
no contêiner eflex-grow-1
em qualquer div filho (ou seja :)row
que você deseja preencher a altura restante.Veja também:
Bootstrap 4 Barra de navegação e altura de preenchimento de conteúdo flexbox
Bootstrap - Encha o recipiente de fluido entre o cabeçalho e o rodapé
Como fazer a linha esticar a altura restante
fonte
height:100%
não consumir simplesmente o restante da altura inferior, mas sim consumir 100% da altura da janela de exibição, criando uma barra de rolagem vertical. É por isso que o mapa exige que você role para baixo na resposta aceita.É muito simples. Você pode usar
Você pode alterar a altura de acordo com sua exigência.
fonte
você precisa adicionar padding-top ao elemento "fill", além de adicionar o tamanho da caixa: border-box - exemplo aqui bootply
fonte