Представим, что нам нужно упорядочить записи плиткой, т.е. слева направо сверху вниз. При этом, чтобы записи в каждом ряду были выровнены по левому и правому краям. Сделаем максимально простым способом.
Легкая верстка блоков
Данный способ отличается относительной легкостью реализации. Отпадает необходимость подключения скрипта для выравнивания высоты блоков, правда только в том случае если у блоков нет точных границ заливки фона или border’а. Не нужно ставить счетчик с проверкой какая по счету запись. При данной верстке легко адаптировать стили под любые устройства.
Прописываем повторяющимся блокам свойства:
.ternary { display: inline-block; position: relative; width: 31%; margin-right: 2%; margin-bottom: 30px; vertical-align: top; }
display: inline-block; — является ключевым, т.к. он делает блоки «строчными» и складывает их один за одним слева направо сверху вниз
width: 31%; — необходимая ширина (для мобильных версий будем изменять этот параметр)
margin-right: 2%; margin-bottom: 30px; — делаем отступы только направо и вниз
vertical-align: top; — нужен для правильного выравнивания блоков по вертикали
Мы выровняли все блоки, но у правых блоков в каждом ряду есть отступ. Избавляемся от него — .ternary:nth-child(3n) {margin-right: 0;}
Принцип действия и вариации
Эффективно использовать данную верстку таким образом:
Если нам нужно выстроить блоки по 4 в ряд оборачиваем цикл в определенный класс, например .quaternion и задаем ему соответствующие параметры
.quaternion { display: inline-block; position: relative; width: 23%; margin-right: 2%; margin-bottom: 30px; vertical-align: top; } .quaternion:nth-child(4n) {margin-right: 0;}
Если нам нужно выстроить блоки по 3 в ряд оборачиваем цикл в определенный класс, например .ternary, задав ему соответствующие параметры и т.д.
Адаптивность
При этом так же гибко можно настроить варианты для планшета и мобильных устройств. Только для этого нужно стиль последнего элемента (:nth-child) выводить с проверкой
@media (min-width:800px) { .ternary:nth-child(3n) {margin-right: 0;} }
Чтобы при последующих медиазапросах не нужно было переназначать его.
Размеры блоков при формировании верстки плиткой
Верстка товаров Woocommerce
Убираем закрывающий тег li у товаров. И прописываем такие стили:
.woocommerce ul.products { border: solid #e9eaec; border-width: 0 0 0 1px; overflow: hidden; padding-bottom: .1rem; float: left; width: 100%; } .woocommerce ul.products li.product { border: solid #e9eaec; border-width: 1px 1px 1px 0; box-sizing: border-box; background: #fff; padding: 5px 5px 0 5px; list-style: none; text-align: center; width: 25%; display: inline-block; vertical-align: top; position: relative; margin-bottom: -.1rem; }
Если для шаблона архивов надо изменить количество товаров в ряду добавляем
.tax-product_cat.woocommerce ul.products li.product, .tax-product_tag.woocommerce ul.products li.product { width: 33.33%; }
Это стили для вывода товаров через шорткоды
.woocommerce.columns-1 ul.products li.product {width:100%; margin-right:0} .woocommerce.columns-2 ul.products li.product {width:48%} .woocommerce.columns-3 ul.products li.product {width:33.33%} .woocommerce.columns-5 ul.products li.product {width:16.95%} .woocommerce.columns-6 ul.products li.product {width:13.5%}[site-socialshare]