I miei margini css non si comportano nel modo in cui io voglio o mi aspetto che lo facciano. Mi sembra che la mia intestazione margin-top influenzi i tag div che lo circondano.terrore margine CSS; Margine aggiunge spazio al di fuori dell'elemento genitore
Questo è quello che voglio e mi aspetto:
... ma questo è quello che io alla fine con:
Fonte:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Margin test</title>
<style type="text/css">
body {
margin:0;
}
#page {
margin:0;
background:#FF9;
}
#page_container {
margin:0 20px;
}
h1 {
margin:50px 0 0 0;
}
</style>
</head>
<body>
<div id="page">
<div id="page_container">
<header id="branding" role="banner">
<hgroup>
<h1 id="site-title"><span><a href="#" title="Title" rel="home">Title</a></span></h1>
<h2 id="site-description">Description</h2>
</hgroup>
</header>
</div>
</div>
Ho esagerato il margine in questo esempio le. Il margine predefinito del browser su h1-tag è leggermente più piccolo e nel mio caso uso il bootstrap Twitter con Normalizer.css che imposta il margine predefinito su 10px. Non è così importante, il punto principale è; Non posso, non dovrei, non voglio cambiare il margine sul tag h1.
Immagino sia simile alla mia altra domanda; Why does this CSS margin-top style not work?. La domanda è: come posso risolvere questo problema specifico?
Ho letto a few threads su problemi simili, ma non ho trovato risposte e soluzioni reali. So che l'aggiunta di o border:1px;
risolve il problema. Ma questo aggiunge solo nuovi problemi, dal momento che non voglio un padding né un bordo sui miei tag div.
Ci deve essere una soluzione migliore, migliore pratica? Questo deve essere abbastanza comune.
hai iniziato un reset CSS? –
Io uso Normalizer.css. Ma non è questo il problema. Se rimuovo il tag h1. Non c'è problema. Il problema è che voglio un margine sul mio tag h1 e che sta influenzando gli elementi circostanti. – jamietelin
Puoi [pubblicare una demo] (http://jsfiddle.net/) per caso? –