Меню для каталога

Очень интересует реализация приведённого ниже меню-каталога на bootstrap 4. Может быть кто-то видел такое и есть примеры/готовое решение? Видел такое меню-каталог на многих сайтах. Обычно оно в раскрытом состоянии и располагается слева в виде сайтбара. Но его можно свернуть. В карточке товара оно обычно чвёрнуто и только в шапке сайта слева надпись-кнопка — каталог, которая раскрывается в виде меню.
Отслеживать
задан 15 фев 2019 в 14:13
487 2 2 серебряных знака 12 12 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Вот примерно такой документ у меня получился, поискав инфу в Нете.
Multylevel menu #menu2 < margin-left: 50px; >#menu3 Item 1 Item 2 Item 2.1 Item 2.2 Item 2.2.1 Item 2.2.2
В прописан сам Bootstrap 4.
Меню первого уровня
Дальше идёт само меню. Item 2 является .submenu, .collapse, .dropdown-toggler; data-toggle=»collpase», даёт кнопке функционал. В data-target — прописан ID блока который мы собираемся открыть. Все эти атрибуты определяют наше подменю.
Меню второго уровня
Дальше идёт уже содержание самого подменю, указываем как обычное меню — .dropdown-menu и также .dropdown-collapse для того, чтобы оно скрывалось-раскрывалось.
Скрипт
И наконец строка jQuery, которая не даёт целому меню не закрыться при каких-то действиях внутри всего dropmenu. Скрипт обрабатывает класс .noclose, который мы записали в блоке, содержащий целое меню.
Стили
В можно сделать сдвиг блока меню, создав визуализацию дерева.
Заключение
Единственный недостаток — как-то долго открывается подменю. Попробуйте сами покрутить, поставить может что-то. Надеюсь у Вас получиться)) сам попробую что-то подправить, найду, обязательно оповещу)).
Создание каталога товаров в формате HTML5
Наиболее совместимый формат со всеми устройствами, экранами, браузерами.
Публикация, отсылка по email
Вы можете сделать HTML как всех товаров, так и только отмеченных в списке.
Не требует специальных шаблонов, вы можете использовать те же, которые уже используете для печати или создания PDF.
Есть возможность сделать HTML каталог одним файлом, легко переслать и разместить, а можно постранично, с кнопками навигации.
Во втором случае вы можете отослать по запросу избранные листы каталога.
При онлайн размещении, хорошо индексируется поисковыми системами.
Для выбора/изменения шаблона каталога выберите пункт «Изменить шаблон»




