Ah ok ahora entendí.
No se puede, al menos no directamente con CSS. La razón es que al poner una posición fija ese elemento sale del flujo natural y realmente no está antes del contenedor, por lo tanto ningún otro elemento es afectado por su altura, anchura ni nada...
Puedes hacer alguna
pirula, como crear otro header
fantasma con el mismo contenido que el que flota y luego aplicarle opacidad. Es una chapuza en toda regla... xD
Lo más correcto sería usar JavaScript para tomar la altura de la cabecera y luego aplicarle un margen o un top al contenedor. Haciendo eso, tendría que tener en cuenta también qué vería un usuario sin JavaScript.