3D✨ Premium

XR Environment

Un décor de salle d'attente virtuelle : ciel en dégradé nuit, 40 étoiles placées au hasard qui scintillent chacune à son rythme, sol quadrillé incliné en perspective sur les 40 % du bas, et deux carrés dégradés, violet et rose, qui flottent au-dessus de l'horizon. Une ambiance « espace virtuel » en CSS et 14 lignes de JavaScript — pas de casque, pas de WebXR, aucune interaction.

CSSJSEnvironnement

Mis à jour le

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

3 exemples d'usage

Hall d'accueil d'un salon de l'emploi en ligne — page d'attente avant l'ouverture — XR Environment exemple 1

① Hall d'accueil d'un salon de l'emploi en ligne — page d'attente avant l'ouverture

QuandPage d'attente du salon, quelques minutes avant 9 h : le décor plein cadre, « Le salon ouvre à 9 h » et « 42 recruteurs connectés » dans le ciel, et les deux carrés devenus des stands lumineux « Stand Industrie » et « Stand Santé ».
PourquoiUn espace avec horizon, sol et ciel donne l'idée d'un lieu où l'on arrive, ce qu'un simple fond animé ne fait pas : les visiteurs attendent « dans le hall », devant des stands encore fermés.
RéglagesRacine à la taille de la scène (hauteur en ligne passée à 100 %) ; ciel bleu nuit #0b1a33 → #21497a, quadrillage bleu clair à 22 % ; carrés élargis à 78 × 50 px, recolorés bleu et vert dans leur style en ligne, halo de 24 px, nom du stand dedans ; second carré décalé de −1,5 s.
Soirée rétro années 80 — page d'un bar à cocktails — XR Environment exemple 2

② Soirée rétro années 80 — page d'un bar à cocktails

QuandPage de la soirée du vendredi : sol quadrillé rose néon, étoiles, un soleil rayé posé sur l'horizon et deux carrés néon cyan et rose, sous le titre « Vendredi : synthés & arcade » et l'annonce « Entrée libre · 21 h ».
PourquoiLe sol quadrillé en perspective sous un ciel étoilé est le décor typique de l'esthétique rétro-futuriste, déjà tout fait : il suffit de passer les couleurs au néon.
RéglagesCiel #12002a → #3a0a5c avec une ligne rose #ff4fa3 à l'horizon ; lignes du sol roses à 75 % ; carrés de 44 px vidés et cerclés de néon (box-shadow cyan #3df5ff et rose) ; soleil rayé ajouté par la scène, hors du code de l'effet.
Écran d'accueil des casques de réalité virtuelle prêtés — page d'une médiathèque — XR Environment exemple 3

③ Écran d'accueil des casques de réalité virtuelle prêtés — page d'une médiathèque

QuandPage de l'atelier : le décor plein cadre avec la carte « Atelier découverte VR — mercredi 14 h, 4 casques, dès 12 ans » au centre et « Inscription à l'accueil » en bas.
PourquoiLe décor annonce l'expérience (un espace autour de soi) tout en restant une simple page web, honnête sur ce qu'elle est : la vraie réalité virtuelle se vit avec le casque, à la médiathèque.
RéglagesCiel bleu-vert #071a24 → #1a5060, quadrillage turquoise à 25 % ; carrés de 40 px turquoise et orange, écartés à 18 % et 82 % pour encadrer la carte ; carte translucide à bord turquoise posée par-dessus.

Comment ça marche

