Backgrounds✨ Premium

Star Field

Fond étoilé 100 % CSS — cinq gradients radiaux en tuile 200 × 200 px dérivent en diagonale continue via @keyframes background-position, sans JavaScript.

CSSStarsSpace

Vous aurez accès à la démo interactive avec un compte gratuit.

Cet effet fait partie d'Effect.Labs — 811 effets vanilla, une partie gratuite, une partie premium. Backgrounds comprend 50 effets, dont 6 gratuits. Découvrir la catégorie →

3 exemples d'usage

Hero plein écran — Application d'astronomie — Star Field exemple 1

① Hero plein écran — Application d'astronomie

QuandLa page d'accueil d'une application d'observation du ciel s'ouvre — l'utilisateur veut planifier une session ou identifier les étoiles visibles ce soir.
PourquoiLe fond étoilé CSS ancre immédiatement dans l'univers du produit et remplace un visuel lourd (photo, vidéo) sans surcharge réseau. L'animation lente (100 s) reste en retrait du titre.
RéglagesAucun réglage nécessaire par défaut. Ajouter une surcouche semi-transparente rgba(0,0,0,0.4) en overlay pour renforcer la lisibilité du titre ; fond #000218 pour une teinte nuit bleue.
Composant carte — Widget conditions d'observation — Star Field exemple 2

② Composant carte — Widget conditions d'observation

QuandUn dashboard d'astrophotographie ou d'observation affiche une carte « Conditions du soir » avec les données de seeing et de transparence atmosphérique.
PourquoiLe fond étoilé CSS s'applique à un conteneur de 300 × 200 px sans JavaScript ni requête réseau. L'animation reste active sur plusieurs cartes simultanées sans surcoût CPU.
RéglagesChanger 100s en 200s dans animation pour un glissement imperceptible en fond de carte. Réduire background-size à 100px 100px pour densifier les étoiles dans un petit conteneur.
En-tête d'article — Longform cosmologie — Star Field exemple 3

③ En-tête d'article — Longform cosmologie

QuandUn magazine en ligne publie un dossier longform sur la cosmologie ou l'exploration spatiale et veut une en-tête immersive sans charger une vidéo ou une image HD.
PourquoiÀ 100 s de cycle, le défilement est imperceptible à la lecture. La charge réseau est nulle (CSS pur) et l'effet passe à n'importe quelle largeur de page sans media query.
RéglagesLimiter la hauteur de la zone à 240px. Ajouter background-attachment: fixed à .bg-stars pour un effet parallaxe subtil au scroll. Fond #020208 au lieu de #000 pour une teinte nuit légèrement bleue.

Comment ça marche

.bg-stars empile cinq couches radial-gradient() dans une seule propriété background. Chaque couche crée un point-étoile net en plaçant un blanc de 2 × 2 px (ou 1 × 1 px pour les étoiles plus discrètes) à une coordonnée fixe — at 20px 30px, at 40px 70px, at 90px 40px, at 130px 80px, at 160px 120px — avec le reste du gradient entièrement transparent. Pas de flou, pas d'antialiasing intentionnel : chaque étoile est un point chirurgical.

La première couche porte background-size: 200px 200px : le navigateur répète ce carré en tuile sur toute la surface de l'élément, multipliant le motif d'étoiles à l'infini. @keyframes starsMove déplace background-position de 0 0 à -200px -200px — exactement la taille d'une tuile — en 100 secondes linéaires infinies. Quand une étoile sort par un bord, son double dans la tuile adjacente entre par le bord opposé : le défilement est parfaitement cyclique, sans saut visible.

Zéro JavaScript, zéro Canvas, zéro dépendance : un seul <div class="bg-stars"> et un bloc CSS suffisent. La composition est déléguée au moteur de rendu du navigateur (couche GPU sur Chrome, Safari et Firefox) — la charge CPU à l'exécution est quasi nulle. Le contenu overlay (.bg-label ou tout autre élément) reste dans le flux DOM normal, positionné par-dessus le fond animé.

