Table des matières
Step 1. 绘制深色背景
Step 2. 使用渐变画出极光的轮廓
Step 3. 旋转拉伸
Step 4. 神奇的混合模式变换!
Step 5. 叠加 SVG feturbulence 滤镜
Step 6. 让极光动起来
Étape 1. Dessinez un fond sombre
Étape 2. Utilisez le dégradé pour dessiner le contour de l'aurore
Étape 3. Rotation et étirement
Étape 4. Transformation magique du mode de fusion !
Étape 5. Superposer le filtre de féturbulence SVG
Étape 6. Faire bouger l'aurore
Quelques conseils et autres questions🎜
Maison interface Web tutoriel CSS Peu connu ! Utilisez CSS pour créer un effet aurore

Peu connu ! Utilisez CSS pour créer un effet aurore

Feb 09, 2022 pm 05:47 PM
css

Cet article vous expliquera comment utiliser CSS pour obtenir l'effet d'aurore. Les principales étapes incluent le dessin d'un arrière-plan sombre, l'utilisation de dégradés pour dessiner le contour de l'aurore, la rotation et l'étirement, ainsi que d'autres problèmes connexes, j'espère. utile à tout le monde.

Peu connu ! Utilisez CSS pour créer un effet aurore

Est-il possible d'obtenir Aurora en utilisant CSS ?

Comme ça :

Peu connu ! Utilisez CSS pour créer un effet aurore

emmm, c'est un peu gênant. Cependant, je l'ai essayé récemment. Bien qu'il soit impossible de simuler un effet aussi réaliste, vous pouvez toujours utiliser CSS pour créer des effets spéciaux similaires. Aujourd'hui, nous allons l'essayer ensemble.

Après avoir observé quelques images d'aurores, j'ai découvert certains des éléments les plus importants dans l'animation des aurores :

  1. Dégradé de couleurs lumineux basé sur un fond sombre

  2. Un effet d'animation similaire à l'écoulement des vagues d'eau

Lumineux Nous pouvons utiliser Gradient pour simuler autant que possible les couleurs dégradées. Quant à l'effet d'animation des vagues d'eau, le filtre SVG feturbulence est spécialement conçu pour cela. L'utilisation de ce filtre a été mentionnée à plusieurs reprises dans plusieurs de mes articles précédents.

En plus des dégradés et des filtres <feturbulence></feturbulence> de SVG, nous pouvons également utiliser des <feturbulence></feturbulence> 滤镜之外,我们可能还会用到混合模式mix-blend-mode)、CSS 滤镜等提升效果。

OK,有了大概的思路后,剩下的就是不断的尝试。

Step 1. 绘制深色背景

首先,我们可能需要一个深色的背景,用于表示我们的夜空。同时点缀一些星星,星星可以使用 box-shadow 模拟,这样,一副夜空背景我们可以在 1 个 p 内完成:

<p class="g-wrap">
</p>
Copier après la connexion
@function randomNum($max, $min: 0, $u: 1) {
 @return ($min + random($max)) * $u;
}

@function shadowSet($n, $size) {
    $shadow : 0 0 0 0 #fff;
    
    @for $i from 0 through $n { 
        $x: randomNum(350);
        $y: randomNum(500);
        $scale: randomNum($size) / 10;
        
        $shadow: $shadow, #{$x}px #{$y}px 0 #{$scale}px rgba(255, 255, 255, .8);
    }
    
    @return $shadow;
}