La racine .fx-0050-root (fond #0a0a0f, 300 px de haut au minimum) contient le décor .xr-environment (toute la largeur, 300 px au minimum, overflow: hidden), peint d'un dégradé vertical #0a0a2e → #1a1a3e → #2a2a4e. Le sol .xr-env-ground occupe les 40 % du bas, souligné d'un filet indigo ; il porte une perspective de 300 px, et son quadrillage .xr-env-grid-floor (lignes indigo à 10 % tous les 30 px) est couché par rotateX(60deg) depuis son bord haut : les lignes se resserrent vers l'horizon. Les deux objets .xr-env-obj sont des carrés de 30 px aux coins arrondis, posés à 30 % et 60 % de la largeur, juste au-dessus de l'horizon (42 % du bas), qui montent et descendent de 10 px en 3 s, le second décalé d'une seconde.

Le script crée 40 .xr-env-star de 2 px dans chaque .xr-env-stars trouvé sous une racine .fx-0050-root : position au hasard sur toute la largeur et les 60 % du haut, scintillement (opacité de 0,3 à 1) d'une durée tirée entre 1,5 et 3,5 s et d'un départ décalé de 0 à 3 s, si bien qu'aucune étoile ne bat en même temps que sa voisine. Chaque étoile reçoit aussi une opacité fixe au hasard, que l'animation recouvre et qui sert quand le mouvement est réduit. Mesuré dans Chromium 151, Firefox 153 et WebKit 26 : deux copies de l'effet sur une page ont chacune leurs 40 étoiles, et 0,35 à 0,41 % des pixels changent en 0,8 s.

Les positions étant tirées au hasard, le ciel change à chaque chargement : c'est voulu pour un fond d'ambiance, mais deux captures ne sont jamais identiques. Le nom du catalogue dit « XR » : rien ici ne parle à un casque ni à WebXR, les « objets 3D » sont des carrés plats et le ciel est un dégradé, pas une skybox. C'est l'image d'un hall virtuel, faite pour une page web. Coût faible : 42 petites animations d'opacity et de transform, aucune boucle JavaScript une fois les étoiles posées.

Accessibilité

  • Mouvement réduit : sous prefers-reduced-motion: reduce, un bloc limité à .fx-0050-root arrête le scintillement et le flottement : le ciel reste piqué d'étoiles d'éclats différents (l'opacité fixe tirée par le script) et les deux carrés attendent immobiles au-dessus de l'horizon. Mesuré : 0 animation et 0 % de pixels changés en 0,8 s dans Chromium, Firefox et WebKit.
  • Décor : aucun texte, aucune information, aucune interaction ; les étoiles et les carrés sont des div vides que les lecteurs d'écran ignorent. Le texte que vous posez par-dessus (horaire, titre, consigne) reste du texte normal, comme dans les scènes ci-dessus.
  • Scintillement : 40 points de 2 px dont l'opacité varie doucement sur 1,5 à 3,5 s, jamais en même temps : pas de clignotement d'ensemble ni de flash, la luminosité générale de la scène ne bouge pas.
  • Contraste du texte posé dessus : le ciel va de #0a0a2e à #2a2a4e ; un texte blanc y dépasse 13:1 (calculé sur la teinte la plus claire). Les étoiles blanches occupent les 60 % du haut : un petit texte gris clair s'y perdrait, préférez un texte blanc assez gros ou posé sur une carte, comme dans la scène 3.

Compatibilité navigateur

CSS (dégradés, animations d'opacity et de transform, perspective et rotateX pour le sol, inset) + 14 lignes de JavaScript (création des étoiles), aucune dépendance. Mesuré dans Chromium 151 et Firefox 153 : sol incliné, 40 étoiles par copie, deux copies indépendantes, arrêt en mouvement réduit. Dans WebKit 26, étoiles, objets et arrêt sont identiques, mais le WebKit de Playwright aplatit toute 3D CSS : le sol incliné sur Safari n'a pas été vérifié sur un vrai Safari.

Chrome 87+✓ Complet
Firefox 66+✓ Complet
Safari 14.1+✓ Étoiles et objets mesurés ; sol incliné non vérifié sur un vrai Safari
Edge 87+✓ Complet
Mobile iOS✓ Non vérifié sur un vrai appareil
Android Chrome✓ Complet

Sans JavaScript, le ciel reste vide d'étoiles : dégradé, sol et objets flottants restent. Sans transformations 3D, le quadrillage du sol reste droit, sans fuite vers l'horizon. Les versions minimales viennent de la propriété inset du calque d'étoiles : avec top: 0; right: 0; bottom: 0; left: 0 à la place, l'effet descend à des navigateurs bien plus anciens.

Le code

Structure HTML à coller dans votre page (le CSS + JS sont inclus avec votre achat) :

index.html — structure
<div class="fx-0050-root">
  <div class="xr-environment" style="width:100%;min-height:300px;">
    <div class="xr-env-stars"></div>  <!-- 40 étoiles ajoutées par le script -->
    <div class="xr-env-obj" style="left: 30%; background: linear-gradient(135deg, #6366f1, #a855f7); animation-delay: 0s;"></div>
    <div class="xr-env-obj" style="left: 60%; background: linear-gradient(135deg, #ec4899, #f43f5e); animation-delay: 1s;"></div>
    <div class="xr-env-ground">
      <div class="xr-env-grid-floor"></div>
    </div>
  </div>
</div>

Paiement unique, sans abonnement — le code est à toi pour toujours

Personnaliser

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

Option / propriétéDéfautEffet
Nombre d'étoiles (JS — i < 40) 40 par décor 80 donne un ciel dense, 15 un ciel de ville. Au-delà de 200, pensez au coût : chaque étoile est une animation.
Zone des étoiles (JS — Math.random() * 60 + '%' pour top) les 60 % du haut Gardez-la au-dessus de l'horizon (60 % tant que le sol occupe 40 %), sinon des étoiles tombent sur le sol.
Rythme du scintillement (JS — 1.5 + Math.random() * 2 et Math.random() * 3) durées de 1,5 à 3,5 s, départs de 0 à 3 s Des durées de 3 à 6 s donnent un ciel plus calme ; resserrées autour de 1 s, il grésille. Gardez un départ au hasard : des étoiles synchronisées clignoteraient ensemble.
Objets flottants (HTML — style en ligne de chaque .xr-env-obj) 2 carrés de 30 px, à 30 % et 60 %, violet et rose Changez left, background et animation-delay dans le style en ligne ; ajoutez-en d'autres en copiant la ligne. Pour un décalage dès le chargement, préférez un délai négatif (-1.5s).
Sol (CSS — .xr-env-ground 40 %, perspective: 300px, rotateX(60deg), quadrillage 30 px) 40 % de la hauteur, 60°, lignes indigo à 10 % Une perspective plus courte (200 px) et 70° donnent un sol plus fuyant ; des lignes plus opaques (50 à 75 %) et colorées donnent l'allure néon de la scène 2.
Ciel (CSS — background de .xr-environment) #0a0a2e → #1a1a3e → #2a2a4e Tout dégradé vertical convient ; gardez le haut sombre pour que les étoiles blanches restent visibles.

FAQ

Non. Le nom du catalogue dit « XR », mais l'effet n'utilise ni WebXR ni casque, et ne réagit à rien : c'est un décor animé en CSS, avec un ciel en dégradé (pas une skybox) et deux carrés plats (pas des objets 3D). Il sert à évoquer un espace virtuel sur une page web ; pour une vraie scène en réalité virtuelle, il faut une bibliothèque 3D et l'API WebXR, ce que ce code ne contient pas.
Les 40 étoiles sont placées par Math.random() : position, opacité, durée et départ du scintillement. Pour un ciel identique à chaque visite, remplacez Math.random() par un petit générateur à graine (une suite de nombres toujours la même), ou écrivez les étoiles une à une dans le HTML.
AR Object Placer est un seul objet au-dessus d'une grille, qu'on pose d'un clic : c'est un geste à expliquer. XR Environment est un décor complet (ciel, étoiles, horizon, sol, deux objets) qu'on regarde sans rien toucher : c'est une ambiance. Choisissez XR Environment pour une page d'attente, une soirée, un fond de lancement.