Intereting Posts
Маршрут к нескольким подпапкам в CodeIgniter Будет ли копирование на запись предотвращать дублирование данных на массивах? переименовать файл в php Объединение значений каждого массива в массив массивов в PHP Как загрузить пользовательские файлы конфигурации с помощью codeigniter? Zend ферма работает Doubt2 FOSUserBundle & REST Api Call: как использовать пользовательский FormType? Как отправить таблицу / форму с группировкой / идентификатором для последующего получения PHP: утечка памяти в рекурсивной функции Получение даты создания Facebook в профиле WooCommerce: Как вы добавляете текст перед ценой и до цены продажи? PHP: имя файла без расширения файла – лучший способ? Селен не показывает неудачные номера строк Преобразование совпадений в верхнем регистре, полужирное, с использованием регулярных выражений Как встроить мой собственный видеоплеер в Facebook?

Как я могу поместить внутренний тег в другое положение?

У меня есть эта структура меню: (внутренний <ul> может быть окружен пользовательским <div> , любые другие структурные изменения намного сложнее, потому что код создается из динамической модульной системы, написанной на PHP)

 <div id="menu"> <div class="body-menu"> <ul> <li class="current"><div class="body-menu"> <a href="bla">Item1</a> <ul> <li class="current"><div class="body-menu"> <a href="bla">Sub-Item 1</a> </div></li> <li class=""><div class="body-menu"> <a href="bla">Sub-Item 2</a> </div></li> </ul> </div></li> <li class=""><div class="body-menu"> <a href="bla">Item 2</a> </div></li> </ul> </div> <div class="menu-background"></div> </div> 

Цель состоит в том, чтобы отобразить внутренний <ul> после пункта 1 с левой стороны в качестве подменю, а не сверху с другими элементами верхнего уровня.

Есть ли способ сделать это без изменения структуры? Просто с CSS или так?


ОБНОВИТЬ:

Спасибо за ответы на все вопросы!

особенно для besluitloos и Caelea, это именно то, что я ищу.

Родительский <li> содержащий второй <ul> должен быть расположен относительно, а содержащаяся <ul> должна быть абсолютной.

Сопоставление:

 ul li { position: relative ;} ul li ul {position: absolute; top: 0; left: 145px;} 

Я написал left: 145px но вы можете дать любое значение, которое вы хотите, в зависимости от того, насколько вы хотите, чтобы ваше меню было.

PS: Совет. Не используйте одно и то же поле «body-menu» на тех divs, которые должны быть разными для большого контейнера, и не только. И я действительно не думаю, что нужно иметь этот div внутри этих < li > .

Возможно, вы хотите сделать что-то вроде скрытия подменю и заставить его всплывать или отображаться, когда мышь витает. Взгляните на http://cssmenumaker.com/builder/42231 для примера.

 .body-menu > ul > li { position:relative; float:left; padding-bottom: 1em; } .body-menu ul ul { position:absolute; left:0; top:1.3em; display:none; } .body-menu > ul > li:hover > ul { display:block; } направо .body-menu > ul > li { position:relative; float:left; padding-bottom: 1em; } .body-menu ul ul { position:absolute; left:0; top:1.3em; display:none; } .body-menu > ul > li:hover > ul { display:block; } 

Это то, что вы ищете?

EDIT: Извините, IE не играет хорошо с встроенным блоком. Поэтому вам придется изменить это на «inline». Затем вы можете оставить нижнюю прокладку, потому что это не работает на встроенном элементе. За исключением того, что вы плаваете элемент. отредактировал код выше для работы с float.

edit 2: опечатка.