Maison interface Web tutoriel CSS Création de barres de défilement personnalisées avec CSS : un guide complet

Création de barres de défilement personnalisées avec CSS : un guide complet

Nov 01, 2024 am 06:07 AM

Creating Custom Scrollbars with CSS: A Comprehensive Guide

Les navigateurs Web modernes permettent aux développeurs de personnaliser l'apparence des barres de défilement à l'aide de CSS, améliorant ainsi l'attrait visuel des applications Web tout en conservant leurs fonctionnalités. Ce guide explique comment implémenter des barres de défilement personnalisées avec une compatibilité entre navigateurs.

Configuration de base

Tout d'abord, établissons le conteneur qui comportera notre barre de défilement personnalisée :

<div class="scrollbar-container">
  <h3>Visible custom scrollbar</h3>
  <p>
    <!-- Content that creates scrollable overflow -->
  </p>
</div>
Copier après la connexion

Style de conteneur

Le conteneur déroulant nécessite des dimensions et des propriétés de débordement spécifiques :

.scrollbar-container {
  height: 50%;           /* Fixed height to enable scrolling */
  width: 50%;           /* Container width */
  margin: 0 auto;       /* Center the container */
  overflow: auto;       /* Enable scrolling */
  padding: 1rem;        /* Internal spacing */
}
Copier après la connexion

Implémentation multi-navigateurs

Navigateurs WebKit (Chrome, Safari, Edge)

Pour les navigateurs basés sur WebKit, nous utilisons les pseudo-éléments ::-webkit-scrollbar :

.scrollbar-container::-webkit-scrollbar {
  width: 4px;                    /* Width of the scrollbar */
  background-color: white;       /* Background color */
  border-radius: 100vw;         /* Rounded corners */
}

.scrollbar-container::-webkit-scrollbar-track {
  background: white;            /* Track color */
  border-radius: 100vw;        /* Rounded corners for track */
}

.scrollbar-container::-webkit-scrollbar-thumb {
  background: plum;            /* Scrollbar thumb color */
  border-radius: 100vw;       /* Rounded corners for thumb */
}
Copier après la connexion

Firefox

Firefox nécessite une approche différente en utilisant les propriétés scrollbar-width et scrollbar-color :

@-moz-document url-prefix() {
  .scrollbar-container {
    scrollbar-width: thin;           /* Width of the scrollbar */
    scrollbar-color: fuchsia white;  /* thumb and track colors */
  }  
}
Copier après la connexion

Considérations de conception

La mise en œuvre comprend plusieurs choix de conception réfléchis :

  1. Rayon de bordure : La valeur 100vw crée des coins parfaitement arrondis pour la piste et le pouce.
  2. Largeur minimale : Une largeur de 4 px maintient la barre de défilement visible mais discrète.
  3. Schéma de couleurs : La piste blanche avec le pouce prune/fuchsia offre un bon contraste tout en conservant l'attrait visuel.
  4. Typographie cohérente : Le design utilise la famille de polices Rubik pour une meilleure lisibilité :
@import url(https://fonts.googleapis.com/css2?family=Rubik);
Copier après la connexion

Variables CSS

L'exemple utilise des variables CSS pour une thématique cohérente :

:root {
  --primary-text-color: #222;
  --secondary-text-color: #fff;
  --primary-bg-color: #222;
  --secondary-bg-color: #fff;
  --tertiary-bg-color: #ddd;
}
Copier après la connexion

Compatibilité du navigateur

  • Navigateurs WebKit (Chrome, Safari, Edge) : prise en charge complète pour une personnalisation détaillée
  • Firefox : personnalisation simplifiée avec la largeur et la couleur de la barre de défilement
  • Internet Explorer : pas de prise en charge des barres de défilement personnalisées
  • Legacy Edge : support limité

Meilleures pratiques

  1. Maintenir la convivialité : Gardez la barre de défilement visible et fonctionnelle
  2. Style cohérent : faites correspondre les couleurs de la barre de défilement avec le thème de votre site
  3. Tests : vérifiez l'apparence sur différents navigateurs
  4. Conception réactive : réfléchissez à la façon dont la barre de défilement apparaît dans différentes tailles de fenêtre

Résultat final

Conclusion

Les barres de défilement personnalisées peuvent améliorer l'attrait visuel de votre application Web tout en conservant les fonctionnalités. En suivant ces modèles et en tenant compte de la compatibilité entre navigateurs, vous pouvez créer une expérience de défilement cohérente et attrayante pour vos utilisateurs.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Créez un formulaire de contact JavaScript avec le cadre Smart Forms Créez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

Créez un formulaire de contact JavaScript avec le cadre Smart Forms

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

Ajout d'ombres de boîte aux blocs et éléments WordPress

Créer un éditeur de texte en ligne avec l'attribut satisfaistable Créer un éditeur de texte en ligne avec l'attribut satisfaistable Mar 02, 2025 am 09:03 AM

Créer un éditeur de texte en ligne avec l'attribut satisfaistable

Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques Mar 08, 2025 am 09:45 AM

Demystifier les lecteurs d'écran: formulaires accessibles et meilleures pratiques

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Travailler avec GraphQL Caching

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

Faire votre première transition Svelte personnalisée

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Mar 04, 2025 am 10:22 AM

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres)

Téléchargement de fichiers avec Multer dans Node.js et Express Téléchargement de fichiers avec Multer dans Node.js et Express Mar 02, 2025 am 09:15 AM

Téléchargement de fichiers avec Multer dans Node.js et Express

See all articles