Famous Logos Designed Entirely in CSS
ecsspert.com
ecsspert.com
It's also completely and totally useless. The person / people who did this are obviously talented and have a lot of expertise. I'd really rather see people with this level of ability contributing meaningful, useful tools / techniques to the community rather than seeing this type of post over and over again.
I can hear the arguments now, "but it shows off the power of CSS!"
No, it doesn't. It shows off what a clever person can achieve by tinkering with a system; but there's no practical value to most of the techniques demonstrated. CSS has a lot of power; but its best demonstrated by projects like the CSS Zen Garden that show off real-world CSS use.
I wish the time spent on this project was put towards something more useful.
As long as you are aware of doing something unconventional, it is fine to keep these sports. If he/she did put these logos in production then I'll object though.
I think it's naive to assume that this is not meaningful or useful.
It will certainly open creative doors in enough developers' brains to lead to innovations on other projects.
Not to mention serve as a portfolio to get the authors more business.
To me that's not useless.
I think maybe, being a front-end guy, I'm a lot less impressed with it as it's part of my job to keep up on this kind of thing so I've seen it a lot already.
Now if this had been a tool that would generate CSS shapes with sliders/toggles allowing you to manipulate the shapes/logos in place, that would be cool and educational/useful.
Anywhoo, that's awesome. And I do think it's useful - as mcknz says, it's a pretty great starting point. It's also pretty great motivation :) From this, people can derive practical value.
You could say the same about the Gosper glider gun. I don't want to be part of a hacker community that doesn't encourage autotelic projects.
Not really.
A CSS logo would be useful for performance issues and overall page rendering speed. A CSS animated logo, such as the Atari example, even moreso than a Flash / JS counterpart. CSS renders more quickly than images, and definitely more quickly than embedded Flash.
It also depends heavily on the complexity of the logo and the painting implications. To say simply that "CSS will be more performant" is categorically incorrect.
If you rake your memory you could probably find points in time when you were working on something you really enjoyed, even though you had other good ideas that would better benefit the community. I know I certainly have been in that situation.
Also called hacking.
Later, as he was working on a new feature, he realized he could achieve a particular effect without any images for a slight improvement in performance (fewer requests and all that). That achievement came because of the experimentation he did a week earlier.
I think there can be a lot of value in experimenting for the sake of experimenting. It's part of the fun of coding. Aside from the potential morale benefits, sometimes the experimentation leads to useful inspirations that make it to production.
I mean, one could easily argue that delivering movies and TV shows to people via the internet is also completely and totally useless, couldn't they? So yeah, you are being that dick.
The samples may not have any practical use, and I could have tried to look at the source of any css heavy page instead, but this was a simple and fun way to have a glimpse into the latest(?) css tricks.
Projects like this are analogous to F1 cars. I'll never drive one but they demonstrate the bleeding edge of automotive technology. Much of this technology trickles down to production cars that I will drive.
Projects like this show the potential of CSS. Tho I will likely never create a logo out of CSS, the techniques displayed here will likely trickle down into more mainstream applications of CSS that I will use.
Instead, we should throw support behind something that is designed to be a boat. In this case, for example, SVG would fill the role of rendering logos much better.
My point is, I'm not sure how much of this bleeding edge demonstration will be able to trickle down into the real use case of CSS, which is in web page presentation, not drawing pictures.
SVG is available in any browser that supports all the selectors being use (i.e. it'll not work in IE6/7/8 with CVG, but these CSS versions probably won't either), and the code for them in SVG would be significantly smaller then that markup+styling I'd wager.
And the reason I even ask is I feel like I could draw all of these logos pretty well with Illustrator, but couldn't just sit down in a text editor and make these logos with CSS.
But SVG should be a better option anyway (it doesn't work in <IE9, but on the other hand, this probably won't either).
This is especially the case with buttons. Photoshop is confusing, CSS3 less so.
But to be fair, the CSS itself should work as soon as the specification is closed and browsers implement it under the regular names, without those prefixes.
edit: Here is the list of attributes supported by Opera http://www.opera.com/docs/specs/presto26/css/o-vendor/ (you can see that transform, the one left out in the first example, is one of them)
So I think the title still applies.
It's more just an impressive feat that pushes the boundaries of what's imaginable using CSS.
It's just voodoo thinking on the part of web designers that were taught about it circa 2000.
And it basically comes from the misunderstanding that the html page is the data, when it's really just a RENDERING of the data. The data is what's on the DB or storage system --and that, yes, has to be semantically stored and attributed.
The template is just a means to show them GRAPHICALLY, not semantically.
Except if our main purpose is to make screen scrapping easier.
We structure databases semantically for backend developers. Why shouldn't we structure display markup semantically for frontend developers?
Only if you have a poor system of sharing data, one that necessitates the rendering to be the data. Why put that inflexible requirement upon yourself? We have plenty of renderings that are not supposed to be data (i.e mechanically readable) by themselves, from graphical UIs to paper printouts.
> We structure databases semantically for backend developers. > Why shouldn't we structure display markup semantically for frontend developers?
Because the target audience of the display markup is not "front-end developers", it's our website viewers. And they could care less how we structure our display markup.
A truly intelligent system of content/display separation wouldn't use "semantic markup" and such nonsense, but true separation, i.e multiple types of data output.
Take accessibility for example. What's good for a web browser is not equally good for a screen reader.
The optimal path would be not to share the same display markup, but to create a specialized screen reading output that can leverage the same underlying data.
We only do a half baked work when we add media css, alt attributes and such to "semantic display markup". It's a leaky abstraction.
And then you go and implement an interface to the website as an Android or an iPhone app, and suddenly the "semantic display markup" is useless, you do it with custom queries and native controls. Or you go an implement a voice operated interface to the site, like voice xml, and the "semantic display markup" is of no use here too.
Heck, even when we output something as basic as an Atom/RSS feed, we don't get to reuse the "semantic display markup", we output a customized feed.
That's not really true, though. The viewer is the target audience of the display output, not the markup. The target of your markup is either someone technically minded (who would do a 'view source') or some sort of crawler that is trying to derive semantic sense from your document.
In that context, semantic markup makes total sense. Part of me is still disappointed that using XML+XSL for web pages never took off- implementation nightmares aside, separating page data and page presentation is an awesome concept.
By that line of reasoning, why should a semantically-structured database matter? The website viewers never see that, either.
Unless the reason you care about semantics in your database is for ease of development. In which case, all the front-end developers you might work with in the future would thank you for thinking of them when you output your markup.
Server-side bandwidth savings is easier to calculate, and while I realize this kind of savings for sites like Twitter can create noticeable margins, I'm curious as to what the cost-benefit threshold is.
Matt Seeley, UI Engineer at Netflix, made a presentation in which he touches these issues. It's available here: http://dl.dropbox.com/u/5618867/mseeley-2011-09-27-html5devc...
[1] http://www.imgtocss.com/convert?url=http://www.imgtocss.com/...
For Nike it will be just a background declaration, the curve with Bezier parameters and the foreground color. It will be much more compact and be able to scale.
And just as much cross-browser as CSS, which means not totally cross-browser. Your logos are broken in Opera and IE, for example.
I understand it takes much effort and expertize, but it's not the right tool for drawing images. You could do this by just exploring the UTF characters table and positioning differently colored characters near each other to make an image. But the fastest way to draw a vertored shape in a browser is still SVG.
@-webkit-keyframes ball { 0%, 100% { left:30px; top:107px } 30%
...
and -webkit-animation: player2 4s linear 0 infinite normal;
which define the animation keyframes and parameters.See the webkit blog for information on how it works:
http://jsdo.it/tsmallfield/counting_sheep2/fullscreen - double click for more animals
http://jsdo.it/norahiko/m1WT/fullscreen
http://jsdo.it/tsmallfield/pigg/fullscreen - cute "avatar" like on http://pigg.ameba.jp/ ameba pigg
I've never seen something like this in pure CSS. If anyone knows of anything this impressive, please post a link to it.
http://sy0t0s.bplaced.net/demo/hero/ - Apple logo
http://sy0t0s.bplaced.net/demo/tubes/ - Nixie tubes
http://sy0t0s.bplaced.net/demo/opera/ - Opera Browser in your browser
I have more, but don't want to spam links. If you want to see more you can crawl through the /demo/ folder on the page. Most of them are experiments with CSS3, javascript and html5.