Применение: публикация на сайте, отсылка по email клиенту. Использование как альтернатива PDF каталогу. HTML каталог предлагается к использованию практически во всех областях бизнеса независимо он наличия сайта или интернет-магазина.
MyBusinessCatalog
(function(i,s,o,g,r,a,m),i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) >)(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’); ga(‘create’, ‘UA-107915-1’, ‘.mybusinesscatalog.com’, ); ga(‘require’, ‘linkid’, ‘linkid.js’); ga(‘require’, ‘linker’); ga(‘require’, ‘displayfeatures’); ga(‘send’, ‘pageview’);
We use cookies to improve the site and its user experience. By continuing to use the site, you consent to the use of cookies. You can always disable cookies in your browser settings.
Как создать каталог товаров в HTML
HTML — это язык разметки, который используется для создания веб-страниц. Он позволяет создавать структурированный и организованный контент, такой как каталоги товаров на сайте.
Каталог товаров — это незаменимый элемент интернет-магазина или любого другого сайта, предлагающего товары или услуги. Создание каталога товаров с помощью HTML позволяет систематизировать и упорядочить представление товаров на сайте.
Создание каталога товаров начинается с хорошо продуманной структуры и разметки HTML. Вся информация о товаре, такая как название, изображение, описание и цена, должна быть расположена в определенном порядке и быть легко доступной для посетителя сайта.
Теги и могут быть использованы для создания общей структуры каталога. Тег используется для группировки товаров, а тег — для создания списка товаров внутри группы.
Основы создания каталога товаров
- Категоризация товаров Первым шагом при создании каталога является категоризация товаров. Разделите товары на группы или категории в зависимости от их характеристик и назначения. Например, для интернет-магазина одежды категории могут включать «мужская одежда», «женская одежда», «детская одежда» и т. д. Это поможет пользователям быстро найти нужный товар.
- Структура каталога При создании структуры каталога товаров используйте иерархическую систему. Например, создайте главные категории, подкатегории и подподкатегории. Это поможет организовать товары и сделать каталог более понятным для посетителей сайта.
- Информация о товаре Важной частью каталога товаров является информация о каждом товаре. Для каждого товара укажите его название, цену, описание, характеристики и фотографии. Также можно добавить отзывы и рейтинги, чтобы помочь пользователям сделать выбор.
- Фильтрация и сортировка Добавьте возможность фильтровать и сортировать товары в каталоге. Например, пользователи могут отфильтровать товары по цене, размеру, цвету или другим параметрам. Также можно предоставить возможность сортировать товары по популярности, цене или новизне.
- Удобная навигация Обеспечьте удобную навигацию по каталогу товаров. Добавьте ссылки на главные категории, подкатегории и подподкатегории на странице каталога. Также можно добавить постраничную навигацию для большого количества товаров.
Создание каталога товаров требует тщательного планирования и организации. Следуя приведенным выше основам, вы сможете создать удобный и эффективный каталог, который поможет пользователям быстро найти нужные товары.
Определение структуры каталога
Перед тем, как создать каталог товаров на сайте, важно определить его структуру. Структура каталога поможет пользователям легко найти нужный товар и сделать выборку по различным критериям.
Если у вас есть определенные категории товаров, то логично сгруппировать их в разделы. Каждый раздел может содержать подкатегории, которые, в свою очередь, могут содержать подподкатегории и так далее.
Один из способов представить структуру каталога — использовать упорядоченные или неупорядоченные списки. Упорядоченные списки позволяют задать порядок элементов, а неупорядоченные списки создают нумерованный или маркированный список без указания порядка.
Пример структуры каталога в виде неупорядоченного списка:
- Раздел 1
- Подкатегория 1.1
- Подкатегория 1.2
- Подкатегория 1.3
- Подкатегория 2.1
- Подкатегория 2.2
- Подкатегория 3.1
- Подкатегория 3.2
- Подкатегория 3.3
- Подкатегория 3.4
Пример структуры каталога в виде упорядоченного списка:
- Раздел 1
- Подкатегория 1.1
- Подкатегория 1.2
- Подкатегория 1.3
- Подкатегория 2.1
- Подкатегория 2.2
- Подкатегория 3.1
- Подкатегория 3.2
- Подкатегория 3.3
- Подкатегория 3.4
Задав структуру каталога, вы можете продолжить работу с HTML и добавить информацию о каждом товаре внутри соответствующих разделов и подкатегорий.
Создание основной страницы каталога
Вначале вы можете создать заголовок страницы с помощью тега . Этот тег позволит посетителям сразу понять, что они находятся на странице каталога товаров.
Далее вы можете использовать тег для создания контейнера, в котором будут размещены все товары. Заголовок этого контейнера можно сделать с помощью тега , указав его перед открывающим тегом
После того, как вы создали контейнер, вы можете начать размещать товары. Рекомендуется использовать тег для каждого отдельного товара, чтобы сделать разметку более удобной для чтения и редактирования.
Каждый товар можно описать с помощью тега
. Внутри этого тега можно указать название товара, его цену и описание. Вы можете дополнить описание товара изображением, используя атрибут src тега
.
После того, как вы разместили все товары, не забудьте закрыть тег контейнера, чтобы завершить разметку страницы.
Теперь основная страница каталога готова. Вы можете продолжить добавлять и редактировать товары, вносить изменения в разметку и стилизовать страницу с помощью CSS, чтобы сделать ее более привлекательной и удобной для пользователей.
Добавление категорий товаров
Для добавления категорий товаров на сайт можно использовать следующий код:
Категория 1
Категория 2
Категория 3
Категория 4
В данном примере используется тег , который создает ненумерованный список, и тег , который задает элемент списка. Каждая категория товаров описывается отдельным элементом списка.
Для лучшей навигации и понимания структуры каталога можно использовать вложенные списки:
Категория 1
Подкатегория 1.1
Подкатегория 1.2
Подкатегория 1.3
Категория 2
Категория 3
В данном примере создается список с основными категориями, а внутри каждой категории используется вложенный список для описания подкатегорий.
Добавление категорий товаров позволяет упорядочить и структурировать ассортимент сайта, упрощает поиск и выбор товара пользователями, а также повышает удобство использования и навигацию по сайту.
Добавление товаров в каталог
Каждый товар в каталоге будет представлен в виде отдельной строки таблицы. Внутри строки необходимо заполнить ячейки соответствующей информацией о товаре, например, название, описание, цену и изображение.
Пример разметки для добавления товара в каталог:
Название товара Описание товара Цена Изображение Товар 1 Описание товара 1 1000 Изображение 1 Товар 2 Описание товара 2 2000 Изображение 2 Товар 3 Описание товара 3 3000 Изображение 3 По мере добавления новых товаров, необходимо продолжать заполнять строки таблицы с соответствующей информацией о каждом товаре.
Таким образом, при добавлении всех необходимых данных о товарах в таблицу, получится готовый каталог товаров на сайте. После этого, можно приступать к стилизации и добавлению функционала для удобного просмотра и покупки товаров.
Навигация и поиск по каталогу
Каталог товаров на сайте позволяет пользователям легко искать и выбирать нужные им товары. Однако, часто каталог может быть достаточно обширным, поэтому важно предоставить надежные и удобные средства для навигации по нему.
Одним из основных способов навигации являются категории товаров. В каталоге можно создать список категорий и предоставить пользователю возможность выбрать нужную категорию, чтобы отобразить ее товары. Например:
- Категория 1: Товары A, Товары B, Товары C
- Категория 2: Товары D, Товары E, Товары F
- Категория 3: Товары G, Товары H, Товары I
Для более удобной навигации и поиска по каталогу, можно предоставить пользователю поле поиска. Пользователь сможет ввести ключевое слово или фразу и получить результаты, соответствующие его запросу. Например:
Введите название товара:
На странице каталога можно также добавить фильтры для сужения области отображаемых товаров. Фильтры могут быть связаны с характеристиками товаров, такими как цена, бренд, размер и другие параметры. Например:
Такие средства навигации и поиска помогут пользователям быстро найти нужные товары в каталоге и сделать правильный выбор.
Дизайн карточек товара интернет-магазина

