vue3-uikit
129 строк · 2.8 Кб
1<template>
2<div>
3<!-- Стандартные хлебные крошки -->
4<div class="breadcrumb-wrapper">
5<h3>Standard Breadcrumb</h3>
6<nav class="breadcrumb">
7<ul>
8<li v-for="(item, index) in breadcrumbs" :key="index" :class="{ 'is-active': index === breadcrumbs.length - 1 }">
9<a :href="item.link">{{ item.label }}</a>
10</li>
11</ul>
12</nav>
13</div>
14
15<!-- Разделенные хлебные крошки -->
16<div class="breadcrumb-wrapper">
17<h3>Separated Breadcrumb</h3>
18<nav class="breadcrumb breadcrumb-separated">
19<ul>
20<li v-for="(item, index) in breadcrumbs" :key="index" :class="{ 'is-active': index === breadcrumbs.length - 1 }">
21<a :href="item.link">{{ item.label }}</a>
22</li>
23</ul>
24</nav>
25</div>
26
27<!-- Хлебные крошки с иконками -->
28<div class="breadcrumb-wrapper">
29<h3>Icon Breadcrumb</h3>
30<nav class="breadcrumb breadcrumb-icons">
31<ul>
32<li v-for="(item, index) in breadcrumbs" :key="index" :class="{ 'is-active': index === breadcrumbs.length - 1 }">
33<a :href="item.link">
34<font-awesome-icon :icon="item.icon" />
35{{ item.label }}
36</a>
37</li>
38</ul>
39</nav>
40</div>
41</div>
42</template>
43
44<script>
45export default {
46name: "Breadcrumb",
47setup() {
48const breadcrumbs = [
49{ label: "Home", link: "/", icon: "fas fa-home" },
50{ label: "Products", link: "/products", icon: "fas fa-box-open" },
51{ label: "Electronics", link: "/products/electronics", icon: "fas fa-tv" },
52{ label: "Laptops", link: "/products/electronics/laptops", icon: "fas fa-laptop" },
53];
54
55return {
56breadcrumbs,
57};
58},
59};
60</script>
61
62<style scoped>
63/* Общие стили для хлебных крошек */
64.breadcrumb-wrapper {
65margin-bottom: 30px;
66}
67
68.breadcrumb {
69display: flex;
70align-items: center;
71font-size: 14px;
72}
73
74.breadcrumb ul {
75list-style: none;
76padding: 0;
77margin: 0;
78display: flex;
79}
80
81.breadcrumb li {
82margin-right: 10px;
83}
84
85.breadcrumb a {
86text-decoration: none;
87color: #6200ea;
88transition: color 0.3s;
89}
90
91.breadcrumb a:hover {
92color: #3700b3;
93}
94
95.breadcrumb .is-active a {
96color: #333;
97font-weight: bold;
98pointer-events: none;
99}
100
101/* Разделенные хлебные крошки */
102.breadcrumb-separated li::after {
103content: "/";
104margin-left: 10px;
105color: #999;
106}
107
108.breadcrumb-separated li:last-child::after {
109content: "";
110}
111
112/* Хлебные крошки с иконками */
113.breadcrumb-icons a {
114display: flex;
115align-items: center;
116gap: 10px;
117}
118
119.breadcrumb-icons i {
120margin-right: 5px;
121font-size: 16px;
122color: #6200ea;
123transition: color 0.3s;
124}
125
126.breadcrumb-icons i:hover {
127color: #3700b3;
128}
129</style>
130