Я хочу центрировать ul в div, который является левой колонкой жидкой компоновки. Для этого мне нужно установить ширину div, которую я использовал для обертывания ul. Примечание. Элементы списка (и содержимое) извлекаются из базы данных с использованием php.Найдите ширину левого плавающего списка и примените к обертке div, чтобы центрировать его с помощью css - jQuery?
Меня интересуют ваши предложения о том, как это сделать, используя jquery.
Рассмотрим следующий код:
<div id="wrapper">
<div id="left-column">
<div id="list-wrap">
<ul>
<li>Dynamic content 1</li>
<li>Dynamic content 2</li>
<li>Dynamic content 3</li>
<li>Dynamic content 4</li>
</ul>
</div><!--/list-wrap-->
</div><!--/left-column-->
<div id="right-column">
Content
</div><!--/right-column-->
<div style="clear: both;"></div>
</div><!--/wrapper-->
Используя этот CSS:
#wrapper {}
#left-column { float: left; width: 50%; }
#right-column { float: right; width: 50%; }
#list-wrap { margin: 0 auto 0 auto; padding: 40px; }
#list-wrap ul { list-style-type: none; }
#list-wrap ul li { float: left: width 160px; height: 160px; margin: 20px; }
Я не слишком умен, когда дело доходит до Javascript, но я имею в виду решение повлекло бы за собой что-то вроде этого :
- Найдите ширину области содержимого для использования в # левом столбце.
- Определите, сколько лилей будет вписываться в эту ширину (с учетом поля и заполнения # list-wrap).
- Завершите рисунок до ближайшего 200px (ширина 160px + поля 2x20px)?
- Примените ширину к # list-wrap.
Вот то, что я использовал до того, что соответствует некоторым критериям для начала работы:
var menuWidth = 0;
$(".menu > ul > li > a").each(function(i) {
menuWidth += $(this).outerWidth(true);
});
$(".menu").css("width", menuWidth);
Заранее спасибо за вашу помощь,
Niels
Будет ли это работать в IE? – robertc
Извините, IE6 не поддерживает встроенный блок Вы можете использовать плагин IE7.js (или IE8.js), чтобы IE6 правильно отображал эту информацию. вы можете найти здесь: http://code.google.com/p/ie7-js/ – Raspo
Привет, Рапо, спасибо за отзыв. Я забыл упомянуть, что у меня есть два элемента внутри ли, которые абсолютно расположены (один поверх другого). Я все еще увлекаюсь jQuery-решением, но прибегаю к плагину IE8 и принимаю дополнительные накладные расходы на JavaScript :-) – Niels