Placed in: Home arrow Programming arrow CSS arrow Recreating the IBM Lotusphere logo in CSS3
Recreating the IBM Lotusphere logo in CSS3

A while ago, I visited the IBM Lotusphere 2012 conference page. One thing that I noticed immediately, was their beautiful logo on the background. Although it's design is very minimal and simple, the logo just looks very good.

I wanted to recreate this logo using only HTML and CSS3. The main key to this effect is using the border-radius and overflow:hidden properties. I've created two versions: One that uses extra HTML elements, the second one uses CSS3 pseudo elements.

IBM Lotusphere logo in CSS3

Check out the demo to see how the logo looks like in your browser. Keep in mind, no images are used at all. Feel free to dig in the source code as well and maybe learn a couple of things.

Demo IBM Lotusphere logo in CSS3   Download IBM Lotusphere logo in CSS3

Let's take a look under the hood to see how you can create something like this yourself. It's actually easier that it might look!

The grid

The first thing you'll need to see is that the logo is actually painted on a grid. I've used the following image as a reference for myself to see what shapes are included.

The grid

Now it'll become a lot easier for us. Each grid block has the size of 76x76px. We'll simply convert this to some HTML and CSS.

HTML

 
<div class="block"></div>
 
.block { width:76px; height:76px; background-color:#fff;
    float:left; overflow:hidden; }

CSS

Like I said before, one of the key features is the overflow:hidden property from this box. This way, we can place our shapes inside the boxes and move them around, without going outside it's boundaries. The grid also gives us another great thing: We can identify the blocks by it's position using the X and Y coordinates. For example, I used ID's like this: x10y02 (10th column, 2nd row).

The shapes

Now, when you look closely in the grid, you'll find it only consists of a couple of different shapes. They are all the same, although some are rotated and have a different colour. Let's take a look at how they look like.

Shapes

The dot and the double full circle are only used once, the other two are used more. Let's see how you can create these shapes!

HTML

 
<div id="xy1" class="block">
    <div class="circle topRight"></div>
</div>
<div id="xy2" class="block">
    <div class="fullCircle"></div>
</div>
<div id="xy3" class="block">
    <div class="dot"></div>
</div>
<div id="xy4" class="block">
    <div class="fullCircle bottomRight"></div>
    <div class="fullCircle topRight overlay"></div>
</div>
 
/* General properties */
.circle { width:112px; height:112px;
    border-radius:50%; border-width:20px; border-style:solid; }
.fullCircle { width:152px; height:152px;
    border-radius:50%; }
.dot { width:15px; height:15px;
    border-radius:50%; }
 
/* Positioning */
.topRight { margin-left:-76px; }
.bottomRight { margin-left:-76px; margin-top:-76px; }
.bottomLeft { margin-top:-76px; }
 
/* Specific properties */
#xy1 .circle { border-color:#8ec642; }
 
#xy2 .fullCircle { background-color:#ea4295; }
 
#xy3 .dot { background-color:#82d2f5; margin-left:45px; margin-top:45px; }
 
#xy4 .fullCircle { background-color:#face12; }
#xy4 .overlay { background-color:#1183ae; position:relative; top:-76px; opacity:0.6; }

CSS

By using the topRight, bottomRight and bottomLeft classes, we can "rotate" the shapes. Using the specific properties, we can give the elements some colour. As you can see, the circle uses an border, while the full circle has just a background-color set. Now that you know this, you can dive in the code to see how all other specific blocks are created!

Pseudo elements

Although this example already uses way too many HTML elements, I wanted to reduce this number by using CSS3 pseudo elements. It allows us to create elements :before or :after the specific element. This was the HTML and CSS which was left (where the "p" prefix stands for Pseudo):

HTML

 
<div id="pxy1" class="block pCircle pTopRight"></div>
<div id="pxy2" class="block pFullCircle"></div>
<div id="pxy2" class="block pDot"></div>
<div id="px4" class="block"></div>
 
/* General properties */
.pCircle:after { content:''; display:block; width:112px; height:112px;
    border-radius:50%; border-width:20px; border-style:solid; }
.pFullCircle:after { content:''; display:block; width:152px; height:152px;
    border-radius:50%; }
.pDot:after { content:''; display:block; width:15px; height:15px;
    border-radius:50%; }
 
/* Positioning */
.pTopRight:after { margin-left:-76px; }
.pBottomRight:after { margin-left:-76px; margin-top:-76px; }
.pBottomLeft:after { margin-top:-76px; }
 
/* Specific properties */
#pxy1:after { border-color:#8ec642; }
 
#pxy2:after { background-color:#ea4295; }
 
#pxy3:after { background-color:#82d2f5; margin-left:45px; margin-top:45px; }
 
#pxy4:before { content:''; display:block; width:152px; height:152px; border-radius:50%;
    margin-left:-76px; margin-top:-76px; background-color:#face12; }
#pxy4:after { content:''; display:block; width:152px; height:152px; border-radius:50%;
    margin-left:-76px; background-color:#1183ae; position:relative; top:-76px; opacity:0.6; }

CSS

As you can see, the HTML looks way more clear and the CSS hasn't changed that much. This is another example to show how great pseudo elements really are.

