# Ancre
Navigation de type sommaire, en lien avec le défilement. Un clic accède à la zone cible, le défilement met en surbrillance la section courante.
Ancre
<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>Rochers</h3>
<p>Rochers peints au lavis en gouttes de pluie, d'une allure majestueuse.</p>
</div>
<div id="anchor-b" class="anchor-sec">
<h3>Forêts</h3>
<p>Feuillages en couleurs plates et en points alternés.</p>
</div>
<div id="anchor-c" class="anchor-sec">
<h3>Cascade</h3>
<p>Une cascade en fil s'élève dans la brume.</p>
</div>
<div id="anchor-d" class="anchor-sec">
<h3>Inscription</h3>
<p>La signature de Fan Kuan se dissimule dans la forêt.</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: 'Rochers' },
{ id: 'anchor-b', title: 'Forêts' },
{ id: 'anchor-c', title: 'Cascade' },
{ id: 'anchor-d', title: 'Inscription' },
],
scrollerEl: undefined,
}),
}
</script>
# Props
| Prop | Description | Type | Valeur par défaut |
|---|---|---|---|
| items | Données des ancres (sous-niveaux pris en charge) | LhAnchorItem[] | — |
| target | Conteneur de défilement (sélecteur ou élément, window par défaut) | string \| HTMLElement | — |
| offset | Décalage de la zone d'ancre par rapport au haut du conteneur de défilement (sert au jugement de liaison) | number | — |
| direction | Direction d'arrangement | 'vertical' \| 'horizontal' | 'vertical' |
| smooth | Défilement fluide | boolean | false |
| sx | Raccourci de mise en page sx | — | — |
# AnchorItem Props
| Prop | Description | Type | Valeur par défaut |
|---|---|---|---|
| id | id de l'élément cible | string | — |
| title | Texte affiché | string | — |
| children | Ancres enfants | LhAnchorItem[] | — |
Astuce
Les classes .anchor-scroller / .anchor-sec de la démo sont des styles d'exemple (le conteneur défilant doit fournir son propre overflow-y: auto), la bibliothèque ne les fournit pas.
Copyright © 2024-2026 FengMo WenXue