Backgrounds✨ Premium

Paper Texture

Fond papier parchemin produit par feTurbulence fractalNoise en multiply — grain naturel, tampon encré, zéro JavaScript, zéro dépendance.

CSSSVGVintage

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

Couverture pleine page — Section hero d'une marque artisanale — Paper Texture exemple 1

① Couverture pleine page — Section hero d'une marque artisanale

QuandSection d'ouverture d'un site de boulangerie, brasserie artisanale ou éditeur indépendant, où l'effet remplace une image de fond.
PourquoiLe grain fractalNoise sur fond crème reproduit l'aspect du vieux papier imprimé — vectoriel, infiniment redimensionnable, sans asset externe. Le tampon encré renforce l'identité « fait main ».
RéglagesPassez background de .ng-paper-scene à #ede8dc pour un parchemin plus sombre. Montez opacity du ::before à 0.14 pour accentuer le grain. Mettez width/height à 100% pour couvrir toute la section.
Fiche recette — Carte cuisine dans une application culinaire — Paper Texture exemple 2

② Fiche recette — Carte cuisine dans une application culinaire

QuandAffichage d'une recette dans une application de cuisine ou un blog food, où la carte papier texturé est l'unité visuelle principale.
PourquoiLa texture parchemin transforme une card générique en feuille de recette tirée d'un vieux cahier de cuisine, sans image de fond ni asset externe.
RéglagesMaintenez baseFrequency à 0.65 (grain serré) et numOctaves à 5. Changez la couleur du tampon en bleu encre (rgba(30, 60, 120, .45)) pour un style notarial ou épicurien.
Certificat numérique — Diplôme ou attestation plein écran — Paper Texture exemple 3

③ Certificat numérique — Diplôme ou attestation plein écran

QuandGénération d'un certificat de réussite, diplôme ou attestation dans une plateforme e-learning ou événementielle, affiché plein écran ou exporté en PDF.
PourquoiLe fond parchemin et le tampon confèrent une authenticité visuelle immédiate. La texture étant statique, elle survit aux captures d'écran, aux exports PDF et à l'impression sans perte de qualité.
RéglagesUtilisez background: #f8f4ea pour un parchemin légèrement plus clair et opacity: 0.12. Tournez le tampon à rotate(-8deg) et changez sa couleur en bleu marine pour un rendu plus formel.

Comment ça marche

La texture est produite par un filtre SVG feTurbulence de type fractalNoise — un bruit de Perlin multi-échelle qui génère un champ aléatoire naturel et non périodique. Avec baseFrequency="0.65" et numOctaves="5", le filtre produit un grain fin proche des fibres de papier bois.

Ce filtre SVG est embarqué en entier dans une URL data:image/svg+xml appliquée sur le pseudo-élément ::before de .ng-paper-scene, à opacity: 0.08. L'opérateur mix-blend-mode: multiply fusionne le bruit avec le fond crème — les grains sombres soustraient de la base, les valeurs claires la laissent intacte, produisant l'aspect fibre naturelle caractéristique du vieux papier.

L'élément .ng-paper-stamp est un badge circulaire 100 % CSS : border-radius: 50%, bordure en tons rouge-encre semi-transparents (rgba(180, 50, 50, .4)), et un <span> en capitales serrées (letter-spacing: 1px, font-size: 0.55rem). Un transform: rotate(-15deg) lui donne l'aspect du tampon apposé en diagonale.

L'effet est entièrement sans JavaScript. La texture, le fond crème et le tampon sont des couches CSS pures empilées via pseudo-éléments et flux DOM normal — pas de canvas, pas de requestAnimationFrame, pas de dépendance. Le filtre SVG est un rendu statique que le navigateur peint une seule fois et met en cache.

