私はCSSのエキスパートではありませんが、特にポジショニングの際には、この問題を解決することができます。 "コントロール" のdivが正しくレンダリングされていません絶対配置されたdivが他の絶対配置されたdivに入れ子になっている問題
<body>
<div style="height:100%;width:100%;">
<div id="map" style="bottom:250px;height:100%;overflow:hidden;position:absolute;width:100%;">
<!-- The controls div does not render correctly. -->
<div id="controls" style="left:10px;position:absolute;top:10px;">
</div>
<!-- The legend and logos divs do render correctly. -->
<div id="legend" style="bottom:45px;left:10px;position:absolute;">
</div>
<div id="logos" style="bottom:5px;left:10px;position:absolute;">
</div>
</div>
<div id="search" style="bottom:0;height:250px;position:absolute;width:100%;">
</div>
</div>
</body>
:
は、ここに私の単純化されたHTMLです。実際、それは全く表示されません。私が "トップ10px;" "bottom:400px;"に置き換えると、正しくレンダリングされます。ユーザーがブラウザウィンドウのサイズを変更した場合、divの高さが調整されるので、これは私が望むものではありません。私はまた、divを配置するためにJavaScriptを使用したくない。
「凡例」と「ロゴ」の両方のdivが正しく表示されます。
私はFirefoxでテストを行っています。あなたは、単に親を与える必要があります
「map:」を「position:relative;」に設定すると、正しく表示されません。 –
合意。 '#controls' divはおそらくレンダリングされていますが、親には' overflow:hidden'がありますので、親の外側に描画され、表示されません。また、親div '#map'がページの上部を越えて' 250px 'を伸ばしている場合(あなたのCSSが右にレンダリングされるべきである)、コントロールはオフスクリーンになります。 – sholsinger
@Nate: 'bottom:250px'を削除し、' div#map'で 'position:relative'を変更した場合、内側divは必要な場所にする必要があります。 – sholsinger