Accessibilité

  • prefers-reduced-motion : absent dans le code. Aucun bloc @media (prefers-reduced-motion: reduce) n'est présent : l'animation de 100 s tourne indéfiniment même si l'OS signale une préférence réduite. Recommandation : ajoutez @media (prefers-reduced-motion: reduce) { .bg-stars { animation: none; } } dans votre feuille de style.
  • .bg-stars ne porte ni role ni aria-label par défaut. Pour un fond purement décoratif c'est acceptable ; si le fond véhicule une signification narrative, ajoutez role="img" et un aria-label descriptif.
  • Contraste étoiles / fond : points blancs #fff sur fond noir #000 — ratio supérieur à 21:1, très au-dessus du seuil WCAG AA (4,5:1).
  • Aucun élément interactif dans le fond lui-même : pas de piège clavier, pas de tabindex, pas d'événement souris. La navigation au clavier n'est pas affectée.
  • Le contenu overlay (.bg-label) est dans le DOM standard et reste lisible par les lecteurs d'écran indépendamment du fond CSS animé.

Compatibilité navigateur

Repose sur les backgrounds CSS multiples et les animations CSS — supportés dans tous les navigateurs modernes depuis ~2013. Zéro dépendance externe.

Chrome 26+✓ Complet
Firefox 16+✓ Complet
Safari 7+✓ Complet
Edge 12+✓ Complet
Mobile iOS 7+✓ Complet
Android Chrome✓ Complet

Si <code>radial-gradient()</code> ou <code>@keyframes</code> ne sont pas supportés, l'élément affiche sa couleur de fond par défaut (<code>#000</code>) — aucune erreur JS, aucune dépendance cassée.

Le code

Structure HTML à coller dans votre page (CSS + JS disponibles avec un compte premium) :

index.html — structure
<div class="bg-stars" role="img" aria-label="Fond étoilé animé en continu" style="position:relative;min-height:400px;">

  <!-- Facultatif : contenu texte overlay (position:absolute requis) -->
  <span class="bg-label">Votre message</span>

</div>
🔒 Débloquer le code complet — à partir de 2,99 € le 1er mois

HTML + CSS + JS complet, prêt à coller — avec des centaines d'effets premium.

Personnaliser

Options passées à l'API ou attributs data-* :

Option / propriétéDéfautEffet
Durée animation (100s) 100s Vitesse du cycle. Modifier directement 100s dans la règle animation. 60 s = plus vif, 200 s = glissement quasi imperceptible.
background-size (200px 200px) 200px 200px Taille de la tuile d'étoiles (1re couche). 100px 100px double la densité visible ; 400px 400px espace les étoiles pour un ciel plus vide.
Couleur des étoiles (#fff) #fff Couleur du point dans chaque radial-gradient. #aac8ff = étoiles bleutées froides, #ffeecc = ton chaud, #c8ffc8 = vert science-fiction.
Couleur de fond (#000) #000 Dernière valeur de la propriété background. #000218 = nuit bleue profonde, #0a0014 = violet cosmique.
Direction @keyframes to {} -200px -200px Endpoint du déplacement background-position. 0 -200px = glissement vertical pur (étoiles montent), -200px 0 = horizontal pur, 200px -200px = diagonale inverse.
background-attachment scroll Ajouter background-attachment: fixed à .bg-stars pour un défilement parallaxe au scroll de la page — les étoiles dérivent moins vite que le contenu.
Nombre de couches (5) 5 gradients Ajouter des lignes radial-gradient(1px 1px at Xpx Ypx, #fff, transparent), supplémentaires avant la couleur de fond pour placer davantage d'étoiles par tuile.

FAQ

Oui, l'effet est 100 % CSS : un seul <div class="bg-stars"> et un bloc CSS suffisent. Aucune dépendance npm, aucun canvas, aucun fichier JS à charger. Copiez la classe et les règles CSS dans votre feuille de style — compatible avec tout framework.
Non dans la version de base : aucun bloc @media (prefers-reduced-motion: reduce) n'est inclus. Pour les sites accessibles, ajoutez cette règle : @media (prefers-reduced-motion: reduce) { .bg-stars { animation: none; } }. L'élément affiche alors un fond étoilé statique sans aucun mouvement.
Modifiez l'endpoint dans @keyframes starsMove { to { background-position: X Y } }. Valeurs utiles : 0 -200px = vertical pur (étoiles montent), -200px 0 = horizontal pur (glissement vers la gauche), 200px 200px = diagonale inverse (bas-droite). Pour un effet circulaire, combinez deux animations sur des axes distincts avec des durées différentes.