Maison > interface Web > tutoriel CSS > Comment créer un en-tête collant avec CSS et JavaScript sans jQuery ?

Comment créer un en-tête collant avec CSS et JavaScript sans jQuery ?

DDD
Libérer: 2024-10-31 11:38:01
original
308 Les gens l'ont consulté

How to Create a Sticky Header with CSS and JavaScript Without jQuery?

Correction des en-têtes lors du défilement

Lors de la création d'un en-tête qui reste visible malgré le défilement, il est possible d'implémenter ce comportement en utilisant uniquement CSS et HTML sans avoir besoin de jQuery.

Solution CSS et HTML

Introduisez une classe d'en-tête collante :

<code class="css">.sticky-header {
  width: 700px;
  height: 50px;
  background: orange;
  position: fixed;
}</code>
Copier après la connexion

Dans votre HTML, ajoutez un div avec la classe "sticky" :

<code class="html"><div class="sticky"></div></code>
Copier après la connexion

JavaScript pour les événements de défilement

Pour un contrôle précis de la fixation de l'en-tête, JavaScript est nécessaire pour les événements de défilement :

<code class="javascript">$(window).scroll(function() {
  var sticky = $('.sticky'),
    scroll = $(window).scrollTop();

  if (scroll >= 100) {
    sticky.addClass('fixed');
  } else {
    sticky.removeClass('fixed');
  }
});</code>
Copier après la connexion

Exemple étendu

Pour déterminer le point de fixation en fonction de la position de l'élément collant sur l'écran, utilisez offset().top :

<code class="javascript">var stickyOffset = $('.sticky').offset().top;

$(window).scroll(function() {
  var scroll = $(window).scrollTop();

  if (scroll >= stickyOffset) {
    sticky.addClass('fixed');
  } else {
    sticky.removeClass('fixed');
  }
});</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal