Maison  >  Article  >  interface Web  >  Comment définir la barre de défilement CSS

Comment définir la barre de défilement CSS

PHPz
PHPzoriginal
2023-04-23 10:05:525606parcourir

Avec le développement continu des pages Web, les préférences des utilisateurs changent également progressivement. C’est précisément à cause de ces changements que de nombreux sites Web mettent progressivement à jour leurs styles de conception, et l’un des éléments indispensables est la barre de défilement. Il faut dire que les barres de défilement sont devenues un élément de design incontournable pour de nombreux sites internet. En CSS, le style des barres de défilement peut être obtenu grâce à une série de sélecteurs CSS. Analysons en détail comment définir les barres de défilement CSS.

Que sont les barres de défilement ?

Avant de présenter comment configurer les barres de défilement, nous devons d'abord comprendre ce que sont les barres de défilement.

La barre de défilement est un composant interactif que nous utilisons souvent. Elle apparaît souvent dans la barre latérale, le cadre ou la zone conteneur d'une page Web. Utilisez les barres de défilement pour faire défiler facilement le contenu dans une zone plus petite et voir l'intégralité du contenu. De manière générale, les barres de défilement sont divisées en deux types : les barres de défilement horizontales et les barres de défilement verticales, parmi lesquelles les barres de défilement verticales sont les plus couramment utilisées.

En CSS, nous pouvons facilement personnaliser notre propre style de barre de défilement. Ensuite, nous présenterons comment configurer les barres de défilement CSS une par une.

Comment définir une barre de défilement CSS pure

Pour définir une barre de défilement CSS, vous devez utiliser le ::-webkit-scrollbar et le ::-webkit-scrollbar-thumb sélecteurs. Ci-dessous, nous analyserons comment les utiliser respectivement. <code>::-webkit-scrollbar::-webkit-scrollbar-thumb选择器。下面,我们将分别对它们的使用方法进行解析。

::-webkit-scrollbar选择器

::-webkit-scrollbar选择器允许你为滚动条容器设置样式,包括滚动条背景颜色、高度、宽度等等。举个例子,使用::-webkit-scrollbar选择器,我们可以将整个滚动条设置为灰色:

::-webkit-scrollbar {
  background-color: #eee;
  width: 8px;
}

上面的代码定义了一个宽度为8像素的滚动条容器,并将其背景设置为淡灰色。

我们还可以利用CSS伪类来定制滚动条的状态,比如:滚动条悬停、滚动条被点击等等。比如说,下面的代码可以让当鼠标悬停在滚动条上时,将其滚动条颜色变为红色:

::-webkit-scrollbar:hover {
  background-color: #f00;
}

::-webkit-scrollbar-thumb选择器

::-webkit-scrollbar选择器中,我们已经定义好了滚动条的样式,但是滚动条的外观仍然是默认的样式,比较单调。这时,我们需要用到::-webkit-scrollbar-thumb选择器,来设置滚动条拇指(thumb)的样式。

下面是一个设置拇指样式的示例:

::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 4px;
}

这段代码为滚动条拇指定义了一个灰色背景和4个像素的圆角。

除了设置颜色和圆角外,我们还可以通过设置阴影、边框等来进一步美化滚动条的外观:

::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 4px;
  box-shadow: inset 1px 1px 2px rgba(0,0,0,.1);
  border: 1px solid #d8d8d8;
}

上面的代码定义了一个带有边框和阴影效果的滚动条拇指。

如何设置全网兼容的CSS滚动条

虽然上面我们介绍了如何设置纯CSS滚动条,但是这种方式只能在Webkit内核的浏览器上生效(例如:Chrome、Safari等)。而对于其他浏览器(如:Firefox、Edge等),需要使用JavaScript才能实现类似的效果。

幸运的是,一些第三方的CSS库已经为我们提供了这方面的解决方案。比如说,我们可以使用mCustomScrollbar这个CSS库,轻松地实现跨浏览器的自定义滚动条。

首先,引入mCustomScrollbar CSS文件:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/malihu-custom-scrollbar-plugin/3.1.5/jquery.mCustomScrollbar.min.css" />

然后,在需要应用自定义滚动条的地方,引入以下两个文件:

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/malihu-custom-scrollbar-plugin/3.1.5/jquery.mCustomScrollbar.concat.min.js"></script>

接下来,在JavaScript代码中,使用以下代码来初始化mCustomScrollbar:

$(document).ready(function () {
  $(".content").mCustomScrollbar();
});

上面的代码将在class为content的元素上应用mCustomScrollbar,并且可以在各种浏览器中生效。

