Всем привет!
По мотивам моего вопроса об адаптивном дизайне для колонок, тут, и пишу этот рецепт.
Рецепт индивидуальный, кому-то нужен, кому-то нет, решайте сами.
И так, к сути.
Если на Вашем сайте вывод подкатегорий и товаров в категориях осуществляется в 4 колонки, то на малых разрешениях экрана (уже при ширине 1024px) у старых мониторов и планшетов можно наблюдать такую неприятную картину.

Был вариант от Cheren-dow, но там все сводилось к выводу в 1 колонку.
И так, что-бы вывод товаров и подкатегорий постепенно адаптировался в меньшее число колонок нужно:
1. Правим CSS.
В файле jbzoo.css по адресу
/public_html/media/zoo/applications/jbuniversal/assets/css
находим строки
.jbzoo .width50 {
width: 49%;
float: left;
}
.jbzoo .width33 {
width: 32%;
float: left;
}
.jbzoo .width25 {
width: 23.8%;
float: left;
}
.jbzoo .width20 {
width: 19%;
float: left;
}
.jbzoo .width16 {
width: 15.7%;
float: left;
}
и удаляем в каждой из них параметр float: left; .
Далее, в этом же css находим строку
.jbzoo .subcategories .column,
.jbzoo .related-items .column,
.jbzoo .items .column {
margin-right: 1%;
margin-bottom: 1em;
}
и добавляем в ней 2 свойства: display: inline-block; и vertical-align:top;
Далее пишем в css свойства @media. Пишем их в самом низу файла jbzoo.css
@media (min-width: 1280px) {
.jbzoo .width25 {
width:24.2%;
}}
@media (min-width: 1024px) and (max-width: 1279px) {
.jbzoo .width25 {
width:32.3%;
}}
@media (min-width: 768px) and (max-width: 1023px) {
.jbzoo .width25 {
width:49%;
}}
Подбор ширины колонок это дело сугубо индивидуальное, у кого какой сайт, дизайн, вкус, зрение. Делать это проще всего через Firebug и при этом изменяя разрешение экрана.
Тут в @media задаем для какого разрешения экрана будут задействованы наши свойства. На пример для экранов с шириной от 1280px и выше будет 4 колонки (min-width: 1280px), для ширины от 1024px до 1279px будет 3 колонки и т.д.
Класс .jbzoo .width25 это класс ваших колонок в зависимости от настроек. Определить его можно так (показано на рисунке).
Ширина width:32.3%; задается нашим блокам в указанном диапазоне ширины экрана и заставляет блоки растягиваться и занимать по 32.3% отведенного пространства ширины, тем самым выстраиваться в 3 колонки, а не 4.

2. И напоследок можно удалить некоторые лишние элементы:
Находим 2 файла. Название _default.php
Адрес 1
/media/zoo/applications/jbuniversal/templates/catalog/renderer/item_columns
Адрес 2
/media/zoo/applications/jbuniversal/templates/catalog/renderer/subcategory_columns
Открываем, находим код
if ($isLast) {
echo '<div class="clear clr"></div>';
}
и удаляем его
foreach ($vars['objects'] as $object) {
$first = ($j == 0) ? ' first' : '';
$last = ($j == $count - 1) ? ' last' : '';
$j++;
$isLast = $j % $vars['cols_num'] == 0 && $vars['cols_order'] == 0;
if ($isLast) {
$last .= ' last';
}
echo '<div class="column rborder width' . intval(100 / $vars['cols_num']) . $first . $last . '">' . $object
. '</div>';
if ($isLast) {
echo '<div class="clear clr"></div>';
}
}
Ну собственно и все. Себе настрою ещё и на 5 колонок дизайн, как доберусь до Full HD монитора )
Буду рад, если кому-то поможет. Спасибо за внимание.
P.S. Этот рецепт не сделает Ваш дизайн полностью адаптивным, но поможет убрать некоторые простые косяки.












