Mac OS X Lion with CSS3
Hello everyone and Happy New Year to all, lately i've been busy and so i haven't time to write here, i hope that by this experiment to be pardoned :). I wanted to create with only use of CSS3 the boot, the login page and finally the desktop of the Mac OS X Lion.
This is the first release and as you will see not everything is fully functional and at least as regards the desktop. In the next release i will implement new icons and new features while we examine what we have today.
Boot
This is simply the Mac OS X Lion boot. This section is simply composed by a CSS3 keyframes animation. It has a logo (created in Photoshop) and a simple loader (fake loading). After the animation, dissolves the section to show the login section.
Login
This section mainly consists of a clock, two images (logos and avatars user name), two backgrounds and a password input field. I used javascript only for the clock, create a fake login and when the password is valid I added some class to fix the desktop section and remove permanently the section login animation.
Thanks to the :target pseudo-class can be passed from one section to another. Regarding the rest is all CSS 3, such as hide/show the input field when you click on the avatar, same goes for the appearance of the tooltip when you click on the input field.
The animation of password error is connected via javascript but the animation is created using CSS3. The pseudo-class target has its limits and then to fix those small weaknesses, once you enter your password, javascript sets the desktop as the main section.
Desktop
Finally here we have in our desktop. As mentioned previously this is only the first version, and consequently still missing several features that I will implement in the next release. I use javascript only for the clock and the jQuery UI Draggable library to have a draggable windows.
For the rest is all CSS3 excluding the background image and icons.
About this Project
Here i will list what I used for this project.
Modern Browser Supported
To see this experiment you will need a browser that supports CSS3 Keyframes Animations, so the choice is Firefox, Safari, or Chrome.
HTML5 and CSS3
For this project I used HTML5 and the unique capacity of CSS3.
Javascript
The use of JavaScript is for the clock, and to add a fix to the section desktop once you get the validation.
Draggable Window
I used this library jQuery UI Draggable.
Images and other decoration
Finally i used images for logos, user-avatar, spinner loading, cursors, background images, icons and window buttons.
Conclusion and Next Release
At the end of this experiment I realized the potential and limitations of CSS3, but thanks to the use of javascript (although to a limited) you can really get something unique. Regarding the next release I plan to add the dock, delete and appears the windows if you click on a link on the menu only through the use of CSS. Optimize the code for better performance.
I hope that this experiment can be useful, and please you in your study, if you have any questions please do not hesitate to write. Thank you all for your support.
























55 comments…Add Comment
looks so awesome!
One notice about windows, move active window above others.
That is absolutely amazing!! Very well done!
If Apple used this and intergrated this into OSX as a form of remote/Mirrored desktop so if you where away from your machine you logged in a webpage and if anything was updated there it would update your desktop at home.
Pure talent there
holy crap that’s amazing! I was actually trying to click on menu items lol..but this is really great thanks!
Holy Moly! You just blew my socks off! Hat off to you Sir!
@Paul – that gives me a very neat idea. On the simplest level even AppleScript can resize and move windows around, so we could listen on a certain port, webserver then sends command to our mac, our script interprets that command and move the stuff around the desktop.
I think that some wheels just had started spinning in my head…
Wow this feels very native!
One word: Awesome!
Awesome sh*t. Best thing I’ve ever seen created of CSS3 and HTML5.
Great work! :)
Thanks :)
Awesome, and inspiring experiment.
Cheers!
WOW thats cool!
This is great! Too bad you can’t drag in CSS or you could’ve done the whole thing with just CSS3. Awesome job.
Thanks, yes unfortunately it is not possible for now to use CSS3 for drag, so I chose jQuery!
Really cool!
I’d be happy to see that on my iPad — but the demo doesn’t work with iOS … :-)
You’re right, i fix this bug on iOS :)
Very awesome! :)
You nailed it man…Very nice. :)
Some things I noticed:
* The inset shadow of the booting Apple logo is wrong
* Pressing the Enter key while focusing the password input field doesn’t submit
* the window borders are grey instead of rgba(0,0,0,0.5)
* inactive windows are not greyed out
* menu bar dropdowns do not fade out when closing them
Hope this helps
Coole Sache!
@Jan
Thanks Jan for your advice :)
Hi there, nice work!
I’ve been working on a Lion CSS UI Kit (http://pumpula.net/p/lion-ui-kit-css/), it might be of some use to you if you. :)
wow – thanks for your inspiration an css work. …and sharing this
@Ville V. Vanninen
Thanks very cool!
My project, Web OS X http://www.everywr.com/
Demo http://alpha.everywr.com.
Good job!
@Everywr
Cool work! ;)
Great!
would have been more impressive if you did the dock.
Thanks for the info, Mac + CSS3 = true:)
I have already created the dock, I’m making changes and then will insert the new version!
Cool !
Very nice, looks clean and mirrors the graphic power of the desktop. I like it- glad to see that people like you are out there experimenting and playing! Keep up the good work and enjoy yourself! Thanks for sharing!
Great work man..keep it up.. :)
Alessio,
Muy buen trabajo. Elegante y creativo.
Gracias
Amazing ! Add a dock and it’s perfect preview of mac os x !!
Good stuff.
You should have added more functions.
Like being able to close the opened windows, logout, etc, some basic stuff.
I made something similar, but instead of Lion, it’s IE6. http://ie6test.ie
hope you like it!
Since you know the parameter for Opera, why do you say, that this is not compatible with it?! I found -”o-linear-gradient” a few times, so why don’t you use the other equivalents for other commands too? The whole page should work in Opera as it does in Chrome and FF etc…
It’s quite amazing, at first no one can believe its not Mac’s Desktop!!!
Great Work
Thanks a lot. :)
Awesome… :)
Chrome does support css3 animations….
Excelente +10
Fu*king awesome.
Really looking forward to the new version!!!
Simplicity is the ultimate sophistication
Looks good but a bit slow。Perhaps the problem of network from china
Very Good! Excellent job!!!
Congragulations
That’s really helpful thank you for the article.
AWESOME MAN !! absolutely amazing!! Very well done!
there’re some bugs in chrome,The part of dock when you click a icon the srceen will move to left…..
Supppper…
If you are looking for a job then send me your CV ;-)
OMG! REALLY FANTACY
AWESOME cool CSS3…
Could you please create a mac osx lion skin for JavaFX2? With JavaFX2 you can use full and extended CSS3 and many people are waiting for native looking skins.
Can you tell how you create boot animation or login screen, pls :)
Hello,
nice job,
how can i download this article with sources?
Wow, what an eye opener!
Leave a response