Vincent De Oliveira · @iamvdo
Des icones ?
yahoo.com (20 décembre 1996), fnac.com (11 mai 2000), amazon.com (9 juin 2000), System 1 Mac (1984)
Beaucoup d'icones
SPRITES FTW
Sprite utilisé par Google Documents
Retina, HD
Ecran faible densité vs. écran haute densité
Création d'images adaptées: kiwi.png
, kiwi@2x.png
, kiwi@2.6x.png
, etc...
Icones par Freepik
Ce n'est pas viable
Surtout pour des sprites !
@font-face
@font-face {
font-family: myIcons; src: url(myIcons.woff);
}
.element { font-family: myIcons; }
Concrètement, c'est un hack!
<svg viewBox="0 0 100 100">
<circle cx="50" cy="50" r="50" fill="yellow" />
<rect width="50" height="50" x="50" y="50" fill="blue" />
</svg>
SVG: Scalable Vector Graphics
Scalable.
Vector.
Graphics!!!
Icon-font | SVG |
---|---|
C'est un hack | C'est son rôle |
WIN |
KTHXBYE
Bon, allons plus loin…
Icon-font | SVG |
---|---|
|
|
Icon-font | SVG |
---|---|
|
|
Créer un SVG avec AI, c’est comme créer du HTML avec Dreamweaver
Icon-font | SVG |
---|---|
|
|
Icon-font | SVG |
---|---|
|
|
Icon-font | SVG |
---|---|
|
|
Zone de test
|
|
Icon-font | SVG |
---|---|
|
|
|
|
En haut: police d'icones, en bas: SVG
Images grunticon.com
Icon-font | SVG |
---|---|
|
|
<defs>
et <use>
<svg>
<defs>
<circle id="forme" cx="50" cy="50" r="10" />
</defs>
<use xlink:href="#forme" />
<use xlink:href="#forme" style="..." />
</svg>
<symbol>
<svg>
<defs>
<circle id="forme" cx="50" cy="50" r="10" />
</defs>
<symbol id="icon" viewBox="0 0 100 100">
<use xlink:href="#forme" style="..." />
</symbol>
<use xlink:href="#icon" style="..." />
</svg>
Plusieurs <symbol>
==
Sprites SVG
Icon-font | SVG |
---|---|
|
|
Icones fontawesome.com
TEXTE != FORME
Personne n'aime modifier le line-height
Icon-font | SVG |
---|---|
|
|
StopWatch'App
Save time. Now.
Cliquez pour recevoir un mail
Icon-font | SVG |
---|---|
|
|
Propriétés custom (variables) supportées par Firefox
<svg>
<style>
.symbol--low { --remaining: 80; }
</style>
<use xlink:href="#symbol" class="symbol--low" />
</svg>
<svg>
<symbol id="symbol" clip-path="url(#clip)">
<style>
.remaining {
fill: hsl(var(--remaining), 100%, 50%);
transform: translateY(calc(var(--remaining) * 1px));
}
</style>
<path class="remaining" d="..." />
</symbol>
</svg>
Icon-font | SVG |
---|---|
|
|
Icone SVG entièrement créée via JavaScript
Icon-font | SVG |
---|---|
|
|
Icones useiconic.com
Vincent De Oliveira · @iamvdo