Jump to content


Photo
- - - - -

Часть адаптивного дизайна - уменьшение числа колонок

рецепт дизайн адаптивный дизайн

9 replies to this topic

#1 B_A_H_O

B_A_H_O
  • JBZoo User (rus)
  • User rate: 1.6
  • posts: 309
  • topics: 62

Posted 05 February 2014 - 18:58

*
POPULAR

Всем привет!

По мотивам моего вопроса об адаптивном дизайне для колонок, тут, и пишу этот рецепт.

Рецепт индивидуальный, кому-то нужен, кому-то нет, решайте сами.

 

И так, к сути.

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

6EtsVB.png

 

Был вариант от 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.

1391622262-clip-299kb.png

 

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. Этот рецепт не сделает Ваш дизайн полностью адаптивным, но поможет убрать некоторые простые косяки.


  • 8

#2 ripcord

ripcord
  • JBZoo User (rus)
  • User rate: 20.5
  • posts: 208
  • topics: 5

Posted 18 February 2014 - 03:50

*
POPULAR

 

Ну собственно и все. Себе настрою ещё и на 5 колонок дизайн, как доберусь до Full HD монитора )

 

Привет!

Вообще-то, при таких раскладах использовать "%" в CSS плохая идея.

Можно сделать быстрее, более лучше и моднее.

.jbzoo .width25
{
	width: auto;
	max-width: 290px;    /* для данного примера и 200px подойдет, у меня произвольная ширина */
	display: inline-block;
	vertical-align: top;
	float: none;
}
.items-col-4
{
	display: block;
	text-align: center;
}

.jbzoo-tmpl-catalog
{
	display: table;
	margin: auto;
	-webkit-transition: margin-right .15s cubic-bezier(0,1.12,.39,.98);   /* для сглаживания перерисовки при ресайзе */
	transition: margin-right .15s cubic-bezier(0,1.12,.39,.98);
}

и в template.css заменить "max-width: 1728px"

на

.sheet
{	.....
          max-width: inherit;
        .....
}

станет как-то так

 

1392691617-07796ff1d0f65bca774b666284ad1

 

 

 

Подходит для любого монитора, по обеим сторонам от группы айтемов остаются равные маржины,

быстро и вкусно )))

 

 

ЗЫ. Хотя тут у нас пример с 4-мя колонками айтемов, для подобного вывода контента "кучей и без затей" лучше в потрохах Zoo включить вывод одной колонкой, и через правку CSS тонко отрегулировать размеры и media queries, если тянет к прекрасному )


Edited by ripcord, 18 February 2014 - 03:59.

  • 6
Абгемахт, славяне!

#3 B_A_H_O

B_A_H_O
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 1.6
  • posts: 309
  • topics: 62

Posted 18 February 2014 - 03:59

рассмотрим и Ваш вариант O0


  • 0

#4 modmixa

modmixa
  • JBZoo User (rus)
  • User rate: 0
  • posts: 64
  • topics: 10

Posted 05 March 2014 - 04:21

Привет!
Вообще-то, при таких раскладах использовать "%" в CSS плохая идея.
Можно сделать быстрее, более лучше и моднее.

А можно поподробнее расписать что, куда и как? Какой имеется в виду шаблон?

и в template.css заменить "max-width: 1728px"

Я правильно понял - в настройках шаблона Catalog, в JbZoo нужно выставить что б контент выводился в одну колонку и тогда правка будет работать на всех видах устройств, включая планшеты и телефоны?
Пробовал по выше описанным рецептам - что то не заработало. Joomla 2.5.18 zoo 3.1.6 JbZoo 2.1.2, использую шаблон от роккетов (адаптивный на движке бутстрапа).


  • 0

#5 B_A_H_O

B_A_H_O
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 1.6
  • posts: 309
  • topics: 62

Posted 05 March 2014 - 04:24

Пробовал по выше описанным рецептам - что то не заработало. Joomla 2.5.18 zoo 3.1.6 JbZoo 2.1.2, использую шаблон от роккетов (адаптивный на движке бутстрапа).

Какой именно рецепт пробовали?

Покажите сайт, где Вы применили рецепт, но он не работает.


  • 0

#6 modmixa

modmixa
  • JBZoo User (rus)
  • User rate: 0
  • posts: 64
  • topics: 10

Posted 05 March 2014 - 04:42

Какой именно рецепт пробовали?

Покажите сайт, где Вы применили рецепт, но он не работает.

Пробовал Ваш - поправил Css, добавил инлайн и топ добавил медиа запросы (пробовал в Css JbZoo  потом в Css шаблона), удалил очистку в дефолте - пробую выдает ошибку. На этом все встало. Решил попробовать второй вариант -  с ним не все понятно.

Сайт пока на локалке.


  • 0

#7 B_A_H_O

B_A_H_O
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 1.6
  • posts: 309
  • topics: 62

Posted 05 March 2014 - 12:14

а свойство float Вы удалили?

Так заочно не могу Вам сказать, что не так. На хостинге посмотрел бы.

 

Попробуйте через Firebug открыть параметры в нужном месте сайта. Сделайте скрин что там и покажите.

В настройках у Вас сейчас 4 колонки?


  • 0

#8 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 15 January 2015 - 10:08

Адаптивный дизайн - штука нужная, планируется в 220
Предлагаю, обсудить что да как... поделиться примерами, например (=
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 registr

registr
  • JBZoo User (rus)
  • User rate: 0
  • posts: 1210
  • topics: 345

Posted 29 July 2015 - 08:36

а есть какое-то готовое решение чтоб простой вставкой в файл стиля шаблона пусть не идеально но настраивать адаптивность, например чтоб здесь http://lepestok.net.ua/ при уменьшении размера экрана менялось кол-во столбцов, размер фоток и возможно шрифтов?
  • 0

#10 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 July 2015 - 13:34

а есть какое-то готовое решение чтоб простой вставкой в файл стиля шаблона пусть не идеально но настраивать адаптивность, например чтоб здесь http://lepestok.net.ua/ при уменьшении размера экрана менялось кол-во столбцов, размер фоток и возможно шрифтов?


Серебряной пули в адаптивном дизайне практически не бывает (сетка - исключение).
Тут только писать условия media в CSS для своей разметки.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.






Also tagged with one or more of these keywords: рецепт, дизайн, адаптивный дизайн

Click to return to top of page in style!