.g-wrap {
    position: relative;
    width: 350px;
    height: 500px;
    background: #0b1a3a;
    overflow: hidden;
    
    &::before {
        content: "";
        position: absolute;
        width: 1px;
        height: 1px;
        border-radius: 50%;
        box-shadow: shadowSet(100, 6);
}
Copier après la connexion

这一步比较简单,借助了 SASS 之后,我们能够得到这样一幅夜空背景图:

Peu connu ! Utilisez CSS pour créer un effet aurore

Step 2. 使用渐变画出极光的轮廓

接下来,就是利用渐变,画出极光的一个轮廓效果。

其实就是一个径向渐变:

<p class="g-wrap">
  <p class="g-aurora"></p>
</p>
Copier après la connexion
.g-aurora {
    width: 400px;
    height: 300px;
    background: radial-gradient(
        circle at 100% 100%,
        transparent 45%,
        #bd63c1 55%,
        #53e5a6 65%,
        transparent 85%
    );
}
Copier après la connexion

Peu connu ! Utilisez CSS pour créer un effet aurore

Step 3. 旋转拉伸

目前看来,是有一点点轮廓了。下一步,我们把得到的这个渐变效果通过旋转拉伸变换一下。

.g-aurora {
    ...
    transform: rotate(45deg) scaleX(1.4);
}
Copier après la connexion

我们大概就能得到这样一个效果:

Peu connu ! Utilisez CSS pour créer un effet aurore

Step 4. 神奇的混合模式变换!

到这里,其实雏形已经出来了。但是颜色看着不太像,为了和深色的背景融合在一起,这里我们运用上混合模式 mix-blend-mode

.g-aurora {
    ...
    transform: rotate(45deg) scaleX(1.4);
    mix-blend-mode: color-dodge;
}
Copier après la connexion

神奇的事情发生了,看看效果:

Peu connu ! Utilisez CSS pour créer un effet aurore

image

整体的颜色看上去更加像极光的颜色。

Step 5. 叠加 SVG feturbulence 滤镜

接下来,我们要产生水纹波动的效果,需要借助 SVG 的 <feturbulence> 滤镜

我们添加一个 SVG 的 <feturbulence> 滤镜,利用 CSS filter 进行引用

<p class="g-wrap">
  <p class="g-aurora"></p>
</p>


    
        
            
            
        
    
Copier après la connexion
.g-aurora {
    ...
    transform: rotate(45deg) scaleX(1.4);
    mix-blend-mode: color-dodge;
    filter: url(#wave);
}
Copier après la connexion

我们即可得到这样一种效果:

Peu connu ! Utilisez CSS pour créer un effet aurore

Wow,是不是已经很有那种感觉了。通过 feturbulence 的特性,我们近乎模拟出了极光的效果!

Step 6. 让极光动起来

最后一步,我们就需要让我们的极光动起来。由于 SVG 动画本身不支持类似 animation-fill-mode: alternate 这种特性。我们还是需要写一点 JavaScript 代码,控制动画的整体循环。

大概的代码是这样:

var filter = document.querySelector("#turbulence");
var frames = 0;
var rad = Math.PI / 180;

function freqAnimation() {
  bfx = 0.005;
  bfy = 0.005;
  frames += .5
  bfx += 0.0025 * Math.cos(frames * rad);
  bfy += 0.0025 * Math.sin(frames * rad);

  bf = bfx.toString() + &#39; &#39; + bfy.toString();
  filter.setAttributeNS(null, &#39;baseFrequency&#39;, bf);
  window.requestAnimationFrame(freqAnimation);
}

window.requestAnimationFrame(freqAnimation);
Copier après la connexion

至此,我们就得到了一幅完整的,会动的极光动画:

Peu connu ! Utilisez CSS pour créer un effet aurore

一些技巧及其他事项

  1. 渐变元素的周围会存在明显的边界毛刺效果,可以使用黑色内阴影 box-shadow: inset ...modes de mélange

    (mix-blend-mode), des filtres CSS et bien plus encore pour améliorer l'effet.
  2. OK, une fois que vous avez une idée générale, le reste est de continuer à essayer.

    Étape 1. Dessinez un fond sombre

    Tout d'abord, nous aurons peut-être besoin d'un fond sombre pour représenter notre ciel nocturne. En même temps, décorez quelques étoiles. Les étoiles peuvent être simulées à l'aide de box-shadow. De cette façon, nous pouvons réaliser un fond de ciel nocturne en 1 p : 🎜rrreeerrreee🎜Cette étape est relativement simple. Avec l'aide de SASS, nous pouvons obtenir une telle image de fond de ciel nocturne : 🎜🎜Peu connu ! Utilisez CSS pour créer un effet aurore 🎜

    Étape 2. Utilisez le dégradé pour dessiner le contour de l'aurore

    🎜L'étape suivante consiste à utiliser le dégradé pour dessiner un effet de contour de l'aurore. 🎜🎜En fait, c'est un dégradé radial : 🎜rrreeerrreee🎜Peu connu ! Utilisez CSS pour créer un effet aurore🎜

    Étape 3. Rotation et étirement

    🎜À l'heure actuelle, il semble qu'il y ait un petit contour. Ensuite, nous transformons l'effet de dégradé obtenu en le faisant pivoter et en l'étirant. 🎜rrreee🎜Nous pouvons probablement obtenir cet effet : 🎜🎜🎜

    Étape 4. Transformation magique du mode de fusion !

    🎜À ce stade, le prototype est effectivement sorti. Mais les couleurs ne se ressemblent pas. Afin de se fondre avec le fond sombre, nous utilisons ici le mode de fusion mix-blend-mode. 🎜rrreee🎜 Quelque chose de magique s'est produit, regardez l'effet : 🎜🎜🎜
    image
    🎜La couleur générale ressemble plus à la couleur de l'aurore. 🎜

    Étape 5. Superposer le filtre de féturbulence SVG

    🎜Ensuite, nous voulons produire l'effet d'ondulations de l'eau, nous devons utiliser le filtre <feturbulence></feturbulence> de SVG🎜🎜Nous ajoutons un Filtre SVG <feturbulence></feturbulence>, utilisant CSS filter pour référencer 🎜rrreeerrreee🎜Nous pouvons obtenir un tel effet : 🎜🎜Peu connu ! Utilisez CSS pour créer un effet aurore🎜🎜Wow, tu ne ressens pas déjà ça ? Grâce aux caractéristiques de la féturbulence, on peut presque simuler l’effet d’une aurore ! 🎜

    Étape 6. Faire bouger l'aurore

    🎜Dans la dernière étape, nous devons faire bouger notre aurore. Parce que l'animation SVG elle-même ne prend pas en charge des fonctionnalités telles que animation-fill-mode: alternate. Il nous reste encore à écrire un peu de code JavaScript pour contrôler la boucle globale de l'animation. 🎜🎜Le code approximatif est le suivant : 🎜rrreee🎜À ce stade, nous avons une animation d'aurore complète et en mouvement : 🎜

    Peu connu ! Utilisez CSS pour créer un effet aurore🎜

    Quelques conseils et autres questions🎜

    🎜🎜Dégradé Il y aura des effets de bavure de bordure évidents autour de l'élément, qui peuvent être supprimés à l'aide d'une ombre intérieure noire box-shadow: inset ... 🎜🎜🎜🎜Les paramètres réels de chaque attribut dans le processus d'écriture réel semblent simples, il a en fait été obtenu après un débogage constant au cours du processus ;🎜
  3. Le mode de fusion et le filtre de féturbulence SVG sont difficiles à maîtriser et nécessitent une pratique constante et un débogage constant. La sélection des couleurs d'Aurora dans cet article n'a pas subi trop de débogage répété. Si vous êtes prêt à y consacrer du temps, vous pouvez déboguer. la couleur avec un meilleur effet.

L'effet final n'est pas parfait, mais cela reste un bon travail CSS + SVG. Vous pouvez voir le code complet ici :

(Partage vidéo d'apprentissage : Tutoriel vidéo CSS)

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)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Comment écrire des lignes fendues sur bootstrap Comment écrire des lignes fendues sur bootstrap Apr 07, 2025 pm 03:12 PM

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Comment insérer des photos sur bootstrap Comment insérer des photos sur bootstrap Apr 07, 2025 pm 03:30 PM

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment redimensionner le bootstrap Comment redimensionner le bootstrap Apr 07, 2025 pm 03:18 PM

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

Comment configurer le cadre de bootstrap Comment configurer le cadre de bootstrap Apr 07, 2025 pm 03:27 PM

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Comment utiliser le bouton bootstrap Comment utiliser le bouton bootstrap Apr 07, 2025 pm 03:09 PM

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Comment afficher la date de bootstrap Comment afficher la date de bootstrap Apr 07, 2025 pm 03:03 PM

Réponse: Vous pouvez utiliser le composant de sélecteur de date de bootstrap pour afficher les dates dans la page. Étapes: Présentez le framework bootstrap. Créez une boîte d'entrée de sélecteur de date dans HTML. Bootstrap ajoutera automatiquement des styles au sélecteur. Utilisez JavaScript pour obtenir la date sélectionnée.

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

See all articles