Продажа товаров через Интернет приобретает все большую популярность. Карточка товара (product card) представляет собой детальное описание продукта вместе с функциональными элементами (кнопка «купить/добавить в корзину», доступные цвета, размеры и т.д.).
Функциональность карточки товара можно расширить дополнительными кнопками, а с помощью трансформаций и переходов придать элементам динамичность.
Пример 1

Маленькое черное платье
₽ 1999 В корзину* < box-sizing: border-box; >.product-item < width: 300px; text-align: center; margin: 0 auto; border-bottom: 2px solid #F5F5F5; background: white; font-family: "Open Sans"; transition: .3s ease-in; >.product-item:hover < border-bottom: 2px solid #fc5a5a; >.product-item img < display: block; width: 100%; >.product-list < background: #fafafa; padding: 15px 0; >.product-list h3 < font-size: 18px; font-weight: 400; color: #444444; margin: 0 0 10px 0; >.price < font-size: 16px; color: #fc5a5a; display: block; margin-bottom: 12px; >.button < text-decoration: none; display: inline-block; padding: 0 12px; background: #cccccc; color: white; text-transform: uppercase; font-size: 12px; line-height: 28px; transition: .3s ease-in; >.product-item:hover .button
Пример 2

Маленькое черное платье
₽ 1999В корзину* < box-sizing: border-box; >.product-item < width: 300px; margin: 0 auto; padding: 10px 10px 5px 10px; border: 1px solid #eee; background: white; font-family: "Open Sans"; overflow: hidden; transition: .4s linear; >.product-img < transition: 1s ease-in-out; >.product-img:hover < transform: scale(1.1); >.product-img img < display: block; width: 100%; >.product-list < margin-top: 15px; >.product-list h3 < font-weight: 700; color: #39404B; margin: 0; text-transform: uppercase; font-size: 14px; line-height: 2; >.price < color: #E34D38; display: block; margin-bottom: 12px; >.stars < height: 14px; line-height: 14px; margin: 7px 0; >.stars:before < content: "\f005\f005\f005\f005\f006"; color: #EFB71C; font-size: 14px; font-family: FontAwesome; >.actions < border-top: 1px solid #eee; padding-top: 4px; font-size: 13px; height: 30px; line-height: 30px; >.actions:after < content: ""; display: table; clear: both; >.add-to-cart, .add-to-links < float: left; >.cart-button < text-decoration: none; color: #8C877C; padding-right: 20px; border-right: 1px solid #ddd; transition: .4s linear; >.cart-button:before < content: "\f07a"; font-family: FontAwesome; margin-right: 10px; >.add-to-cart:hover .cart-button, .wishlist:hover, .compare:hover < color: #E34D38; >.wishlist, .compare < color: #8C877C; padding-left: 20px; transition: .4s linear; >.wishlist:after, .compare:after < display: inline-block; font-family: FontAwesome; font-size: 13px; >.wishlist:after < content: "\f004"; >.compare:after
Пример 3

