io sto cercando di fare seguente schema:HTML e CSS + Twitter Bootstrap: layout di pagina intera o altezza 100% - NPX
+-------------------------------------------------+
| Header + search (Twitter navbar) |
+------------+------------------------------------+
| | |
| | |
|Navigation | Content column |
| | |
| | |
| | |
| | |
| | |
| | |
+------------+------------------------------------+
| Footer |
+-------------------------------------------------+
layout deve tenere a disposizione tutto altezza larghezza &, le colonne di navigazione e di contenuto occupano tutto lo spazio disponibile e scorrono in overflow, il piè di pagina dovrebbe rimanere in fondo.
HTML simile a questo ora:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
<link href="css/app.css" rel="stylesheet" media="screen">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div class="container-fluid">
<div class="navbar">
<!-- navbar content -->
</div>
<div class="row-fluid columns">
<div class="span2 article-tree">
<!-- navigation column -->
</div>
<div class="span10 content-area">
<!-- content column -->
</div>
</div>
<div class="footer">
<!-- footer content -->
</div>
</div>
</body>
</html>
CSS:
body, html, .container-fluid { /// take all available height
height: 100%;
}
.article-tree {
color: #DCE6E5;
background: #2F323B;
}
.content-area {
overflow: auto;
height: 100%; /// explicit height to make scrolling work
}
.columns {
height: 100%; /// columns should take all height
margin-top: 42px; /// minus header
margin-bottom: 20px; // minus footer
}
.columns > div {
height: 100%; // make each column to take all available height
}
.footer {
background: red;
height: 20px;
}
In teoria dovrebbe funzionare, ma columns.margin non funziona come mi aspetto. Ho pensato che dovrebbe rendere altezza = 100% - magin, ma sposta semplicemente il contenitore.
Ho cercato su Google e ho visto numerose domande su StackOverflow. Tutti includono JavaScript o posizione: posizionamento assoluto e manuale. IMHO sono più hack che soluzioni, penso che ci dovrebbe essere un modo più semplice, più elegante e cross-browser per risolvere questo problema.
Quindi, come posso creare il layout sopra descritto? Forse Bootstrap può aiutarmi (ho esaminato la documentazione, ma non ci sono menzioni di casi come questo)?
Domanda ben formata. –