<nav class="breadcrumb" aria-label="Deine aktuelle Position:">
<ul class="breadcrumb__list u-line-clamp">
<li class="breadcrumb__item"><a class="breadcrumb__link u-underline" href="#"><span class="breadcrumb__icon"><svg class="icon icon--home" viewBox="0 0 200 200" aria-hidden="true">
<use xlink:href="/assets/icons/icons.3bafb6df0d.svg#home"></use>
</svg></span><span class="breadcrumb__link-text u-hidden-visually">Startseite</span></a></li>
<li class="breadcrumb__item"><a class="breadcrumb__link u-underline" href="#"><span class="breadcrumb__link-text">Unterseite</span></a></li>
<li class="breadcrumb__item"><a class="breadcrumb__link u-underline" aria-current="page"><span class="breadcrumb__link-text">Artikel</span></a></li>
</ul>
<script type="application/ld+json">
{
"@context": "https:\/\/schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Startseite",
"item": "#"
},
{
"@type": "ListItem",
"position": 2,
"name": "Unterseite",
"item": "#"
},
{
"@type": "ListItem",
"position": 3,
"name": "Artikel",
"item": "#"
}
]
}
</script>
</nav>
<nav {{ html_attributes({
id: id ?? false,
class: 'breadcrumb',
'aria-label': 'Your current position:' | t('site'),
}, attrs ?? {}) }}>
<ul class="breadcrumb__list u-line-clamp">
{% apply spaceless %}
{% for item in items %}
<li class="breadcrumb__item">
<a {{ html_attributes({
class: {
'breadcrumb__link': true,
'u-underline': true,
},
href: not loop.last ? (item.link ?? false),
'aria-current': loop.last ? 'page',
}) }}>
{% if loop.first %}
<span class="breadcrumb__icon">
{% include '@icon' with { icon: 'home' } only %}
</span>
{% endif %}
<span {{ html_attributes({
class: {
'breadcrumb__link-text': true,
'u-hidden-visually': loop.first,
},
}) }}>
{{- item.text -}}
</span>
</a>
</li>
{% endfor %}
{% endapply %}
</ul>
<script type="application/ld+json">
{{ {
'@context': 'https://schema.org',
'@type': 'BreadcrumbList',
'itemListElement': items | map((item, index) => {
'@type': 'ListItem',
'position': index + 1,
'name': item.text | replace({ '|': '' }),
'item': item.link,
}),
} | json_encode(constant('JSON_PRETTY_PRINT')) | raw('json') }}
</script>
</nav>
{
"items": [
{
"text": "Startseite",
"link": "#"
},
{
"text": "Unterseite",
"link": "#"
},
{
"text": "Artikel",
"link": "#"
}
]
}
:root {
--breadcrumb-text-color: var(--color-midnight);
--breadcrumb-icon-color: var(--breadcrumb-text-color);
--breadcrumb-icon-background-color: transparent;
--breadcrumb-font-size: 1.3rem;
}
.breadcrumb {
--focus-outline-offset: 2px;
}
.breadcrumb__list {
--line-clamp: 3;
color: var(--breadcrumb-text-color);
flex-shrink: 0;
font-size: var(--breadcrumb-font-size);
line-height: var(--line-height-body);
list-style: none;
margin: -0.5rem;
padding: 0.5rem;
}
.breadcrumb__item {
display: inline;
&:not(:last-child)::after {
background-color: currentColor;
block-size: 1px;
content: '';
display: inline-block;
inline-size: 5px;
margin-inline: 1rem;
vertical-align: 0.4rem;
}
}
.breadcrumb__link {
&:any-link:is(:hover, :focus) {
--breadcrumb-icon-color: #fff;
--breadcrumb-icon-background-color: var(--breadcrumb-text-color);
}
&:not(:any-link) {
cursor: default;
}
&:is([aria-current='page']) {
font-weight: 700;
}
}
.breadcrumb__icon {
background-color: var(--breadcrumb-icon-background-color);
block-size: 2.3rem;
border-radius: 50%;
color: var(--breadcrumb-icon-color);
display: inline-block;
font-size: 1.5rem;
line-height: 0;
margin: -0.4rem;
padding: 0.4rem;
transition-property: background-color, color;
vertical-align: 0.2rem;
}
No notes defined.