L'attribution CSS largeur d'un position:fixed élément

Je voudrais un élément fixe de la largeur de correspondre à celui de la div placé immédiatement au-dessous. Imaginez un en-tête et un div du contenu principal. Un problème dans la correspondance de leurs largeurs se produit lorsque l'en-tête et le contenu divs sont imbriquées à l'intérieur d'un div extérieure. Dans ce scénario, le % de la largeur de chaque ne correspondent plus à leurs parents largeur (par exemple,<body> tag) et l'élément fixe la largeur est basée sur quelque chose qui est source de confusion pour moi.

Pour mieux expliquer ce que je veux dire, le contraste de ces deux js violons:

  1. http://jsfiddle.net/2dudX/4/
    vs
  2. http://jsfiddle.net/2dudX/10/

voici le code pour chaque:

<div id="fixed"></div>
<div id="content"></div>​

#fixed{ position:fixed; z-index:2; width:90%;
        height:25px; background:yellow;}
#content{ width:90%; height:300px; background:red}

vs

<div id="main">
   <div id="fixed"></div>
   <div id="content"></div>    
</div > 

#main{ width:95%}
#fixed{ position:fixed; z-index:2; width:90%;
        height:25px; background:yellow;}
#content{ width:90%; height:300px; background:red}

Remarque que dans jsfiddle #1 faire le jaune et le rouge divs largeurs correspondent indépendamment de la façon dont vous redimensionner le navigateur. Malheureusement, jsfiddle#2 est plus un monde réel scénario et je me demandais comment faire pour corriger les id="fixed" div tels que sa largeur correspond également avec id="content" div.

Pensées?

vérifier modifier ci-dessous, seule viens de voir la note sur la correspondance de la largeur.

OriginalL'auteur tim peterson | 2012-08-25