Быстро и грязно: я добавил абсолютно позиционированный внешний элемент для меню, а затем применил top:40px
к содержимому div
, чтобы опустить его, чтобы компенсировать высоту меню.
<div style="position:absolute;width:100%;">
<div style="width: 500px; margin: 0px auto; padding: 10px; ">
<div id="menuItem" style="border: 1px solid blue; position: relative; z-index: 10; float: right; display: none; cursor: pointer;">
MenuItem1<br />
MenuItem2<br />
MenuItem3<br />
MenuItem4<br />
MenuItem5<br />
MenuItem6<br />
MenuItem7
</div>
<div id="menu" style="border: 1px solid blue; position: relative; z-index: 10; float: right; cursor: pointer;">
My Menu
</div>
</div>
</div>
<div style="margin: 50px 0px; padding: 0px; text-align: center; position:relative; top:40px; ">
<div style="width: 500px; margin: 0px auto; border: 1px solid red; padding: 10px; height: 500px;">
<div style=" clear:both; z-index: 1; float: right;">Form Element</div>
</div>
</div>
</body>
</html>
Когда я набираю это, Дотти уже ответил передо мной с почти идентичным подходом. Однако в приведенном выше коде отдельные меню div
правильно плавают рядом друг с другом, как вы хотите, как они это делают в первом коде, который вы опубликовали в вопросе.
Возможно, есть некоторые div
и элементы стиля, которые сейчас немного избыточны.
Редактировать: Теперь мне приходит в голову, что работа меню в коде Дотти, вероятно, на самом деле такова, как вы намеревались , чтобы меню было.