Accessibilité

  • prefers-reduced-motion non requis — l'effet est entièrement statique, aucune animation ne tourne. Les utilisateurs sensibles aux mouvements vestibulaires ne sont pas affectés.
  • Le pseudo-élément ::before portant le bruit est purement décoratif. Ajoutez aria-hidden="true" sur la scène si elle est ornementale, ou conservez-la dans l'arbre d'accessibilité lorsqu'elle entoure du contenu lisible.
  • Contraste des textes : la couleur de titre #2d2418 sur fond crème #f5f0e8 atteint un ratio ≈ 14:1, largement au-dessus de WCAG AA (4,5:1) et AAA (7:1).
  • Le texte du tampon utilise rgba(180, 50, 50, 0.5) sur #f5f0e8 — contraste inférieur à 3:1 à cette opacité. Le tampon est décoratif ; s'il porte une information, montez l'opacité à 0,85 minimum.
  • Aucune interaction clavier — le composant est passif (pas de clic, pas de focus). Aucun rôle ARIA supplémentaire requis au-delà de la structure de document standard.

Compatibilité navigateur

Requiert mix-blend-mode et les filtres SVG en data URI — supportés dans tous les navigateurs modernes depuis Edge 79 (2020).

Chrome 79+✓ Complet
Firefox 87+✓ Complet
Safari 14+✓ Complet
Edge 79+✓ Complet
Mobile iOS 14+✓ Complet
Android Chrome✓ Complet

Sur Internet Explorer (non ciblé), <code>mix-blend-mode</code> est ignoré — le <code>::before</code> s'affiche comme un voile bruit gris à 8 % d'opacité sans fusion. La lisibilité du contenu est préservée.

Le code

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

index.html — structure
<div class="ng-paper-scene">
  <!-- Texture parchemin générée en CSS via ::before -->
  <div class="ng-paper-content">
    <h3 class="ng-paper-title">…</h3>
    <div class="ng-paper-line"></div>
    <p class="ng-paper-text">…</p>
  </div>
  <div class="ng-paper-stamp">
    <span>…</span>
  </div>
</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
background sur .ng-paper-scene #f5f0e8 Couleur de la feuille de papier. #ede8dc = parchemin sombre, #fff8f0 = crème léger, #e8e4d8 = gris sable vieilli.
baseFrequency dans feTurbulence 0.65 Grain du bruit fractal dans la data URI SVG. 0.40–0.50 = gros grain façon kraft ; 0.80–0.90 = grain fin façon offset. Modifiez la valeur directement dans la chaîne url().
numOctaves dans feTurbulence 5 Niveau de détail du bruit dans la data URI SVG. 3 = texture douce et uniforme ; 7 = micro-détails riches. Coût de rendu nul — le SVG est statique.
opacity sur .ng-paper-scene::before 0.08 Intensité de la texture. 0.04 = quasi-imperceptible sur écran lumineux ; 0.18–0.22 = grain très marqué façon papier journal ou buvard.
mix-blend-mode sur .ng-paper-scene::before multiply Mode de fusion texture/fond. multiply = grains fondus dans la couleur crème. Sur fond sombre, multiply est invisible — utilisez soft-light ou overlay à la place.
transform sur .ng-paper-stamp rotate(-15deg) Angle du tampon. -30°→+10° pour un aspect casual ; 0° ou -5° pour un usage formel (certificat, document officiel).
border-color + color du span sur .ng-paper-stamp rgba(180, 50, 50, .4/.5) Couleur du tampon. rgba(30, 60, 120, .45) = encre bleue notariale ; rgba(20, 80, 40, .45) = vert officiel. Synchronisez border-color et color du span.
width / height sur .ng-paper-scene 280px / 220px Dimensions de la scène. Le ::before s'étire pour remplir n'importe quelle taille — passez 100% / 100% pour un fond pleine section.

FAQ

Oui, feTurbulence est déterministe par défaut : même fréquence = même motif. Pour varier le grain d'une carte à l'autre, ajoutez seed="N" dans la balise feTurbulence de la data URI (N = entier quelconque) — chaque valeur de seed produit un motif de bruit distinct.
Copiez uniquement la règle ::before sur l'élément cible (il doit avoir position: relative et un fond clair). La data URI SVG est autonome — elle fonctionne sur un div, une section, un article ou une cellule de tableau. Aucune autre classe de l'effet n'est requise.
Non. Sur fond sombre, multiply rend la texture invisible (noir × bruit ≈ noir). Utilisez mix-blend-mode: soft-light ou overlay à la place, et optez pour un fond sombre chaud (#2a2318 plutôt que #000) pour que le grain reste perceptible.