Conclusion & Download

Overall, I think it's a neat way to display the logo without using any images. Especially the CSS3 Pseudo elements example uses some extra clean HTML. Sadly, I couldn't get the correct green colour for the double full circle by using opacity and the yellow/blue colours. I'm also pretty sure the code can be optimized in some ways.

Demo IBM Lotusphere logo in CSS3   Download IBM Lotusphere logo in CSS3

Do you know a better way to create the double full circle colour? If so, please share it with us! Or do you know another great way to achieve the same effect? I'm looking forward to it.


Tags:  ibm lotusphere logo css3

Interested in this topic? You might enjoy another article I've written called

Did you like this article? Subscribe to my feed or email to keep updated on new articles.

Spread the word and submit to:
Digg!Reddit!Del.icio.us!Facebook!StumbleUpon!
Comments
Add NewSearchRSS
Reece Cropley - Great Use of CSS3   2012-01-23 23:44:57
Gravatar image Brilliant Article. It's surprising what results you can get with the new CSS specification. Do you think it will ever overtake images for web based logos?

I'd have never of thought to use border-radius and would have probably tried to go down a HTML5 shapes route.
Marco - Nope   2012-01-24 09:16:01
Gravatar image I personally don't think pure CSS3 solutions will take over the world for web based logos. This example is pretty simple, but complex logo's will need way more CSS (which means more bandwidth too). Also, the HTML which is needed due to restrictions of CSS is bloated, so you don't have a fully clean semantic HTML (you're using your HTML for design instead of content).

Using the HTML5 canvas to draw a logo might be an option: Your HTML will be clean (only one HTML element will be needed, the canvas), but you'll need JavaScript to paint the logo. Compare the size of the JS file with the size of the PNG file to see if it has any effect. Also, drawing in JavaScript is way more difficult than with painting programs like Photoshop.
güvenlik - kamera   2012-01-31 10:42:23
Gravatar image Good Share!!!

Thank for Sharing
Logo Blog - hi   2012-02-06 06:13:25
Gravatar image Cool. As a logo designer this is great to see this work done here, its inspiring n useful to me. thanks for all this Great :)
Alex - Excellent tutorial   2012-02-29 13:31:15
Gravatar image Amazing work.
Being a novice in graphic designing this tutorial certainly add some tools in my skill set.

Thank Marco. :cheer:
Anaradam - Great   2012-03-13 08:05:54
Gravatar image :cheer: Hi this tutorial is more useful for my team. Thanks for this great tutorial. I love it. I hope to see more.. Again thanks for sharing with us
Sajal   2012-03-24 18:43:25
Gravatar image It's a very interesting post as because I am also an expert in logo designing. After all I really enjoyed reading your informative tutorial. Thanks for the post.
sarah cabin - nice   2012-04-03 11:52:02
Gravatar image man thats awesome, I haven't done much of my work on grids but I guess its the best thing to use if you want to get your lines to match up properly. Thanks!!
Think360studio   2012-04-27 12:21:59
Gravatar image I totally agree with Marco. CSS3 solution can be an option only. And I also think that we can't create complex designs using these solutions. But The design you had created using CSS3 solutions is really mind blowing. I really appreciate your work. :) :)
David   2012-04-28 13:37:14
Gravatar image I am trying to come up with a logo design. Thanks for sharing the code and technique.
Luthfi All - Shift-7 Blog message   2012-05-18 14:52:17
Gravatar image wow., its great and very cool
I like, thanks so much..:cheer:
gita   2012-06-25 01:17:21
Gravatar image thanks so much..
marko   2012-08-23 04:56:08
Gravatar image I found very useful thanks :woohoo:
Chris - Hire Logo - Incredible!   2012-10-05 04:46:42
Gravatar image Wow, I can honestly say that I've never seen this before. I have a question for you. Do you have any resources for learning more about the shapes used in CSS? I am not familiar at all. These are not actual shapes that you position right? It is CSS3 alone? I'm a bit blown away here. lol
Chris - Hire Logo - Incredible!   2012-10-05 04:47:41
Gravatar image Wow, I can honestly say that I've never seen this before. I have a question for you. Do you have any resources for learning more about the shapes used in CSS? I am not familiar at all. These are not actual shapes that you position right? It is CSS3 alone? I'm a bit blown away here. lol
Chris - Hire Logo - Incredible!   2012-10-05 04:48:33
Gravatar image Wow, I can honestly say that I've never seen this before. I have a question for you. Do you have any resources for learning more about the shapes used in CSS? I am not familiar at all. These are not actual shapes that you position right? It is CSS3 alone? I'm a bit blown away here. lol
Chris - Hire Logo - Sorry   2012-10-05 04:48:57
Gravatar image Ah sorry for the multiple posts. Please Delete!
Phil M   2013-01-05 21:36:32
Gravatar image Nice tutorial. It was easy to follow :)
Thanks for sharing
Read more...
Name:
Email:
  Gravatar enabled.
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Security Image
Please input the anti-spam code that you can read in the image.
Unsubscribe from e-mail notifications.
 
< Prev   Next >
Subscribe

Subscribe to Marcofolio