Be sure to view this example in SAFARI or CHROME.
CSS3 and HTML5 are presenting some exciting opportunities for the future. So I set out to test some of the features that are emerging. The ability to do rounded corners and shadows has been around for awhile. With CSS3 it’s such a pleasure to be able to quickly add these. Webkit specifically is now supporting animation capability. There are now options for styling that include quite a few animations. Hopefully this will get picked up in FireFox and standardized (it’s in the proposed spec for the w3c). Although I think we still need some work in terms of a dynamic set of N items, this is a good start. To be able to do this without any JavaScript or Flash at all is a pretty great step in the right direction for the web, oh and yes, this works on your iPhone.
First I setup some basic markup:
<div class="slideshow-example-frame"> <img class="img1" src="2010-quattroporte-sport-gt-s-sedan_01-thumb.jpg" alt="2010 Quattroporte Sport GT-S" /> <img class="img2" src="2010-grandcabrio-convertible_01-thumb.jpg" alt="2010 GrandCabrio" /> <img class="img3" src="2010-grandturismo-s-automatic-coupe_01-thumb.jpg" alt="2010 GrandTurismo S" /> <img class="img4" src="2010-grandturismo-s-coupe_01-thumb.jpg" alt="GrandTurismo S Coupe" /> </div>
Then I setup some basic CSS3 to do the rounded corners and shadows:
<style type="text/css">
.slideshow-example-frame {
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
box-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
width:420px;
height:131px;
margin:30px 30px 30px 22px;
background-image:url(2010-grandturismo-s-coupe_01-thumb.jpg);
}
.slideshow-example-frame img {
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-webkit-animation-duration:15s;
}
.slideshow-example-frame img {
position:absolute;
top:0;
left:0;
margin:30px;
}
<style>
Next add the animation pieces:
<style type="text/css">
.slideshow-example-frame .img1 {
-webkit-animation-name: fadein1;
}
.slideshow-example-frame .img2 {
-webkit-animation-name: fadein2;
}
.slideshow-example-frame .img3 {
-webkit-animation-name: fadein3;
}
.slideshow-example-frame .img4 {
-webkit-animation-name: fadein4;
}
@-webkit-keyframes fadein1 {
0% {opacity:0;}
5% {opacity:1;}
25% {opacity:1;}
100% {opacity:1;}
}
@-webkit-keyframes fadein2 {
0% {opacity:0;}
25% {opacity:0.0;}
30% {opacity:1;}
50% {opacity:1;}
100% {opacity:1;}
}
@-webkit-keyframes fadein3 {
0% {opacity:0;}
50% {opacity:0;}
55% {opacity:1;}
75% {opacity:1;}
100% {opacity:1;}
}
@-webkit-keyframes fadein4 {
0% {opacity:0;}
75% {opacity:0;}
80% {opacity:1;}
100% {opacity:1;}
}
<style>
Tags: CSS, css3, rounded corners, slide show, slideshow




Put a cooler car up there, like an Aston
I think you’re overdoing the text-shadow a bit… it’s not that exciting any more!
When you implement it you can tone it down however much you want without having to slice and dice images, that’s the beauty of CSS3.
It’s not working in Mozilla. Any tricks to run it in IE or FF?
Yeah those browsers don’t support the CSS3 transitions yet. Hopefully they will adopt some standard for this.
Great stuff man! Great work.
CSS3 NICE : )
need to make another tutorial with manual advance as an option.
Yeah, one big problem with the existing tutorial is that it is not dynamic in nature. Even though it is pure CSS it still requires a knowledge of the total number of slides to write the CSS. Manual advance would be possible using some sort of hover styling technique I imagine but the goal was to do as much as I could without using JS. I’ll experiment with that idea and post anything if I discover some new options.