Quería establecer un encabezado superior en una posición fija y tener contenido desplazarse por debajo de él y se encontró con algo extraño. Si establezco un margen superior en el div de contenido, ese margen también afectaría al encabezado y lo movería hacia abajo aunque esté establecido en posición: fijo. Encontré una solución al configurar el div de contenido en posición: relativo y usando top: para compensarlo con la misma cantidad, pero me resulta extraño que un div no anidado pueda afectar un elemento de posición fija y me gustaría saber por qué sucede .margen afecta a otros elementos fijos posición
Me sale lo mismo en Safari, Firefox y Chrome. En Opera, el margen empuja hacia abajo el contenido y deja el encabezado en su lugar, que es lo que esperaba que hiciera, pero en comparación con los otros resultados, es posible que sea Opera quien lo tenga mal. De lo que estoy hablando se puede ver en this JSFIDDLE (¡no use Opera! :)).
Aquí está el código:
css:
body {
background:#FFD;
}
#header {
position:fixed;
height:15px;
width:100%;
text-align:center;
border-bottom:1mm dashed #7F7F7F;
background-color:#EEE;
}
#content {
width:90%;
margin-top:25px;
margin-left:auto;
margin-right:auto;
background-color:#E5E5FF;
border: 1px solid #000;
}
html:
<body>
<div id="header">
HEADER
</div>
<div id="content">
<p>Text1</p>
<p>Text2</p>
<p>Text3</p>
<p>Text4</p>
</div>
</body>
'! Important' no es necesario. –
Bien, usted está bien agarrado. – Seabass
Qué vergonzoso haberte perdido eso. ¡Gracias! Aún así, es extraño que se aplique el mismo margen a un elemento no descendiente, ¿no crees? – seron