posso ottenere un'altezza div 100%, come questo:CSS: è possibile ottenere un div che è al 100% di altezza, meno un margine superiore e inferiore?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>T5</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css"
href="http://yui.yahooapis.com/3.0.0/build/cssreset/reset-min.css">
</link>
<style type="text/css">
* { padding: 0; margin: 0; }
html, body { height: 100%; }
body {
font-family: "lucida sans", verdana, arial, helvetica, sans-serif;
font-size: 75%;
}
h1 { font-weight: bold; font-size: 1.4em; padding: 10px 10px 0;}
p { padding: 0 10px 1em; }
#container {
min-height: 100%;
background-color: #DDD;
border-left: 2px solid #666;
border-right: 2px solid #666;
width: 280px;
margin: 0 auto;
}
* html #container { height: 100%; }
</style>
</head>
<body>
<div id="container">
<h1>100% Height Div</h1>
<p>Lorem ipsum ...</p>
</div>
</body>
</html>
Ecco come si presenta:
alt text http://i41.tinypic.com/1j1do8.jpg
Quando dico "altezza 100%" - voglio dire che rimane tutta altezza indipendentemente dalla quantità di contenuto presente nel div e indipendentemente da come viene ridimensionata la finestra.
Ma è possibile ottenere un div con un'altezza di altezza "quasi 100%"? Se voglio margini in alto e in basso, posso farlo?
voglio farlo sembrare come questo:
alt text http://i44.tinypic.com/j76kvl.jpg
posso farlo con JavaScript + CSS. Posso farlo solo con i CSS?
Risposta:
Sì, è possibile con posizionamento assoluto.
#container {
width: 380px;
background-color: #DDD;
border: 2px solid #666;
position: absolute;
top: 20px; /* margin from top */
bottom: 20px; /* margin from bottom */
left: 50%; /* start left side in middle of window */
margin-left: -190px; /* then, reverse indent */
overflow: auto; /* scrollbar as necessary */
}
Risultato:
alt text http://i42.tinypic.com/33vj3nq.jpg
Grazie to keithjgrant for the answer. Vedi tutto il codice allo http://jsbin.com/otobi.
Non è possibile eseguire questa operazione aggiungendo _padding: 20px 0 20px 0; _ allo stile di id #container? – amelvin
No, perché il riempimento e il margine vengono aggiunti all'altezza/larghezza. Quindi questo renderebbe un'altezza del 100% + 40px. – poke
è necessario creare un inner-container all'interno del contenitore e quindi aggiungere il padding a quello – stephenmurdoch