Les modèles SVG offrent une approche plus souple pour répéter une image d'arrière-plan sur une page Web que la mosaïque CSS. Voyons pourquoi et comment vous pouvez les utiliser.
Ce didacticiel est disponible sous forme vidéo et textuelle. Voici un aperçu de ce que vous allez apprendre:
Commençons par vérifier la mosaïque CSS - la méthode plus traditionnelle de répétition d'une image pour un arrière-plan. L’idée est simple: nous passons une URL à la Contexte
propriété de l'élément que nous voulons couvrir. L'URL pointe vers un fichier image, dans ce cas un fichier PNG. Par défaut notre image se répètera le long des deux axes.
body background: url ("cuadros.png");
Voici à quoi ça ressemble:
Jetons maintenant un coup d'oeil aux motifs SVG - quelque chose qui, lorsqu'il est rencontré pour la première fois, est un peu plus difficile à comprendre. Nous allons commencer par coder à la main un exemple.
Pour vous rappeler comment coder à la main toutes les différentes parties d'un fichier SVG, ces deux tutoriels pour débutants de Kezz Bracey sont vraiment utiles:
Pour commencer, nous allons créer un élément svg, en lui donnant une hauteur et une largeur de 100%, de sorte qu'il occupe le conteneur dans lequel nous le plaçons..
Créer un modèle
nous devons le placer dans le defs
(définitions) du svg, comme ceci:
Ajoutons maintenant quelques attributs à cet élément de modèle. Nous lui attribuerons un identifiant afin de pouvoir le référencer ultérieurement, puis nous spécifierons les coordonnées X et Y de départ, les valeurs de largeur et de hauteur et indiquerons que patternUnits
sont userSpaceOnUse
(cela définit le système de coordonnées, sur lequel vous pouvez en savoir plus sur MDN):
Une fois ces paramètres configurés, nous devons maintenant définir l’image à répéter. Créons un cercle de base:
Aucun motif ne sera encore visible, mais c'est parce que nous l'avons défini sans réellement appliquer à n'importe quoi. Changeons cela en l'appliquant à un
en dehors de notre
.
Surtout, vous verrez le remplir
attribut (qui peut généralement être une valeur de couleur ou un nom) pointe vers une URL contenant l'ID de notre modèle nouvellement défini: fill = "url (# polka-dots)"
.
Découvrez la démo ci-dessous:
Pour un exemple plus complexe, nous allons laisser le codage manuel et générer un motif à l'aide d'un outil tiers. Nous utiliserons heropatterns.com, un site Web permettant de sélectionner des modèles SVG prédéfinis, de modifier leurs couleurs et leurs attributs, puis de copier le code généré..
Je vais utiliser le motif de puzzle:
Au lieu de copier l'intégralité du CSS généré, je vais simplement copier le d = ""
paramètre, qui est le chemin réel tracé.
Le code svg que nous avons mis en place sera presque exactement le même que notre exemple précédent. L'identifiant dans le
sera différent bien sûr, et nous lui donnerons des dimensions légèrement différentes en fonction de ce qui est utilisé sur heropatterns.
Alors, où, dans notre dernier exemple, nous avons défini un
, cette fois on définit un
. Nous lui donnons une couleur de remplissage, puis nous collons le chemin que nous avons copié il y a un instant. Voici ce que cela nous donne:
Pros professionnels de carrelage CSS:
Cons Contre-mosaïque CSS:
Pros Pro modèle SVG:
Pattern Contre le motif SVG:
Jetez un coup d’œil à ces quatre ressources, qui peuvent être très utiles pour générer du code réel et des idées!
SVG est une technologie largement prise en charge, même dans les navigateurs plus anciens tels que IE9. Certaines fonctionnalités de SVG, cependant, ne bénéficient pas d’une telle prise en charge, et il n’ya vraiment pas beaucoup d’informations disponibles pour
propriétés (telles que patternUnits
, patternContentUnits
, patternTransform
etc.). Vous trouverez ci-dessous des liens utiles, y compris la documentation de Mozilla. Ils vous donneront une idée des informations actuellement disponibles..
D'après mes propres tests, je peux vous dire que les navigateurs modernes sous Windows et Mac OS traitaient tous très bien les modèles SVG. Même jusqu'à IE11.
Résumons les points clés de ce tutoriel.
defs
, assurez-vous qu'il a un ID, puis référencez cet ID dans la forme de votre choix.