{"id":70,"date":"2011-11-16T20:44:07","date_gmt":"2011-11-16T20:44:07","guid":{"rendered":"http:\/\/simonertel.net\/blog\/?p=70"},"modified":"2026-04-25T21:21:28","modified_gmt":"2026-04-25T21:21:28","slug":"css","status":"publish","type":"post","link":"https:\/\/simonertel.net\/blog\/css\/","title":{"rendered":"Logo en CSS"},"content":{"rendered":"<p>Je travaille actuellement pour <a title=\"Twenga, comparateur de prix\" href=\"http:\/\/twenga.fr\">Twenga<\/a>, comparateur de prix.<\/p>\n<p>Comme la plupart des entreprises, elle poss\u00e8de une identit\u00e9 visuelle forte, marqu\u00e9e par un logo identifiable par une cible, marqu\u00e9e d&rsquo;une fl\u00e8che.<br \/>\nPour le fun et par mode, je me suis piqu\u00e9 au jeu de refaire le logo en CSS pur, sans image ni javascript !<\/p>\n<p>Exercice aussi laborieux qu&rsquo;amusant et inutile, je m&rsquo;y suis confront\u00e9, curieux de voir si j&rsquo;allais me confronter \u00e0 une quelconque difficult\u00e9 inattendue ou d\u00e9couverte !<\/p>\n<p>&nbsp;<\/p>\n<div id=\"logotw\"><span class=\"circle1\">Le cercle bleu principal, ext\u00e9rieur.<\/span><span class=\"circle2\">Par dessus le cercle bleu, le premier cercle interne, blanc.<\/span><span class=\"circle3\">Le petit cercle bleu du centre de la cible.<\/span><span class=\"circle4\">Le cercle blanc quasi transparent qui permet de donner l&rsquo;effet de reflet \u00e0 l&rsquo;ensemble de la cible.<\/span><span class=\"arrow1\">Pointe de la fl\u00e8che blanche qui se d\u00e9tache.<\/span><span class=\"arrow2\">Masque blanc.<\/span><span class=\"arrow3\">Pointe de la fl\u00e8che marron.<\/span><span class=\"arrow4\">Partie blanche gauche de la fl\u00e8che, qui passe par dessus le cercle ext\u00e9rieur.<\/span><span class=\"arrow5\">Partie marron gauche de la fl\u00e8che, qui passe par dessus le cercle.<\/span><span class=\"arrow6\">Partie droite \/ sup\u00e9rieure marron de la fl\u00e8che.<\/span><span class=\"arrow7\">Cache du bas de la partie pr\u00e9c\u00e9dente, du m\u00eame fond que le cercle bleu.<\/span><span class=\"arrow8\">Cache du cache (!) qui permet d&rsquo;att\u00e9nuer le bleu du cache du dessous de la m\u00eame mani\u00e8re que le fait le span.circle4.<\/span><\/div>\n<p><!--more--><\/p>\n<h3 class=\"ttl\">La structure HTML<\/h3>\n<pre>\n<span class=\"tag\">&lt;div id=\"logo\"&gt;<\/span>\n\n\t<span class=\"tag\">&lt;span class=\"circle1\"&gt;<\/span>Le cercle bleu principal, ext\u00e9rieur.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"circle2\"&gt;<\/span>Par dessus le cercle bleu, le premier cercle interne, blanc.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"circle3\"&gt;<\/span>Le petit cercle bleu du centre de la cible.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"circle4\"&gt;<\/span>Le cercle blanc quasi transparent qui permet de donner l'effet de reflet \u00e0 l'ensemble de la cible.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow1\"&gt;<\/span>Pointe de la fl\u00e8che blanche qui se d\u00e9tache.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow2\"&gt;<\/span>Masque blanc.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow3\"&gt;<\/span>Pointe de la fl\u00e8che marron.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow4\"&gt;<\/span>Partie blanche gauche de la fl\u00e8che, qui passe par dessus le cercle ext\u00e9rieur.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow5\"&gt;<\/span>Partie marron gauche de la fl\u00e8che, qui passe par dessus le cercle.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow6\"&gt;<\/span>Partie droite \/ sup\u00e9rieure marron de la fl\u00e8che.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow7\"&gt;<\/span>Cache du bas de la partie pr\u00e9c\u00e9dente, du m\u00eame fond que le cercle bleu.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow8\"&gt;<\/span>Cache du cache (!) qui permet d'att\u00e9nuer le bleu du cache du dessous de la m\u00eame mani\u00e8re que le fait le span.circle4.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\n<span class=\"tag\">&lt;\/div&gt;<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>Rien de bien sorcier donc, comme on peut le constater !<\/p>\n<h3 class=\"ttl\">Les CSS<\/h3>\n<pre><span class=\"className\">#logo{<\/span><span class=\"tag\">position:<\/span>relative<span class=\"tag\">;<\/span><span class=\"tag\">margin:<\/span>74px 0 0 80px<span class=\"tag\">;<\/span><span class=\"tag\">text-indent:<\/span>-9999px<span class=\"tag\">;<\/span><span class=\"className\">}<\/span>\n<span class=\"className\">#logo span{<\/span><span class=\"tag\">position:<\/span>absolute<span class=\"tag\">;<\/span><span class=\"tag\">display:<\/span>block<span class=\"tag\">;<\/span><span class=\"className\">}<\/span>\n\n<span class=\"className\">.circle1{<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(-2px,257px,276px,-6px)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">top:<\/span>77px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>21px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">width:<\/span>241px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>267px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border:<\/span>1px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-left-radius:<\/span>145px 160px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-right-radius:<\/span>110px 123px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-left-radius:<\/span>110px 120px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-right-radius:<\/span>144px 157px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-box-shadow:<\/span>0 0 0 100px #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>#01b0e7<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-moz-radial-gradient(center, ellipse cover,  #0072a1 1%, #01b0e7 60%) 51px 26px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-webkit-gradient(radial, 51px 26px, 0px, 51px 26px, 100%, color-stop(1%,#0072a1), color-stop(60%,#01b0e7))<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-webkit-radial-gradient(center, ellipse cover,  #0072a1 1%,#01b0e7 60%) 51px 26px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-o-radial-gradient(center, ellipse cover, #0072a1 1%, #01b0e7 60%) 51px 26px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-ms-radial-gradient(center, ellipse cover,  #0072a1 1%, #01b0e7 60%) 51px 26px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>radial-gradient(center, ellipse cover,  #0072a1 1%, #01b0e7 60%) 51px 26px<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.circle2{<\/span><span class=\"tag\">left:<\/span>54px<span class=\"tag\">;<\/span><span class=\"tag\">top:<\/span>131px<span class=\"tag\">;<\/span><span class=\"tag\">width:<\/span>145px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>145px<span class=\"tag\">;<\/span><span class=\"tag\">background:<\/span>#fff<span class=\"tag\">;<\/span><span class=\"tag\">border-radius:<\/span>73px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-moz-transform:<\/span>rotate(64deg) skew(-4deg, 15deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-transform:<\/span>rotate(64deg) skew(-4deg, 15px)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-o-transform:<\/span>rotate(64deg) skew(-4deg, 15px)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-ms-transform:<\/span> rotate(64deg) skew(-4deg, 15px)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n\/* Element Central *\/\n<span class=\"className\">.circle3{<\/span>\n\t<span class=\"tag\">top:<\/span>163px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>84px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">width:<\/span>80px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>75px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-radius:<\/span>50px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>#009dd2<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-moz-linear-gradient(-45deg, #00a0d7 0%, #19b3e6 100%)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-webkit-gradient(linear, left top, right bottom, color-stop(0%,#00a0d7), color-stop(100%,#19b3e6))<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-webkit-linear-gradient(-45deg, #00a0d7 0%,#19b3e6 100%)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-o-linear-gradient(-45deg, #00a0d7 0%,#19b3e6 100%)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>-ms-linear-gradient(-45deg, #00a0d7 0%,#19b3e6 100%)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>linear-gradient(-45deg, #00a0d7 0%,#19b3e6 100%)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-moz-transform:<\/span>rotate(72deg) skew(-4deg, 15deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-transform:<\/span>rotate(72deg) skew(-4deg, 15px)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-o-transform:<\/span>rotate(72deg) skew(-4deg, 15px)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-ms-transform:<\/span>rotate(72deg) skew(-4deg, 15px)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.circle4{<\/span>\n\t<span class=\"tag\">top:<\/span>-59px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>6px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">width:<\/span>260px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>260px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-radius:<\/span>130px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>#fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">opacity:<\/span>0.2<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(133px,247px,272px,30px)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow1{<\/span>\n\t<span class=\"tag\">border-top:<\/span>50px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-right:<\/span>42px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom:<\/span>41px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-left:<\/span>47px solid #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">height:<\/span>1px<span class=\"tag\">;<\/span><span class=\"tag\">width:<\/span>1px<span class=\"tag\">;<\/span><span class=\"tag\">top:<\/span>159px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>94px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-moz-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-o-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-ms-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow2{<\/span><span class=\"tag\">width:<\/span>30px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>60px<span class=\"tag\">;<\/span><span class=\"tag\">background:<\/span>#fff<span class=\"tag\">;<\/span><span class=\"tag\">top:<\/span>162px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>77px<span class=\"tag\">;<\/span><span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow3{<\/span>\n\t<span class=\"tag\">border-left:<\/span>34px solid #894436<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-right:<\/span>34px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top:<\/span>30px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom:<\/span>30px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">height:<\/span>1px<span class=\"tag\">;<\/span><span class=\"tag\">width:<\/span>1px<span class=\"tag\">;<\/span><span class=\"tag\">top:<\/span>175px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>93px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-moz-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-o-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-ms-transform:<\/span>rotate(21deg)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow4{<\/span>\n\t<span class=\"tag\">width:<\/span>168px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>121px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">top:<\/span>10px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>20px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border:<\/span>38px solid #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-left-radius:<\/span>45px 158px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-left-radius:<\/span>125px 121px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-right:<\/span>none<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-left-width:<\/span>46px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-width:<\/span>none<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-width:<\/span>none<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(0px,65px,272px,0)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow5{<\/span>\n\t<span class=\"tag\">width:<\/span>168px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>146px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">top:<\/span>0<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>28px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border:<\/span>20px solid #8b4438<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-left-radius:<\/span>141px 158px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-right-radius:<\/span>103px 137px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-right-radius:<\/span>102px 60px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-left-radius:<\/span>125px 121px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-right:<\/span>none<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-left-width:<\/span>28px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-width:<\/span>46px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-width:<\/span>10px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(0px,90px,272px,0)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n<span class=\"className\">.arrow6{<\/span>\n\t<span class=\"tag\">width:<\/span>118px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>146px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">top:<\/span>0<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>28px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">background:<\/span>transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border:<\/span>20px solid #8B4438<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-left-radius:<\/span>141px 158px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-right-radius:<\/span>134px 137px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-right-radius:<\/span>102px 60px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-left-radius:<\/span>125px 121px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-right-width:<\/span>50px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-left-width:<\/span>28px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-width:<\/span>46px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-width:<\/span>10px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(0px,200px,90px,64px)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow7{<\/span>\n\t<span class=\"tag\">background:<\/span>#01b0e7<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">top:<\/span>77px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>21px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">width:<\/span>241px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>267px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border:<\/span>1px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-left-radius:<\/span>145px 160px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-right-radius:<\/span>110px 123px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-left-radius:<\/span>110px 120px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-right-radius:<\/span>144px 157px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">box-shadow:<\/span>0 0 0 10px #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-box-shadow:<\/span>0 0 0 10px #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-ms-box-shadow:<\/span>0 0 0 10px #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(-15px,208px,32px,143px)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span>\n\n<span class=\"className\">.arrow8{<\/span>\n\t<span class=\"tag\">background:<\/span>#fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">top:<\/span>77px<span class=\"tag\">;<\/span><span class=\"tag\">left:<\/span>21px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">width:<\/span>241px<span class=\"tag\">;<\/span><span class=\"tag\">height:<\/span>267px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border:<\/span>1px solid transparent<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-left-radius:<\/span>145px 160px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-top-right-radius:<\/span>110px 123px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-left-radius:<\/span>110px 120px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">border-bottom-right-radius:<\/span>144px 157px<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">box-shadow:<\/span>0 0 0 10px #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">-webkit-box-shadow:<\/span>0 0 0 10px #fff<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">opacity:<\/span>0.2<span class=\"tag\">;<\/span>\n\t<span class=\"tag\">clip:<\/span>rect(-15px,208px,32px,143px)<span class=\"tag\">;<\/span>\n<span class=\"className\">}<\/span><\/pre>\n<p>&nbsp;<\/p>\n<h3 class=\"ttl\">Les premiers r\u00e9sultats sont encourageants :<\/h3>\n<ul>\n<li>Premier constat encourageant, mis \u00e0 part le d\u00e9grad\u00e9 radial, l&rsquo;ensemble des derniers navigateurs supportent parfaitement et de concert les propri\u00e9t\u00e9s n\u00e9cessaires pour parvenir \u00e0 ses fins.<\/li>\n<li>Mais avec un b\u00e9mol : beaucoup de propri\u00e9t\u00e9s sont encore pr\u00e9fix\u00e9es par leurs marques de navigateurs (-o, -webkit, etc.). Cela multiplie d&rsquo;autant les lignes de code, et donc la lourdeur, \u00e9videmment. Heureusement, dans le lot, certaines ont au contraire abandonn\u00e9 leurs pesants pr\u00e9fixes.<\/li>\n<li>Le rendu n&rsquo;est pas encore parfait et des traits apparaissent \u00e7\u00e0 et l\u00e0, entre deux border ! Le mauvais \u00e9l\u00e8ve se r\u00e9v\u00e8le \u00eatre&#8230; Op\u00e9ra !<\/li>\n<\/ul>\n<div id=\"attachment_99\" style=\"width: 460px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-99\" class=\"size-full wp-image-99\" title=\"r\u00e9sultats cross browser\" src=\"http:\/\/simonertel.net\/blog\/wp-content\/uploads\/2011\/11\/results.png\" alt=\"Twenga sur diff\u00e9rents navigateurs\" width=\"450\" height=\"973\" \/><p id=\"caption-attachment-99\" class=\"wp-caption-text\">logo Twenga en full CSS<\/p><\/div>\n<h3 class=\"ttl\">Des constats pour la mise en place de ce genre d&rsquo;exercices :<\/h3>\n<ul>\n<li>Comme en peinture, il vaut mieux partir des \u00e9l\u00e9ments de fond, pour \u00ab\u00a0monter\u00a0\u00bb vers les d\u00e9tails au fur et \u00e0 mesure.<\/li>\n<li>Ne pas h\u00e9siter \u00e0 fractionner des \u00e9l\u00e9ments qui semblent former un seul bloc pour parvenir \u00e0 ses fins ! On d\u00e9tourne les CSS de leurs usages premiers, donc c&rsquo;est normal de bricoler !<\/li>\n<li>Ne pas h\u00e9siter \u00e0 utiliser le fond comme un \u00e9l\u00e9ment qui se superpose sur les autres pour dessiner une contre-forme. \u00c9videmment, le logo devient d\u00e9pendant du fond, mais c&rsquo;est du bricolage \ud83d\ude42<\/li>\n<li>Bien qu&rsquo;il soit plus que probable que les techniques changent beaucoup d&rsquo;un logo \u00e0 l&rsquo;autre, des techniques que je n&rsquo;ai jamais eu l&rsquo;occasion d&rsquo;utiliser s&rsquo;av\u00e8rent ici particuli\u00e8rement utiles.<\/li>\n<li>Par exemple, la propri\u00e9t\u00e9 crop, g\u00e9n\u00e9ralement sous-employ\u00e9e, se r\u00e9v\u00e8le particuli\u00e8rement utile. On se demande m\u00eame pourquoi ses param\u00e8tres sont aussi pauvres finalement (il y a le rect(), mais pas le circle() ?).<\/li>\n<\/ul>\n<p>Quand \u00e0 une application concr\u00e8te, \u00e7a ne viendrait \u00e0 l&rsquo;id\u00e9e de personne ; Vu le nombre d&rsquo;\u00e9l\u00e9ments DOM inutiles et s\u00e9mantiquement nuls, des propri\u00e9t\u00e9s CSS d\u00e9tourn\u00e9es de leur fonctions originales comme les borders, il appara\u00eet instantan\u00e9ment qu&rsquo;un logo en image, voire en SVG para\u00eetrait tout de suite plus appropri\u00e9.<\/p>\n<h3 class=\"ttl\">Quelques liens utiles (que ceux que l&rsquo;int\u00e9gration int\u00e9ressent conna\u00eetront plus que probablement) :<\/h3>\n<ul>\n<li><a title=\"css gradient generateur\" href=\"http:\/\/www.colorzilla.com\/gradient-editor\/\">G\u00e9n\u00e9rateur de d\u00e9grad\u00e9 de couleurs intuitif \u00ab\u00a0a la photohop\u00a0\u00bb<\/a><\/li>\n<li><a title=\"Explication des borders\" href=\"http:\/\/www.css3.info\/preview\/rounded-border\/\">Les borders radius, et leur applications pouss\u00e9es (avec liens vers la documentation officielle)<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Je travaille actuellement pour Twenga, comparateur de prix. Comme la plupart des entreprises, elle poss\u00e8de une identit\u00e9 visuelle forte, marqu\u00e9e par un logo identifiable par une cible, marqu\u00e9e d&rsquo;une fl\u00e8che. Pour le fun et par mode, je me suis piqu\u00e9 au jeu de refaire le logo en CSS pur, sans image ni javascript ! Exercice [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-boulot"],"_links":{"self":[{"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":44,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":1029,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts\/70\/revisions\/1029"}],"wp:attachment":[{"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/media?parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/categories?post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/tags?post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}