How To Make a CSS Based 3D Layout
First of all we set up our files. We create a new folder with index.html and style.css.We prepare the HTML document.
CSS Ribbon
Take a look at the following image to understand how we will realize the “structure” in our file.
3D CSS |
The CSS code to style the basic elements (container, bubble and rectangle) is the following.3D CSS Ribbon
I Have Used Only CSS, friends!
For this tutorial I have used some new properties of the CSS3. You can realize a nice 3D effect using only CSS, it's really fantastic.
It doesn't work with IE!
/* Reset */ html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, font, img, ul, li { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; } body { line-height: 1; } ol, ul { list-style: none; } :focus { outline: 0; } /* // Reset */ body { background: url(bck.jpg); /* image for body made with Photoshop using noise filter (gaussian monochromatic) on #ccc */ font-family: Georgia, Verdana, “Lucida Sans Unicode”, sans-serif; font-size: 12px; color: #999; } h2 { font-style: italic; font-weight: normal; line-height: 1.2em; } div#container { margin: 50px auto 0px auto; /* centered */ width: 400px; } .bubble { clear: both; margin: 0px auto; width: 350px; background: #fff; -moz-border-radius: 10px; -khtml-border-radius: 10px; -webkit-border-radius: 10px; -moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.3); -khtml-box-shadow: 0px 0px 8px rgba(0,0,0,0.3); -webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3); position: relative; z-index: 90; /* the stack order: displayed under ribbon rectangle (100) */ } .rectangle { background: #7f9db9; height: 50px; width: 380px; position: relative; left:-15px; top: 30px; float: left; -moz-box-shadow: 0px 0px 4px rgba(0,0,0,0.55); -khtml-box-shadow: 0px 0px 4px rgba(0,0,0,0.55); -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,0.55); z-index: 100; /* the stack order: foreground */ } .rectangle h2 { font-size: 30px; color: #fff; padding-top: 6px; text-shadow: 1px 1px 2px rgba(0,0,0,0.2); text-align: center; }Below the result of these statements.
We add the two classes to make and place the triangles in style.css… and we also add the style for the content (class info).
We add the two classes to make and place the triangles in style.css… and the style for the content (class info).3D CSS Ribbon
I Have Used Only CSS, friends!
For this tutorial I have used some new properties of the CSS3. You can realize a nice 3D effect using only CSS, it's really fantastic.
It doesn't work with IE!
Go to the tutorial!
.triangle-l { border-color: transparent #7d90a3 transparent transparent; border-style:solid; border-width:15px; height:0px; width:0px; position: relative; left: -30px; top: 65px; z-index: -1; /* displayed under bubble */ } .triangle-r { border-color: transparent transparent transparent #7d90a3; border-style:solid; border-width:15px; height:0px; width:0px; position: relative; left: 350px; top: 35px; z-index: -1; /* displayed under bubble */ } .info { padding: 60px 25px 35px 25px; } .info h2 { font-size: 20px; } .info p { padding-top: 10px; font-size: 14px; line-height: 22px; } .info p a { color: #c4591e; text-decoration: none; } .info p a:hover { text-decoration: underline; }Here the result.
We create a nice menu on the top. Below the markup.
The style for our top-menu.3D CSS Ribbon
I Have Used Only CSS, friends!
For this tutorial I have used some new properties of the CSS3. You can realize a nice 3D effect using only CSS, it's really fantastic.
It doesn't work with IE!
Go to the tutorial!
.menu { position: relative; top:3px; left: 50px; z-index: 80; /* the stack order: displayed under bubble (90) */ } .menu ul li { -webkit-transform: rotate(-45deg); /* rotate the list item */ -moz-transform: rotate(-45deg); /* rotate the list item */ width: 50px; overflow: hidden; margin: 10px 0px; padding: 5px 5px 5px 18px; float: left; background: #7f9db9; text-align: right; } .menu ul li a { color: #fff; text-decoration: none; display:block; } .menu ul li.l1 { background: rgba(131,178,51,0.65); } .menu ul li.l1:hover { background: rgb(131,178,51); } .menu ul li.l2 { background: rgba(196,89,30,0.65); } .menu ul li.l2:hover { background: rgb(196,89,30); } .menu ul li.l3 { background: rgba(65,117,160,0.65); } .menu ul li.l3:hover { background: rgb(65,117,160); } .menu span { margin: 15px 80px 0px 0px; float:right; }Here you can se the simple menu.
Our 3D layout is ready. It’s so sexy, I hope you find the final result attractive and inspiring.
Conclusions
I think this kind of solution is useful to improve the performance of the website holding a great 3D effect. There is great question: Internet Explorer and Opera have some problems with CSS3. But this is not an impediment because we are looking to the future. So, if you are browsing the web with IE, please consider to install Mozilla Firefox or Google Chrome or Safari. Some screenshots from different browsers (Windows 7 OS).Source : http://www.pvmgarage.com/2010/01/how-to-create-depth-and-nice-3d-ribbons-only-using-css3/
No comments:
Post a Comment