Solution au problème du chevauchement du titre de la page et de l'ancre de la page
P粉521748211
2023-08-21 19:18:36
<p>Si j'ai un en-tête non défilant dans une page HTML fixé en haut, avec une hauteur définie : </p>
<p>Existe-t-il un moyen d'utiliser des ancres d'URL (partie <code>#fragment</code>) pour faire défiler le navigateur jusqu'à une position spécifique dans la page tout en respectant la hauteur de l'élément fixe<strong> sans utiliser JavaScript</strong> ? </p>
<pre class="brush:none;toolbar:false;">http://example.com/#bar
≪/pré>
<pre>Erreur (mais comportement courant) : Correct :
+------------------------+ +------------- - -------------------+
| BARRE////////////////////// en-tête |//////////////////// /// en-tête |
+------------------------+ +------------- ---- -------------------+
| reste du texte ici |
|
| ... | reste du texte ici |
|
+---------------------------------+ +-------------- -------------------+
≪/pré>
<p><br /></p>
Si vous ne pouvez pas ou ne voulez pas définir une nouvelle classe, vous pouvez créer une pseudo-classe en CSS pour
::before
伪元素添加一个固定高度的:target
:Ou utilisez jQuery pour faire défiler la page par rapport à
:target
:J'ai rencontré le même problème. J'ai résolu ce problème en ajoutant une classe à l'élément d'ancrage et en utilisant la hauteur de la barre supérieure comme valeur de padding-top.
J'ai utilisé le CSS suivant :