{"id":1221,"date":"2011-05-18T09:24:36","date_gmt":"2011-05-18T08:24:36","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog\/?p=1221"},"modified":"2015-01-18T16:28:53","modified_gmt":"2015-01-18T15:28:53","slug":"quelques-idees-danimations-simples-en-css3","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/quelques-idees-danimations-simples-en-css3","title":{"rendered":"Quelques id\u00e9es d&rsquo;animations simples en CSS3 avec la propri\u00e9t\u00e9 transition"},"content":{"rendered":"<p>Depuis l&rsquo;arriv\u00e9e des animations en <abbr>CSS<\/abbr> sur les diff\u00e9rents navigateurs du march\u00e9,  de nouvelles possibilit\u00e9s sont offertes aux webdesigners.<br \/>\nEn comptant certaines propri\u00e9t\u00e9s de mise en style d\u00e9j\u00e0 reconnues par la plupart d&rsquo;entre eux depuis des mois, il est facile d&rsquo;imaginer<!--more--><br \/>\n de petites animations pour agr\u00e9menter vos sites et offrir une meilleure exp\u00e9rience utilisateur \u00e0 vos visiteurs.<br \/>\nVous trouverez sur cette page de <a href=\"\/trytotry\/css3-soft-animations\/\" title=\"D\u00e9monstration d'animations en CSS3\" hreflang=\"en_US\">d\u00e9monstration d&rsquo;animations en <abbr>CSS<\/abbr>3<\/a>, quelques exemples d&rsquo;animations que je vais vous d\u00e9crire ici, mais il n&rsquo;y a rien de bien sorcier, il suffit de trouver l&rsquo;id\u00e9e.<\/p>\n<h2>Les animations en CSS3<\/h2>\n<h3>La base<\/h3>\n<p>Dans un premier temps, lorsque vous devez animer un \u00e9l\u00e9ment, il faut pr\u00e9ciser dans quelles conditions (les param\u00e8tres) gr\u00e2ce \u00e0 la propri\u00e9t\u00e9 raccourcie <code>transition<\/code> de <abbr>CSS<\/abbr>3.<\/p>\n<pre class=\"code\"><code class=\"css\">.animated {\r\ntransition: all 0.7s ease-out;\r\n}<\/code><\/pre>\n<p>Avec cette d\u00e9claration vous pr\u00e9voyez une animation sur <code>all<\/code> pour une dur\u00e9e d&rsquo;animation de <code>0,7<\/code> secondes sur un effet <code>ease-out<\/code>.<br \/>\nL&rsquo;effet est optionnel, les deux autres param\u00e8tres sont indispensables et peuvent \u00eatre diff\u00e9rents, exemple :<\/p>\n<pre class=\"code\"><code class=\"css\">.animated {\r\ntransition: width 700ms;\r\n}<\/code><\/pre>\n<p>Ici nous pr\u00e9voyons de n&rsquo;animer que la largeur de l&rsquo;\u00e9l\u00e9ment sur une dur\u00e9e d\u00e9finie en millisecondes.<\/p>\n<p>Voici la structure de base que j&rsquo;utilise :<\/p>\n<pre class=\"code\"><code class=\"html\">&lt;ul class=\"exemple ex1\"&gt;\r\n\t&lt;li&gt;&lt;a href=\"#\"&gt;Block 1&lt;\/a&gt;&lt;\/li&gt;\r\n\t&lt;li&gt;&lt;a href=\"#\"&gt;Block 2&lt;\/a&gt;&lt;\/li&gt;\r\n\t&lt;li&gt;&lt;a href=\"#\"&gt;Block 3&lt;\/a&gt;&lt;\/li&gt;\r\n&lt;\/ul&gt;<\/code><\/pre>\n<p>J&rsquo;utilise la classe <code>exN<\/code> pour une question de pratique dans la d\u00e9monstration \ud83d\ude09<\/p>\n<p>Concernant l&rsquo;aspect des \u00e9l\u00e9ments de la d\u00e9monstration, voici le code, mais libre \u00e0 vous d&rsquo;utiliser celui qui vous convient le mieux :<\/p>\n<pre class=\"code\"><code class=\"css\">li {\r\n\tdisplay: inline;\r\n}\r\nli a {\r\n\tdisplay: inline-block;\r\n\theight: 85px;\r\n\twidth: 75px;\r\n\ttext-align: center;\r\n\tbackground: white;\r\n\tpadding: 5px 10px;\r\n\tmargin: 0 20px;\r\n\tcolor: #615334;\r\n\ttext-decoration: none;\r\n\tline-height: 5.6em;\r\n\tbackground: -moz-linear-gradient(center bottom , #DACDB1 11%, #F0E8D8 56%) repeat scroll 0 0 #F0E8D8;\r\n\tbackground: -webkit-gradient(linear,left bottom,left top,color-stop(0.3, #DACDB1),color-stop(0.65, #F0E8D8));\r\n\r\n\t-moz-box-shadow: 0 0 65px #CDBE9F inset, 0 0 20px #BEAE8C inset, 0 0 3px #816F47;\r\n\t-webkit-box-shadow: 0 0 65px #CDBE9F inset, 0 0 20px #BEAE8C inset, 0 0 3px #816F47;\r\n\tbox-shadow: 0 0 65px #CDBE9F inset, 0 0 20px #BEAE8C inset, 0 0 3px #816F47;\r\n\t-moz-transition: all 0.3s ease-out;\r\n\t-webkit-transition: all 0.3s ease-out;\r\n\ttransition: all 0.3s ease-out;\r\n}\r\n<\/code><\/pre>\n<p>C&rsquo;est le code utilis\u00e9 pour tous les exemples qui vont suivre ensuite, avec quelque variantes de temps en temps.<br \/>\nJe pr\u00e9cise ici les propri\u00e9t\u00e9s pr\u00e9fix\u00e9es (-moz, -webkit), mais pour all\u00e9ger les prochains codes, je me contenterai de celle sans pr\u00e9fixe, \u00e0 vous de les rajouter.<\/p>\n<h3>L&rsquo;effet zoom<\/h3>\n<p>L&rsquo;effet zoom est le plus simple \u00e0 r\u00e9aliser.<br \/>\nSur la version propos\u00e9e par la d\u00e9monstration, j&rsquo;ai cors\u00e9 un peu la chose en offrant une ombre \u00e0 mon \u00e9l\u00e9ment.<\/p>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-zoom.jpg\" alt=\"\" style=\"border:0;\" title=\"\" width=\"420\" height=\"166\" class=\"aligncenter size-full wp-image-1234\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-zoom.jpg 420w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-zoom-300x118.jpg 300w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/p>\n<p>Cette ombre port\u00e9e va elle aussi subir des modifications pour rendre l&rsquo;animation r\u00e9aliste.<\/p>\n<pre class=\"code\"><code class=\"css\">.ex1 a:hover,\r\n.ex1 a:focus {\r\n\ttransform: scale(1.2);\r\n\tbox-shadow: 0 0 65px #CDBE9F inset, 0 0 20px #BEAE8C inset, 0 0 15px #b6a684;\r\n}<\/code><\/pre>\n<p>Nous utilisons simplement la propri\u00e9t\u00e9 <code>transform<\/code> pour effectuer un zoom (<code>scale<\/code>). La valeur renseign\u00e9e est un coefficient multiplicateur.<br \/>\nL&rsquo;ombre port\u00e9e est diffus\u00e9e davantage et l\u00e9g\u00e8rement \u00e9claircie.<\/p>\n<h3>L&rsquo;effet de d\u00e9collage<\/h3>\n<p>Cet effet met en avant une difficult\u00e9 certaine : l&rsquo;ombre et son animation.<\/p>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-envol-takeoff.jpg\" alt=\"\" title=\"\" style=\"border:0;\" width=\"401\" height=\"134\" class=\"aligncenter size-full wp-image-1236\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-envol-takeoff.jpg 401w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-envol-takeoff-300x100.jpg 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/p>\n<h4>La base<\/h4>\n<p>Bien, dans un premier temps on va l\u00e9g\u00e8rement modifier notre base :<\/p>\n<pre class=\"code\"><code class=\"css\">.ex2 a {\r\n\tposition: relative;\r\n\ttop: 0;\r\n\tbox-shadow: 0 0 65px #CDBE9F inset, 0 0 20px #BEAE8C inset, 0 0 2px #816F47;\r\n\ttransition: all 0.3s ease-in;\r\n}<\/code><\/pre>\n<p>Nous avons ici une ombre un peu moins importante, et un effet d&rsquo;acc\u00e9l\u00e9ration dans l&rsquo;animation.<br \/>\nDe plus nous pla\u00e7ons notre \u00e9l\u00e9ment en position <code>relative<\/code> et d\u00e9clarons un <code>top<\/code> \u00e0 <code>0<\/code> pour pr\u00e9voir l&rsquo;animation \u00e0 venir.<\/p>\n<h4>Cr\u00e9ation de l&rsquo;ombre<\/h4>\n<p>Pour ceux qui ont suivi mon <a href=\"https:\/\/www.creativejuiz.fr\/blog\/les-tutoriels\/ombre-avancees-avec-css3-et-box-shadow\">tutoriel sur les ombres avanc\u00e9es en <abbr>CSS<\/abbr>3<\/a>, vous connaissez d\u00e9j\u00e0 la technique. Pour les autres, si cet effet qui va suivre vous int\u00e9resse, je vous invite grandement \u00e0 aller lire ce tutoriel.<\/p>\n<pre class=\"code\"><code class=\"css\">.ex2 a:before {\r\n\tcontent: ' ';\r\n\tposition: absolute;\r\n\tbottom: -1px; left: 0;\r\n\twidth: 100%;\r\n\theight: 6px;\r\n\tbackground: #9b885e;\r\n\tbox-shadow: 0 0 5px #9b885e,0 0 5px #9b885e,0 0 5px #9b885e;\r\n\tborder-radius: 90px\/20px;\r\n\tz-index: -1;\r\n\ttransition: all 0.3s ease-in;\r\n}<\/code><\/pre>\n<p>Gr\u00e2ce au pseudo-\u00e9l\u00e9ment <code>:before<\/code>, nous construisons notre ombre port\u00e9e. La r\u00e9p\u00e9tition de la m\u00eame <code>box-shadow<\/code> me permet d&rsquo;intensifier l&rsquo;ombre pour cr\u00e9er un flou.<br \/>\nEnfin, nous pr\u00e9voyons aussi une transition sur cet \u00e9l\u00e9ment, une transition de m\u00eames caract\u00e9ristiques que pr\u00e9c\u00e9demment.<\/p>\n<h4>L&rsquo;animation<\/h4>\n<p>Dans un premier temps, super simple : on d\u00e9cale en hauteur le bloc :<\/p>\n<pre class=\"code\"><code class=\"css\">.ex2 a:hover,\r\n.ex2 a:focus {\r\n\ttop: -10px;\r\n}<\/code><\/pre>\n<p>Ensuite, plus compliqu\u00e9 : nous allons d\u00e9caler inversement l&rsquo;ombre, l&rsquo;\u00e9largir et la diminuer en hauteur l\u00e9g\u00e8rement, puis modifier sa couleur vers une plus claire.<\/p>\n<pre class=\"code\"><code class=\"css\">.ex2 a:hover:before,\r\n.ex2 a:focus:before {\r\n\tbottom: -11px;\r\n\tleft: -3px;\r\n\twidth: 106%;\r\n\theight: 4px;\r\n\tbackground: #bcae8f;\r\n\tbox-shadow: 0 0 9px #bcae8f,0 0 9px #bcae8f,0 0 9px #bcae8f,0 0 9px #bcae8f,0 0 9px #bcae8f;\r\n}<\/code><\/pre>\n<p>Et voil\u00e0, notre effet est pr\u00eat.<br \/>\nSuivant !<\/p>\n<h3>L&rsquo;effet de rotation<\/h3>\n<p>Pour \u00e9viter de nous retrouver avec un texte qui tourne, je me suis d\u00e9cid\u00e9 \u00e0 faire tourner un \u00e9l\u00e9ment devant le texte, plus discret et moins lourd, quand m\u00eame.<\/p>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-rotation-arrow.jpg\" alt=\"\" title=\"\" style=\"border:0\" width=\"392\" height=\"62\" class=\"aligncenter size-full wp-image-1239\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-rotation-arrow.jpg 392w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/demo-css3-rotation-arrow-300x47.jpg 300w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/p>\n<p>Mais comme je n&rsquo;aime pas les choses simples, la fl\u00e8che est construite avec des <code>span<\/code> et du <abbr>CSS<\/abbr>&#8230;<br \/>\nLa code <abbr>HTML<\/abbr> d&rsquo;un \u00e9l\u00e9ment de liste sur les trois :<\/p>\n<pre class=\"code\"><code class=\"html\">&lt;li&gt;\r\n\t&lt;a href=\"#\"&gt;\r\n\t\t&lt;span class=\"arrow\"&gt;\r\n\t\t\t&lt;span class=\"mask1\"&gt;&lt;\/span&gt;\r\n\t\t\t&lt;span class=\"mask2\"&gt;&lt;\/span&gt;\r\n\t\t\t&lt;span class=\"mask3\"&gt;&lt;\/span&gt;\r\n\t\t&lt;\/span&gt;\r\n\t\tBlock 1\r\n\t&lt;\/a&gt;\r\n&lt;\/li&gt;<\/code><\/pre>\n<h4>La fl\u00e8che, en CSS<\/h4>\n<p>A partir de notre <code>span.arrow<\/code> compos\u00e9 de trois autres <code>span<\/code>, nous pouvons cr\u00e9er une fl\u00e8che.<br \/>\nLes limites de cette technique : le temps, le nombre d&rsquo;\u00e9l\u00e9ment, le besoin d&rsquo;avoir une couleur plut\u00f4t unie en fond d&rsquo;\u00e9l\u00e9ment.<\/p>\n<pre class=\"code\"><code class=\"css\">.arrow {\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\tdisplay: inline-block;\r\n\twidth: 11px;\r\n\theight: 11px;\r\n\tmargin-right: 8px;\r\n\tmargin-left: 0px;\r\n\tbackground: #6a8b9a;\r\n\tbackground: -moz-linear-gradient(90deg,#225872,#225872,#6a8b9a,#6a8b9a);\r\n\tbackground-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #6a8b9a), color-stop(0.50, #6a8b9a), color-stop(0.51, #225872), color-stop(1.00, #225872));\r\n\tbackground-repeat: no-repeat;\r\n}<\/code><\/pre>\n<p>Nous avons un carr\u00e9 avec un d\u00e9grad\u00e9 en fond.<br \/>\nMaintenant nous allons cacher des parties de ce carr\u00e9 pour obtenir une fl\u00e8che :<\/p>\n<pre class=\"code\"><code class=\"css\">.arrow span {\r\n\tposition: absolute;\r\n\twidth: 8px;\r\n\theight: 9px;\r\n\tbackground: #d4c7ab;\r\n\t\/*rotation des masques pour cr\u00e9er l'effet de fl\u00e8che*\/\r\n\ttransform: rotate(45deg);\r\n}\r\n\/*r\u00e9glage au cas par cas*\/\r\n.arrow .mask1 { top: 1px; left: -5px; }\r\n.arrow .mask2 { top: -5px; right: -4px; background: #d7caaf; }\r\n.arrow .mask3 { right: -4px; bottom: -5px; height: 10px; background: #d3c7a9; }<\/code><\/pre>\n<h4>L&rsquo;animation<\/h4>\n<p>Une petite retouche de hauteur, et on s&rsquo;occupe de l&rsquo;animation :<\/p>\n<pre class=\"code\"><code class=\"css\">\/*petit r\u00e9glage de hauteur pour le lien*\/\r\n.ex3 a { height: 30px; line-height: 25px; }\r\n\/*style de l'animation*\/\r\n.arrow {\r\n\ttransition: all 0.7s;\r\n}\r\n.ex3 a:hover .arrow,\r\n.ex3 a:focus .arrow {\r\n\ttransform: rotate(360deg);\r\n}\r\n\/*vachement compliqu\u00e9, j'avoue...*\/<\/code><\/pre>\n<p>Je vous passe l&rsquo;explication&#8230; ?<\/p>\n<p>Vous l&rsquo;aurez compris, sans l&rsquo;\u00e9tape de cr\u00e9ation de la fl\u00e8che, avec un simple <abbr>PNG<\/abbr> \u00e0 la place par exemple, notre code est super simple.<\/p>\n<h3>L\u00e9gende coulissante<\/h3>\n<p>Je n&rsquo;ai pas trouv\u00e9 d&rsquo;autre nom, la version anglaise (<em lang=\"en_US\">Sliding Legend<\/em>) a plus de classe quand m\u00eame !<\/p>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/css3-animation-legend-slide.jpg\" alt=\"\" style=\"border:0\" title=\"\" width=\"550\" height=\"120\" class=\"aligncenter size-full wp-image-1244\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/css3-animation-legend-slide.jpg 550w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2011\/05\/css3-animation-legend-slide-300x65.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>Bref, passons !<\/p>\n<h4>Le code <abbr>HTML<\/abbr><\/h4>\n<p>Le code <abbr>HTML<\/abbr> est largement modifi\u00e9 pour cet effet, il s&rsquo;agit toujours d&rsquo;une liste, dont voici un \u00e9l\u00e9ment type :<\/p>\n<pre class=\"code\"><code class=\"html\">&lt;li&gt;\r\n\t&lt;figure tabindex=\"0\"&gt;\r\n\t\t&lt;img alt=\"\" src=\"img\/img1.jpg\" width=\"200\" height=\"125\" \/&gt;\r\n\t\t&lt;figcaption&gt;Lorem ipsum dolor&lt;span&gt;sit amet, consectetuer adipiscing&lt;\/span&gt;&lt;\/figcaption&gt;\r\n\t&lt;\/figure&gt;\r\n&lt;\/li&gt;<\/code><\/pre>\n<p>Il s&rsquo;agit d&rsquo;\u00e9l\u00e9ments <abbr>HTML<\/abbr>5, si vous n&rsquo;\u00eates pas familiers avec ces \u00e9l\u00e9ments vous pouvez tr\u00e8s bien les remplacer par des <code>div<\/code> avec les classes correspondantes (<code>.figure<\/code>, <code>.figcaption<\/code>).<br \/>\nLe <code>tabindex<\/code> nous permet de rendre <abbr title=\"Autoriser le focus sur un \u00e9l\u00e9ment\"><em>focusable<\/em><\/abbr> la <code>figure<\/code>, et donc d&rsquo;agir dessus avec <abbr>CSS<\/abbr> tout comme on le fait dans la condition <code>:hover<\/code>. Si votre <code>figure<\/code> se trouve dans un lien, le probl\u00e8me de <code>tabindex<\/code> ne se pose pas.<\/p>\n<h4>La base <abbr>CSS<\/abbr><\/h4>\n<p>Nous devons aussi modifier la base <abbr>CSS<\/abbr> :<\/p>\n<pre class=\"code\"><code class=\"css\">.ex4 li {\r\n\tdisplay: inline-block;\r\n\twidth: 200px;\r\n\tmargin: 0 10px;\r\n\tpadding: 5px;\r\n\tbox-shadow: 0 0 65px #CDBE9F inset, 0 0 20px #BEAE8C inset, 0 0 3px #816F47;\r\n}\r\n.ex4 figure {\r\n\tposition: relative;\r\n\tdisplay: inline-block;\r\n\twidth: 200px;\r\n\theight: 125px;\r\n\tmargin: 0;\r\n\ttext-align: center;\r\n\toverflow: hidden;\r\n}\r\n.ex4 figcaption {\r\n\tposition: absolute;\r\n\tleft: 0; bottom: -1em;\r\n\twidth: 200px;\r\n\theight: 2.6em;\r\n\tline-height: 1.5em;\r\n\ttext-align: center;\r\n\tcolor: #fff;\r\n\tbackground: rgba(0,0,0,0.6);\r\n\toverflow: hidden;\r\n\t\/*pr\u00e9paration de la transition*\/\r\n\ttransition: all 0.7s;\r\n}\r\n.ex4 figcaption span { display: block; }<\/code><\/pre>\n<p>Le conteneur est positionn\u00e9 en <code>relative<\/code> et la l\u00e9gende en <code>absolute<\/code> afin de permettre un positionnement ais\u00e9 de la premi\u00e8re ligne de la l\u00e9gende. Le contenu d\u00e9bordant est cach\u00e9.<br \/>\nPour le reste, c&rsquo;est du style (quasiment).<\/p>\n<h4>L&rsquo;animation<\/h4>\n<p>Voici les d\u00e9tails de l&rsquo;animation : on affiche le reste du texte (estim\u00e9 \u00e0 une seule et unique ligne) et on noirci davantage le fond en transparence de la l\u00e9gende.<\/p>\n<pre class=\"code\"><code class=\"css\">.ex4 figure:hover figcaption,\r\n.ex4 figure:focus figcaption {\r\n\theight: 4.2em;\r\n\tbackground: rgba(0,0,0,0.8);\r\n}<\/code><\/pre>\n<h2>Conclusion&#8230;<\/h2>\n<p>Je ne sais pas s&rsquo;il doit y avoir une conclusion, mais globalement on peut retenir que :<\/p>\n<ul>\n<li>d\u00e9finir <code>all<\/code> dans la propri\u00e9t\u00e9 <code>transition<\/code> permet une meilleure facilit\u00e9 de maintenance, mais c&rsquo;est peut-\u00eatre plus gourmand en ressources<\/li>\n<li>on peut faire des animations sur la couleur (texte et fond), sur l&rsquo;opacit\u00e9, sur la hauteur de ligne, sur les dimensions, sur les marges ext\u00e9rieures et int\u00e9rieures, sur les ombres port\u00e9es, etc.<\/li>\n<li><abbr>CSS3<\/abbr> c&rsquo;est fun, au pire en solution de replis pour les vieux machins \u00e7a ne s&rsquo;anime pas<\/li>\n<li>il faut proposer les animations en surcouche de styles de base solides (d&rsquo;ailleurs, pr\u00e9f\u00e9rez un <code>display:block<\/code> et un <code>float:left<\/code> \u00e0 un <code>inline-block<\/code> sur les <code>li<\/code>)<\/li>\n<\/ul>\n<p class=\"center\"><a href=\"\/trytotry\/css3-soft-animations\/\" class=\"demonstration\" title=\"D\u00e9monstration d'animations en CSS3\" hreflang=\"en\">Voir la d\u00e9monstration<\/a><\/p>\n<p>Enjoy !<br \/>\nEt n&rsquo;h\u00e9sitez pas \u00e0 nous pr\u00e9senter vos essais !<\/p>\n<div class=\"sources\">\n<h2>Liens utiles<\/h2>\n<ul>\n<li><a href=\"http:\/\/designshack.co.uk\/articles\/css\/5-cool-css-hover-effects-you-can-copy-and-paste\" lang=\"en_US\" hreflang=\"en_US\" target=\"_blank\" title=\"Read the Designshack article (new windows)\">5 cool CSS hover effects you can copy and paste<\/a><\/li>\n<li><a href=\"http:\/\/www.w3.org\/TR\/2009\/WD-css3-transitions-20090320\/#the-transition-shorthand-property-\" title=\"La documentation du W3C sur Transition (nouvelle fen\u00eatre)\" hreflang=\"en_US\" target=\"_blank\">Propri\u00e9t\u00e9 raccourcie <code>transition<\/code> &#8211; W3C<\/a><\/li>\n<li><a href=\"http:\/\/prefixmycss.com\/\" title=\"Un outil pour pr\u00e9fixer vos d\u00e9clarations en CSS (nouvelle fen\u00eatre)\" target=\"_blank\">PrefixMyCSS<\/a><\/li>\n<li><a href=\"http:\/\/www.adrianpelletier.com\/2009\/05\/31\/create-a-realistic-hover-effect-with-jquery-ui\/\" title=\"Animations sympa en jQuery (nouvelle fen\u00eatre)\" target=\"_blank\">Animations sympa en jQuery<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Depuis l&rsquo;arriv\u00e9e des animations en CSS sur les diff\u00e9rents navigateurs du march\u00e9, de nouvelles possibilit\u00e9s sont offertes aux webdesigners. En comptant certaines propri\u00e9t\u00e9s de mise en style d\u00e9j\u00e0 reconnues par la plupart d&rsquo;entre eux depuis des mois, il est facile d&rsquo;imaginer<\/p>\n","protected":false},"author":4,"featured_media":1247,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[17,50,9],"tags":[120,428,121,4],"coauthors":[597],"class_list":["post-1221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css-css3","category-ressources-telechargements","category-tutoriels","tag-animation","tag-css3","tag-transition","tag-webdesign"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/1221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=1221"}],"version-history":[{"count":0,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/1221\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/1247"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=1221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=1221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=1221"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=1221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}