В корзинуМаленькое черное платье ₽ 1999* < box-sizing: border-box; >.product-wrap < width: 300px; margin: 0 auto; background: white; padding: 0 0 20px; text-align: center; font-size: 14px; font-family: Lora; text-transform: uppercase; >.product-item < position: relative; overflow: hidden; >.product-wrap img < display: block; width: 100%; >.product-buttons < position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .8); opacity: 0; transition: .3s ease-in-out; >.button < text-decoration: none; color: #c0a97a; font-size: 12px; width: 140px; height: 40px; line-height: 40px; position: absolute; top: 50%; left: 50%; border: 2px solid #c0a97a; transform: translate(-50%, -50%) scale(0); transition: .3s ease-in-out; >.button:before < content: "\f07a"; font-family: FontAwesome; margin-right: 10px; >.product-item:hover .product-buttons < opacity: 1; >.product-item:hover .button < transform: translate(-50%, -50%) scale(1); >.button:hover < background: black; >.product-title < color: #5e5e5e; >.product-title a < text-decoration: none; color: #2e2e2e; font-weight: 600; margin: 15px 0 5px; padding-bottom: 7px; display: block; position: relative; transition: .3s ease-in-out; >.product-title a:after < content: ""; position: absolute; width: 40px; height: 2px; background: #2e2e2e; left: 50%; margin-left: -20px; bottom: 0; transition: .3s ease-in-out; >.product-title a:hover < color: #c0a97a; >.product-title:hover a:after < background: #c0a97a; >.product-price
Пример 4


Маленькое черное платье ₽ 1999
* < box-sizing: border-box; >.product-inner < width: 300px; margin: 0 auto; background: white; text-align: center; border-bottom: 2px solid #ebebec; transition: .2s linear; >.product-inner:hover < border-color: #bca480; >.product-wrap < position: relative; overflow: hidden; margin-bottom: 15px; >.product-wrap img < display: block; width: 100%; >.actions < position: absolute; left: 0; bottom: -20%; width: 100%; background: rgba(59, 62, 67, 0.75); transition: .3s linear; >.product-inner:hover .actions < bottom: 0; >.actions a < text-decoration: none; float: left; width: 33.33333333333333%; color: white; padding: 15px 0; transition: .2s linear; >.actions a:hover < background: rgba(59, 62, 67, 0.85); >.actions a:before < font-family: "FontAwesome"; >.add-to-cart:before < content: "\f07a"; >.quickview:before < content: "\f002"; >.wishlist:before < content: "\f08a"; >.product-info < padding-bottom: 10px; font-family: 'Noto Sans', sans-serif; >.product-title < margin: 0 0 10px 0; font-family: 'Noto Sans', sans-serif; >.product-title a < text-decoration: none; color: #1e1e1e; font-weight: 400; font-size: 16px; >.price
Пример 5

