# Якорь
Навигация-оглавление, синхронизированная с прокруткой. Клик переносит к целевому разделу, при прокрутке подсвечивается текущий раздел.
Якорь
<template>
<div class="demo-col" style="max-width: 640px">
<div class="demo-row" style="align-items: flex-start; gap: 24px">
<div ref="scroller" class="anchor-scroller">
<div id="anchor-a" class="anchor-sec">
<h3>Горы и камни</h3>
<p>Горы и камни написаны штрихом «дождевые капли», образ полон мощи.</p>
</div>
<div id="anchor-b" class="anchor-sec">
<h3>Леса и деревья</h3>
<p>Листья проработаны контуром и точками.</p>
</div>
<div id="anchor-c" class="anchor-sec">
<h3>Водный источник</h3>
<p>Нить водопада висит в облаках.</p>
</div>
<div id="anchor-d" class="anchor-sec">
<h3>Колофон</h3>
<p>Подпись Фань Куаня скрыта в чаще леса.</p>
</div>
</div>
<LhAnchor :items="items" :target="scrollerEl" :offset="12" direction="vertical" smooth />
</div>
</div>
</template>
<script>
export default {
data: () => ({
items: [
{ id: 'anchor-a', title: 'Горы и камни' },
{ id: 'anchor-b', title: 'Леса и деревья' },
{ id: 'anchor-c', title: 'Водный источник' },
{ id: 'anchor-d', title: 'Колофон' },
],
scrollerEl: undefined,
}),
}
</script>
# Props
| Проп | Описание | Тип | По умолчанию |
|---|---|---|---|
| items | Данные якорей (поддерживают дочерние элементы) | LhAnchorItem[] | — |
| target | Контейнер прокрутки (селектор или элемент; по умолчанию window) | string \| HTMLElement | — |
| offset | Отступ области якоря от верхнего края контейнера прокрутки (для синхронизации) | number | — |
| direction | Направление расположения | 'vertical' \| 'horizontal' | 'vertical' |
| smooth | Плавная прокрутка | boolean | false |
| sx | Сокращённая запись разметки через sx | — | — |
# AnchorItem Props
| Проп | Описание | Тип | По умолчанию |
|---|---|---|---|
| id | id целевого элемента | string | — |
| title | Отображаемый текст | string | — |
| children | Дочерние якоря | LhAnchorItem[] | — |
Совет
Классы .anchor-scroller / .anchor-sec в demo — лишь пример стилей (контейнер прокрутки должен сам иметь overflow-y: auto); библиотека их не предоставляет.
Copyright © 2024-2026 FengMo WenXue