{"id":1030,"date":"2011-11-16T21:22:31","date_gmt":"2011-11-16T21:22:31","guid":{"rendered":"https:\/\/simonertel.net\/blog\/?p=1030"},"modified":"2026-04-26T06:29:03","modified_gmt":"2026-04-26T06:29:03","slug":"logo-in-css","status":"publish","type":"post","link":"https:\/\/simonertel.net\/blog\/en\/logo-in-css\/","title":{"rendered":"Logo in CSS"},"content":{"rendered":"<p>I am currently working for <a title=\"Twenga, comparateur de prix\" href=\"http:\/\/twenga.fr\">Twenga<\/a>, a price comparison site.<\/p>\n<p>Like most companies, it has a strong visual identity, marked by a logo identifiable by a target, marked with an arrow.<br \/>\nFor fun and because it was trendy, I got drawn into recreating the logo in pure CSS, with no image or JavaScript!<\/p>\n<p>An exercise as tedious as it is fun and pointless, I tackled it, curious to see whether I would run into any unexpected difficulty or discovery!<\/p>\n<p>&nbsp;<\/p>\n<div id=\"logotw\"><span class=\"circle1\">The main blue outer circle.<\/span><span class=\"circle2\">On top of the blue circle, the first inner circle, white.<\/span><span class=\"circle3\">The small blue circle at the center of the target.<\/span><span class=\"circle4\">The nearly transparent white circle that creates the reflective effect for the whole target.<\/span><span class=\"arrow1\">The tip of the white arrow that stands out.<\/span><span class=\"arrow2\">White mask.<\/span><span class=\"arrow3\">The tip of the brown arrow.<\/span><span class=\"arrow4\">Left white part of the arrow, which goes over the outer circle.<\/span><span class=\"arrow5\">Left brown part of the arrow, which goes over the circle.<\/span><span class=\"arrow6\">Brown right \/ upper part of the arrow.<\/span><span class=\"arrow7\">Mask for the bottom of the previous part, with the same background as the blue circle.<\/span><span class=\"arrow8\">Mask of the mask (!) which makes it possible to soften the blue of the mask below in the same way as span.circle4 does.<\/span><\/div>\n<p><!--more--><\/p>\n<h3 class=\"ttl\">The HTML structure<\/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>The main blue outer circle.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"circle2\"&gt;<\/span>On top of the blue circle, the first inner circle, white.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"circle3\"&gt;<\/span>The small blue circle at the center of the target.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"circle4\"&gt;<\/span>The nearly transparent white circle that creates the reflective effect for the whole target.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow1\"&gt;<\/span>The tip of the white arrow that stands out.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow2\"&gt;<\/span>White mask.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow3\"&gt;<\/span>The tip of the brown arrow.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow4\"&gt;<\/span>Left white part of the arrow, which goes over the outer circle.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow5\"&gt;<\/span>Left brown part of the arrow, which goes over the circle.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow6\"&gt;<\/span>Brown right \/ upper part of the arrow.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow7\"&gt;<\/span>Mask for the bottom of the previous part, with the same background as the blue circle.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\t<span class=\"tag\">&lt;span class=\"arrow8\"&gt;<\/span>Mask of the mask (!) which makes it possible to soften the blue of the mask below in the same way as span.circle4 does.<span class=\"tag\">&lt;\/span&gt;<\/span>\n\n<span class=\"tag\">&lt;\/div&gt;<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>Nothing too difficult then, as you can see!<\/p>\n<h3 class=\"ttl\">The 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\/* Central element *\/\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\">The first results are encouraging:<\/h3>\n<ul>\n<li>First encouraging observation: apart from the radial gradient, all the latest browsers fully and consistently support the properties needed to get the job done.<\/li>\n<li>But with one caveat: many properties are still prefixed by their browser vendors (-o, -webkit, etc.). This multiplies the number of code lines, and therefore the bulk, of course. Fortunately, among them, some have on the contrary abandoned their cumbersome prefixes.<\/li>\n<li>The rendering is not yet perfect and lines appear here and there, between two borders! The worst student turns out to be&#8230; Opera!<\/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 on different browsers\" width=\"450\" height=\"973\" \/><p id=\"caption-attachment-99\" class=\"wp-caption-text\">logo Twenga en full CSS<\/p><\/div>\n<h3 class=\"ttl\">Some observations for setting up this kind of exercise:<\/h3>\n<ul>\n<li>As in painting, it is better to start with the background elements, and then \u00ab\u00a0build up\u00a0\u00bb toward the details as you go.<\/li>\n<li>Do not hesitate to split elements that seem to form a single block in order to achieve your goal! We are bending CSS away from its original uses, so it is normal to hack it together!<\/li>\n<li>Do not hesitate to use the background as an element that overlaps the others to draw a counter-shape. Of course, the logo then becomes dependent on the background, but it is a hack \ud83d\ude42<\/li>\n<li>Although it is more than likely that the techniques will vary a lot from one logo to another, techniques I have never had the chance to use turn out to be particularly useful here.<\/li>\n<li>For example, the crop property, generally underused, proves particularly useful. One even wonders why its parameters are so limited in the end (there is rect(), but not circle()?).<\/li>\n<\/ul>\n<p>As for a practical application, it would not occur to anyone; given the number of unnecessary and semantically empty DOM elements, CSS properties diverted from their original functions such as borders, it is immediately obvious that a logo as an image, or even in SVG, would seem much more appropriate.<\/p>\n<h3 class=\"ttl\">A few useful links (which those interested in integration will probably already know):<\/h3>\n<ul>\n<li><a title=\"css gradient generateur\" href=\"http:\/\/www.colorzilla.com\/gradient-editor\/\">Intuitive \u00ab\u00a0photohop-style\u00a0\u00bb color gradient generator<\/a><\/li>\n<li><a title=\"Explication des borders\" href=\"http:\/\/www.css3.info\/preview\/rounded-border\/\">Border radius, and their advanced uses (with links to the official documentation)<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I am currently working for Twenga, a price comparison site. Like most companies, it has a strong visual identity, marked by a logo identifiable by a target, marked with an arrow. For fun and because it was trendy, I got drawn into recreating the logo in pure CSS, with no image or JavaScript! An exercise [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-1030","post","type-post","status-publish","format-standard","hentry","category-non-classe-en"],"_links":{"self":[{"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts\/1030","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=1030"}],"version-history":[{"count":1,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts\/1030\/revisions"}],"predecessor-version":[{"id":1031,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/posts\/1030\/revisions\/1031"}],"wp:attachment":[{"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/media?parent=1030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/categories?post=1030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simonertel.net\/blog\/wp-json\/wp\/v2\/tags?post=1030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}