В корзинуМаленькое черное платье 1999
* < box-sizing: border-box; >.item < width: 300px; border: 1px solid rgba(0, 0, 0, .08); padding: 15px 0; margin: 0 auto; background: white; >.item a < text-decoration: none; outline: 0; >.product < padding: 0 15px; position: relative; >.thumb-img < position: relative; overflow: hidden; >.thumb-img img < width: 100%; display: block; >.thumb-img:after < content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(0, 0, 0, .5); opacity: 0; transition: .3s ease-in-out; >.product:hover .thumb-img:after < opacity: 1; >.actions < position: absolute; z-index: 2; top: 100%; left: 0; right: 0; padding: 0 15px; text-align: center; opacity: 0; transition: .3s ease-in-out; >.product:hover .actions < top: 50%; opacity: 1; >.actions a < margin: 7px 6px; color: white; height: 30px; line-height: 26px; display: inline-block; border-radius: 30px; font-size: 12px; text-transform: uppercase; text-align: center; border: 2px solid white; background: transparent; transition: .3s ease-in-out; >.share-button < width: 30px; >.add-to-cart:hover < background: #A2927F; >.actions a:hover < border-color: #A2927F; background: #A2927F; >.share-wrap < display: inline-block; height: 30px; position: relative; margin: 7px 6px; >.share-item < width: 200px; margin-left: -100px; position: absolute; z-index: 3; bottom: 38px; left: 50%; opacity: 0; visibility: hidden; text-align: center; transition: .3s ease-in-out; >.share-wrap:hover .share-item < opacity: 1; visibility: visible; >.add-to-cart < padding: 0 20px; >.product-about < padding: 20px 0 0; text-align: center; >.product-title < font-family: 'Open Sans', sans-serif; line-height: 1.1; font-size: 16px; margin: 5px 0 15px; font-weight: normal; >.product-title a < color: #373737; >.price
Пример 6

Быстрый просмотр В корзинуМаленькое черное платье
₽ 1999* < box-sizing: border-box; >.border < width: 300px; margin: 0 auto; background: white; padding: 20px; border: 1px solid #F1E7E8; >.wrap < height: 100%; position: relative; >.product-wrap < position: relative; >.product-wrap:after < content: ''; background: rgba(73, 102, 162, .5); position: absolute; left: 0; right: 0; bottom: 0; top: 0; opacity: 0; transform: scale(.3); transition: .3s ease-in-out; >.border:hover .product-wrap:after < opacity: 1; transform: scale(1); >.product-wrap a < display: block; text-decoration: none; >.product-wrap img < display: block; width: 100%; >.loop-action < position: absolute; left: 50%; top: 50%; opacity: 0; transform: translate(-50%, -50%); transition: .3s ease-in-out; >.border:hover .loop-action < opacity: 1; >.loop-action a < text-decoration: none; display: block; border: 1px solid white; white-space: nowrap; text-transform: uppercase; padding: .5em 1em; font-size: 14px; line-height: 1.6; outline: none; position: relative; overflow: hidden; text-align: center; color: white; min-width: 160px; margin: 5px auto; transition: .3s ease-in-out; >.loop-action a:after < content: ''; position: absolute; left: -220%; top: -500%; width: 140%; height: 1000%; transform: rotate(45deg); background: white; z-index: -1; transition: .3s ease-in-out; >.loop-action a:hover < color: black; >.loop-action a:hover:after < left: 0%; >.border:hover < border-color: #4966A2; >.product-info < padding-top: 15px; >.stars < font-size: 14px; font-family: FontAwesome; >.stars:before < content: "\f005\f005\f005\f005\f123"; color: #F2453E; >.product-title < font-weight: normal; font-family: "Open Sans"; color: #162546; font-size: 18px; >.price
Пример 7

