Coding an Animated Download button with CSS3


The Web needs are increasing and being improved day by day. Various technologies are there in the market to be used in the web. HTML has been updated to HTML5 and CSS to CSS3, the combination of both is really powerful and replacing flash animations and other multimedia related applications behind that were used previously.

Today a group of boys and girls in the campus asked me to teach them web development using HTML5 and CSS3, as I was teaching them they asked me to share some tutorials about transitions, menus, sliders and animated buttons without using java script or any other scripting language.

HTML5 and CSS3 is really fun to use and responsible for making web an eye-catchy and attractive. There are various tutorials on the globe but are much attractive and easy to use.

Some days before when i was myself searching for the download buttons with some fancy transition effect, i came across the tutorial on the DesignShake, I found some error in that code and it was not working well. So, I modified the code and it is now working properly.


( DEMO )

Follow the steps below to use this button with CSS3 in your websites/blogs etc:

Step 1: CSS

Put this CSS between the head tags or in your external .CSS file.


.abt-button {
margin: 50px auto;
width: 200px;
.abt-button a {
background: -moz-linear-gradient(center top , #00B7EA 0%, #009EC3 100%) repeat scroll 0 0 transparent;
color: white;
display: block;
font: 17px/50px Helvetica,Verdana,sans-serif;
height: 50px;
text-align: center;
text-decoration: none;
text-transform: uppercase;
width: 200px;
position: relative;
z-index: 2;

color: white;
font: 17px/50px Helvetica, Verdana, sans-serif;
text-decoration: none;
text-align: center;
text-transform: uppercase;

background: #00b7ea; /* Old browsers */
background: -moz-linear-gradient(top, #00b7ea 0%, #009ec3 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00b7ea), color-stop(100%,#009ec3)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* IE10+ */
background: linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b7ea', endColorstr='#009ec3',GradientType=0 ); /* IE6-9 */

.abt-button a, .abt-button p {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;

-webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
-moz-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
.abt-button p {
background: #222222;
color: #FFFFFF;
display: block;
font: 12px/45px Helvetica,Verdana,sans-serif;
height: 40px;
margin: -40px 0 0 10px;
position: absolute;
text-align: center;
transition: margin 0.5s ease 0s;
width: 180px;
z-index: 1;
-webkit-transition: margin 0.5s ease;
-moz-transition: margin 0.5s ease;
-o-transition: margin 0.5s ease;
-ms-transition: margin 0.5s ease;
transition: margin 0.5s ease;

.abt-button:hover .up {
margin: -5px 0 0 10px !important;
.abt-button:hover .down {
line-height: 35px !important;
margin: -85px 0 0 10px !important;
.abt-button a:active {

background: #00b7ea; /* Old browsers */
background: -moz-linear-gradient(top, #00b7ea 36%, #009ec3 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(36%,#00b7ea), color-stop(100%,#009ec3)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #00b7ea 36%,#009ec3 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #00b7ea 36%,#009ec3 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #00b7ea 36%,#009ec3 100%); /* IE10+ */
background: linear-gradient(top, #00b7ea 36%,#009ec3 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b7ea', endColorstr='#009ec3',GradientType=0 ); /* IE6-9 */

.abt-button:active .up {
margin: -20px 0 0 10px !important;
.abt-button:active .down {
margin: -70px 0 0 10px !important;

Step 2: HTML

<div class="abt-button"><a href="">Download</a>
<p class="up" style="text-align: center;">click to begin</p>
<p class="down" style="text-align: center;">20.34MB .zip</p>


Tada….!! You are done with this. Feel free to comment if you are getting any problem.

Don’t be jealous, Share it with your friends