同时,mCustomScrollbar还支持一些高级的自定义选项,比如:滚动条的宽度、滚动条颜色、滚动条行为等等。这些选项可以在初始化函数中进行设置:

$(".content").mCustomScrollbar({
  theme: "dark",
  scrollbarPosition: "inside",
  axis: "y",
  scrollInertia: 500
});

上面的代码定义了一个黑色的主题、内部垂直滚动条、滚动条效果为500毫秒的滚动条。

总结

在本文中,我们对使用CSS定制滚动条进行了详细讲解。我们通过介绍::-webkit-scrollbar::-webkit-scrollbar-thumb

::-webkit-scrollbar sélecteur

::-webkit-scrollbar le sélecteur vous permet de styliser le conteneur de la barre de défilement, y compris la couleur d'arrière-plan de la barre de défilement , hauteur, largeur, etc. Par exemple, en utilisant le sélecteur ::-webkit-scrollbar, nous pouvons définir toute la barre de défilement en gris : 🎜rrreee🎜Le code ci-dessus définit un conteneur de barre de défilement d'une largeur de 8 pixels, et définit son arrière-plan. au gris clair. 🎜🎜Nous pouvons également utiliser des pseudo-classes CSS pour personnaliser l'état de la barre de défilement, comme : barre de défilement survolée, barre de défilement cliquée, etc. Par exemple, le code suivant peut changer la couleur de la barre de défilement en rouge lorsque la souris survole la barre de défilement : 🎜rrreee

::-webkit-scrollbar-thumbSelector🎜 Dans le sélecteur ::-webkit-scrollbar, nous avons défini le style de la barre de défilement, mais l'apparence de la barre de défilement reste le style par défaut, ce qui est relativement monotone. À ce stade, nous devons utiliser le sélecteur ::-webkit-scrollbar-thumb pour définir le style du pouce de la barre de défilement. 🎜🎜Voici un exemple de style d'un pouce : 🎜rrreee🎜Ce code définit un fond gris et des coins arrondis de 4 pixels pour le pouce de la barre de défilement. 🎜🎜En plus de définir la couleur et les coins arrondis, nous pouvons également embellir davantage l'apparence de la barre de défilement en définissant des ombres, des bordures, etc. : 🎜rrreee🎜Le code ci-dessus définit un pouce de barre de défilement avec des bordures et des effets d'ombre. 🎜🎜Comment définir une barre de défilement CSS compatible avec l'ensemble du réseau🎜🎜Bien que nous ayons présenté ci-dessus comment définir une barre de défilement CSS pure, cette méthode ne peut prendre effet que sur les navigateurs dotés du noyau Webkit (par exemple : Chrome, Safari , etc.). Pour les autres navigateurs (tels que Firefox, Edge, etc.), JavaScript est requis pour obtenir des effets similaires. 🎜🎜Heureusement, certaines bibliothèques CSS tierces nous ont fourni des solutions à cet égard. Par exemple, nous pouvons utiliser la bibliothèque CSS mCustomScrollbar pour implémenter facilement des barres de défilement personnalisées entre navigateurs. 🎜🎜Tout d'abord, introduisez le fichier CSS mCustomScrollbar : 🎜rrreee🎜Ensuite, là où vous devez appliquer la barre de défilement personnalisée, introduisez les deux fichiers suivants : 🎜rrreee🎜Ensuite, dans le code JavaScript, utilisez le code suivant pour initialiser mCustomScrollbar : 🎜 rrreee 🎜Le code ci-dessus appliquera mCustomScrollbar aux éléments avec la classe content et peut prendre effet dans divers navigateurs. 🎜🎜Dans le même temps, mCustomScrollbar prend également en charge certaines options de personnalisation avancées, telles que : la largeur de la barre de défilement, la couleur de la barre de défilement, le comportement de la barre de défilement, etc. Ces options peuvent être définies dans la fonction d'initialisation : 🎜rrreee🎜Le code ci-dessus définit un thème noir, une barre de défilement verticale interne et un effet de barre de défilement de 500 millisecondes. 🎜🎜Résumé🎜🎜Dans cet article, nous avons expliqué en détail l'utilisation du CSS pour personnaliser les barres de défilement. Nous implémentons des barres de défilement personnalisées dans différents navigateurs en introduisant les sélecteurs ::-webkit-scrollbar et ::-webkit-scrollbar-thumb et la bibliothèque mCustomScrollbar. Par conséquent, lors de la conception d'une page Web, vous souhaiterez peut-être personnaliser un effet de barre de défilement meilleur que la barre de défilement par défaut en fonction de vos besoins de conception. 🎜

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:
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