2011-03-08 4 views
4

Эй, ребята, я пытаюсь использовать удивительный JQuery плагин кладку ->http://desandro.com/resources/jquery-masonry/jquery masonry: nth-child() не будет работать?

Плагин работает просто отлично, но у меня есть проблемы с созданием макета, где я использую п-го ребенка() селектор, чтобы избавиться от от правого края на каждом третьем элементе.

#footerwidgets li.widget { 
    margin: 0px 24px 24px 0px; 
    width:340px; 
} 

#footerwidgets li.widget:nth-child(3n) { 
    margin-right:0px; 
} 

Поскольку мой контейнер для этого виджеты ровно 1068px шириной три виджета вписался в (потому что последний виджет не имеет правого края)

Когда я пытаюсь использовать JQuery кладку плагин это поведение игнорируется! Доступны только два столбца (плагин работает, поэтому все виджеты становятся плавающими в стиле кладки). Когда я проверяю элементы, каждый третий элемент имеет правый край 24px. Поэтому nth-child игнорируется.

Любой способ заставить это работать?

+0

Какой браузер вы проверить это? Селектор 'nth-child' - это CSS 3, поэтому поддержка по-прежнему немного ограничена. Internet Explorer не поддерживает его до версии 9. – Guffa

+0

Я использую хром и/или сафари – matt

ответ

10

С JQuery, удалить поля и используйте Masonry's gutterWidth option на свои места.

CSS:

#footerwidgets li.widget.masonry-brick { margin: 0; } 

JQuery:

$('#footerwidgets').masonry({ 
    gutterWidth: 24 
}); 
1

Каменная кладка не работает хорошо с полями переменной величины. У вас три столбца и контейнер размером 528 пикселей. Лучше всего пойти с тремя колонками по 176 пикселей. У каждого столбца будет запас, скажем 12px и ширина 152px.

Если вы хотите, чтобы ваша полная ширина минус левый и правый края, чтобы быть 528px, а затем разверните контейнер на 544px (528px + 2 х 12px) и ширину столбцам на 160.

+0

sry, эта запятая не проблема, это «небольшая ошибка, которая произошла с публикацией этого вопроса ... проблема в том, что i хотите, чтобы три виджета располагались горизонтально в моем #wrapper div (1068px wide). каждый виджет имеет ширину 340 пикселей и имеет правое поле 24px. Каждый третий виджет имеет свой правый запас, равный 0; это означает 340 + 24 + 340 + 24 + 340 = 1068. Это отлично работает, когда я не использую кладки. Однако, когда я использую каменную кладку, все виджеты имеют правое поле 24px, поэтому каждый третий элемент также перемещается влево -> так что только два столбца виджетов вписываются в мою обертку. – matt

+0

и да, вы поняли меня правильно. мой третий виджет плавает влево. Однако я хочу, чтобы он плавал прямо на верх, помимо двух других виджетов. – matt

+0

Можете ли вы разместить ссылку на свой HTML-код, это поможет мне лучше ответить на ваш вопрос. Используйте что-то вроде pastebin – Dimitry

 Смежные вопросы

  • Нет связанных вопросов^_^