Cita:
Iniciado por ZoroRoronoa
Esto pasa, por que el hijo tiene un ancho de 500px.
entonces el padre, no tiene un ancho especificado, por lo que sera auto, y se ajustara al del hijo.
si el hijo tiene 500, el padre tambien lo tendra, y no hay base del padre para agarrar el margin, por lo que el hijo se mueve y el ancho del padre lo sigue.
hay varias maneras de hacer eso y que funcione (el 100px de margin, los 500 del hijo y el padre no se mueva)
1) hijo 500px ancho, padre 600px de ancho, margin izq o der de 100px (hijo flotado a left o right)
2) padre 500px ancho, padding left o right de 100px al padre y 500px de ancho al hijo
Saludos.
El padre sí tiene dimensiones propias. La altura viene de
height:100% y el ancho es automático por lo que, como bien ha dicho tredio, para los bloques es el 100%.
Y, aunque no las tuviera, un elemento padre no tiene porqué verse afectado por su descendencia en lo que respecta a los márgenes, rellenos, bordes, contornos... En todo caso son los elementos hijos los que se ven afectados por los padres.