Маленькое черное платье
₽ 1999.product-wrap < width: 300px; text-align: center; margin: 0 auto; background: white; >.product-image < position: relative; overflow: hidden; >.product-image a < display: block; >.product-image img < display: block; width: 100%; >.shadow < background: rgba(0, 0, 0, 0.3); position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0; transition: .3s ease-in-out; >.product-wrap:hover .shadow < opacity: 1; >.detail-link < text-decoration: none; width: 50px; height: 50px; background: #ff7659; border-radius: 3px; opacity: 0; position: absolute; left: 50%; top: 50px; transform: translate(-50%, -50%) rotate(45deg); transition: .3s ease-in-out; >.detail-link:before < content: "\f06e"; font-family: FontAwesome; color: white; font-size: 20px; display: block; height: 50px; line-height: 50px; width: 50px; transform: rotate(-45deg); transition: .3s ease-in-out; >.product-wrap:hover .detail-link < opacity: 1; top: 50%; >.actions < width: 100%; height: 47px; position: absolute; bottom: -47px; right: 0; opacity: 0; transition: 0.5s ease-in-out; >.product-wrap:hover .actions < bottom: 0; opacity: 1; >.actions-btn < float: right; >.actions-btn a < display: inline-block; background: white; color: #555; width: 47px; height: 47px; line-height: 47px; text-decoration: none; transition: .3s ease-in-out; >.actions-btn a:hover < background: #ff7659; color: white; >.actions-btn a:after < font-family: FontAwesome; font-size: 14px; >.add-to-cart:after < content: "\f07a"; >.add-to-wishlist:after < content: "\f004"; >.add-to-compare:after < content: "\f079"; >.product-list < margin: 20px 0; font-family: 'Open Sans', serif; >.product-list h3 < color: #555; font-size: 15px; >.price
Пример 8

Маленькое черное платье
₽ 1999* < box-sizing: border-box; >.product-wrap < width: 300px; text-align: center; background: white; margin: 0 auto; >.product-image < position: relative; >.product-image a < display: block; >.product-image img < display: block; width: 100%; >.shadow < position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .1); opacity: 0; transition: 0.5s ease-in-out; >.product-wrap:hover .shadow < opacity: 1; >.actions < bottom: 15px; right: 15px; position: absolute; >.add-to-cart < opacity: 0; visibility: hidden; transform: translate(0, -50px); transition: 1s ease-in-out; >.actions a < background: #202020; color: white; display: block; height: 36px; line-height: 36px; width: 42px; transition: .3s ease-in-out; text-decoration: none; >.actions a:before < font-family: FontAwesome; font-size: 14px; >.add-to-cart-button:before < content: "\f07a"; >.add-to-wishlist-button:before < content: "\f004"; >.add-to-compare-button:before < content: "\f079"; >.quikview-button:before < content: "\f002"; >.actions a:hover < background: #67BFA6; >.product-wrap:hover .add-to-cart < opacity: 1; visibility: visible; transform: translate(0, 0); >.add-to-wishlist < opacity: 0; visibility: hidden; transform: translate(0, -50px); transition: .8s ease-in-out; margin: 9px 0 0; >.product-wrap:hover .add-to-wishlist, .product-wrap:hover .add-to-compare, .product-wrap:hover .quikview < opacity: 1; visibility: visible; transform: translate(0, 0); >.add-to-compare < opacity: 0; position: relative; visibility: hidden; transition: .6s ease-in-out; transform: translate(0, -50px); margin: 9px 0 0; >.quikview < opacity: 0; visibility: hidden; transition: .4s ease-in-out; transform: translate(0, -50px); margin: 9px 0 0; >.product-list < margin-top: 20px; padding-bottom: 20px; text-align: center; font-family: 'Open Sans', serif; >.product-list h3 < color: #555; font-size: 15px; font-family: 'Open Sans', serif; >.price