Maison interface Web Questions et réponses frontales Comment changer dynamiquement le CSS

Comment changer dynamiquement le CSS

Apr 23, 2023 am 10:09 AM

Changer dynamiquement CSS

Avec le développement de la technologie Web, les pages Web deviennent de plus en plus complexes. Nous espérons que les éléments de la page pourront changer dynamiquement pour répondre aux différents besoins des utilisateurs. Parmi eux, la modification dynamique du CSS est une méthode technique courante qui permet d'obtenir des effets dynamiques sur la page. Cet article explique comment utiliser JavaScript pour modifier dynamiquement le CSS.

1. Introduction au CSS

CSS (Cascading Style Sheets) est un langage utilisé pour décrire le style des pages Web. Il nous permet d'avoir un contrôle fin sur le style des éléments HTML. Par exemple, vous pouvez définir la couleur d'arrière-plan, la police, la hauteur, la largeur, etc. de l'élément.

Les styles CSS peuvent être définis des deux manières suivantes :

1. Feuille de style interne : définie en utilisant la balise <style>

2. Feuille de style externe : définie en liant une balise <link>

Les règles de style CSS se composent de sélecteurs et de déclarations, comme indiqué ci-dessous :

选择器 {
    声明1;
    声明2;
    声明3;
    ...
}
Copier après la connexion

Parmi eux, les sélecteurs sont utilisés pour localiser les éléments sur la page et les déclarations sont utilisées pour définir le style des éléments. Par exemple, le code suivant définira la couleur de police de tous les éléments p sur rouge :

p {
    color: red;
}
Copier après la connexion

2. JavaScript modifie le CSS

Grâce à JavaScript, nous pouvons modifier dynamiquement les styles CSS après le chargement de la page pour obtenir des effets intéressants. Par exemple, laissez la barre de navigation passer à une position fixe lorsque la page défile jusqu'à une certaine position. Voici un exemple :

window.addEventListener('scroll', function() {
    var nav = document.querySelector('nav');
    if (window.pageYOffset &gt; 100) {
        nav.style.position = 'fixed';
        nav.style.top = '0';
    } else {
        nav.style.position = 'relative';
        nav.style.top = '';
    }
});
Copier après la connexion

Ce code change le style de la barre de navigation lorsque la position de défilement du document dépasse 100 pixels. Plus précisément, il définit la propriété position de la barre de navigation sur fixe pour la maintenir fixe en haut de l'écran, et définit sa propriété top sur 0 pour la maintenir à 0 loin du haut de la page. Lorsque la position de défilement du document est inférieure à 100 pixels, la propriété position de la barre de navigation sera définie sur relative et restaurée à son état par défaut.

Bien sûr, ce n'est qu'un exemple simple. Dans des applications pratiques, nous pouvons combiner d'autres API JavaScript et styles CSS3 pour obtenir des effets plus complexes.

3. JavaScript exploite les propriétés CSS

En JavaScript, nous pouvons obtenir et définir le style CSS d'un élément via l'attribut style. Par exemple, le code suivant définira la couleur d'arrière-plan et la taille de la police de l'élément :

var elem = document.querySelector('#foo');
elem.style.backgroundColor = 'red';
elem.style.fontSize = '16px';
Copier après la connexion

Ici, nous obtenons d'abord l'élément avec l'ID foo via la méthode document.querySelector(), puis utilisons l'objet elem.style pour définir le style.

Si vous souhaitez obtenir le style d'un élément, vous pouvez utiliser la méthode getComputedStyle(). Par exemple, le code suivant obtiendra la taille de police d'un élément :

var elem = document.querySelector('#foo');
var style = window.getComputedStyle(elem);
var fontSize = style.getPropertyValue('font-size');
Copier après la connexion

Ici, nous obtenons d'abord l'élément avec l'ID foo, puis utilisons la méthode window.getComputedStyle() pour obtenir le style de l'élément. Notez que le style ici est le style calculé, qui est le style final de l'élément. Enfin, nous utilisons la méthode getPropertyValue() pour obtenir la taille de police calculée.

En bref, JavaScript peut utiliser les styles CSS très facilement et les développeurs peuvent utiliser JavaScript pour obtenir des effets de style plus flexibles et modifiables.

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

Article chaud

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

Article chaud

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

Tags d'article chaud

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)

Expliquez le concept de chargement paresseux. Expliquez le concept de chargement paresseux. Mar 13, 2025 pm 07:47 PM

Expliquez le concept de chargement paresseux.

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires?

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

Comment fonctionne l'algorithme de réconciliation React?

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable?

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

Comment fonctionne le currying en JavaScript et quels sont ses avantages?

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements?

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Mar 19, 2025 pm 04:16 PM

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés?

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants?

See all articles