2014-10-07 3 views
1

Я хочу применить совершенные поля к моим изотопированным элементам. Проблема заключается в том, что, когда я заявляю, что-то подобное для моих элементов:JQuery Isotope - Каков наилучший способ применения маржи к элементам?

CSS

#container .elements{ 
    margin-bottom: 20px; 
    margin-left: 1%; 
    margin-right: 1%; 
    width: 23%; 
} 

JS

$container.isotope({ 
     itemSelector: '.elements', 
     layoutMode: 'fitRows' 
}); 

Есть нежелательные поля слева и справа от контейнера:

enter image description here

Как я могу решить эту проблему?

+0

Эта страница может помочь вам: http://isotope.metafizzy.co/layout-modes/masonry.html В тех местах, где я использовал изотоп, я использовал его в сочетании с сеткой, такой как Bootstrap. В этом случае я даю каждому элементу класс span3, который обеспечивает согласованные поля. – ReLeaf

ответ

2

Вы можете сделать это с помощью контейнера с отрицательными полями для левой и правой

#container { 
margin-left: -1%; 
margin-right: -1%; 
} 
1

Один из способов сделать балансируют внутренний край с краем контейнера:

#container .elements{ 
margin-bottom: 20px; 
//margin-left: 1%; 
margin-right: 1%; 
width: 23%; 
} 

#container { 
    margin-left:1%; 
} 

Другим способом сделать свой собственный lastelement класс и применить его к последнему элементу в каждой строке:

#container .elements.lastelement { 
    margin-right:0; 
} 
0

Другим решением может быть удаление левого поля из первого элемента каждой строки.

Вы можете сделать это, используя nth-child selector.

Ваш код становится:

#container .elements { 
    margin-bottom: 20px; 
    margin-left: 2% 
    width: 24%; 
} 

#container .elements:nth-child(4n+1) { 
    margin-left: 0%; 
} 

Пожалуйста, обратите внимание, что я пересчитывается поля для того, чтобы держать вещи простыми.

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