Попробуйте добавить overflow: hidden
к .header
.Если вы перемещаете какие-либо дочерние элементы (input
, .logo
, .search
и т. Д.), А затем не очищаете их, элемент .header
не будет расширяться, чтобы соответствовать содержимому.
Таким образом, шансыфон элемента .header
red
, но вы просто его не видите.
См. следующие примеры:
Float, no clear - показывает поведение, которое выописывают
http://jsfiddle.net/qrS3u/
Float, с прозрачным фоном - красный
http://jsfiddle.net/qrS3u/1/
Редактировать
Для получения дополнительной информации о том, почему это происходит с плавающими элементами и как их исправить, проверьте эта статья CSS-хитрости