Будем делать новогоднюю ёлку с обратным отсчетом времени до Нового года. Ёлка сделана на CSS3, а счетчик использует jQuery плагин. И плюс шарики с пожеланиями.

Разметка HTML

<div class="text">До Нового Года осталось...</div>
<div class="fir-tree">
    <div class="stem"></div>
    <div class="conf-stem"></div>
    <div class="a"></div>
    <div class="b"></div>
    <div class="c"></div>
    <div class="d"></div>
    <div class="e"></div>

    <div class="f"></div>
    <div class="g"></div>
    <div class="h"></div>
    <div class="i"></div>
    <div class="j"></div>
    <div class="k"></div>
    <div class="l"></div>

    <div id="bauble-container">
        <div id="star-five"></div>
        <div class="desc">
            <div class="bauble red-bauble" id="bauble1"></div>
            <small>Дед Мороз прислал нам ёлку,<br/> Огоньки на ней зажёг,<br/> И блестят на ней иголки,<br/> А на веточках - снежок!</small>
        </div>
   
        <div class="desc">
            <div class="bauble blue-bauble" id="bauble2"></div>
            <small>Засверкай, огнями елка,<br/> Hac на праздник позови!<br/> Все желания исполни,<br/> Все мечты осуществи!</small>
        </div>

        <div class="desc">
            <div class="bauble yellow-bauble" id="bauble3"></div>
            <small>Стоит она пушистая,<br/> От снега серебристая!<br/> Красивые иголки<br/> У новогодней ёлки. </small>
        </div>

        <div class="desc">
            <div class="bauble green-bauble" id="bauble4"></div>
            <small>Здравствуй, праздник новогодний,<br/> Праздник ёлки и зимы!<br/> Всех друзей своих сегодня<br/> Позовём на ёлку мы. </small>
        </div>

        <div class="desc">
            <div class="bauble yellow-bauble" id="bauble5" style="margin-left: 70px"></div>
            <small>Стоит она пушистая,<br/> От снега серебристая!<br/> Красивые иголки<br/> У новогодней ёлки. </small>
        </div>

        <div class="desc">
            <div class="bauble red-bauble" id="bauble6"></div>
            <small>Висят на ветках шарики,<br/> Волшебные фонарики,<br/> И бусы и снежинки,<br/> И голубые льдинки!</small>
        </div>

        <div class="desc">
            <div class="bauble blue-bauble" id="bauble7" style="margin-left: 20px"></div>
            <small>Висят на ветках шарики,<br/> Волшебные фонарики,<br/> И бусы и снежинки,<br/> И голубые льдинки!</small>
        </div>

        <div class="desc">
            <div class="bauble red-bauble" id="bauble8" style="margin-left: 80px"></div>
            <small>Висят на ветках шарики,<br/> Волшебные фонарики,<br/> И бусы и снежинки,<br/> И голубые льдинки!</small>
        </div>

        <div class="desc">
            <div class="bauble yellow-bauble" id="bauble9" style="margin-left: 0px;"></div>
            <small>Стоит она пушистая,<br/> От снега серебристая!<br/> Красивые иголки<br/> У новогодней ёлки.</small>
        </div>

        <div class="desc">
            <div class="bauble green-bauble" id="bauble10" style="margin-left: 100px"></div>
            <small>Дети водят хоровод,<br/> Хлопают в ладоши.<br/> Здравствуй, здравствуй,<br/> Новый год! Ты такой хороший!</small>
        </div>

        <div class="desc">
            <div class="bauble withe-bauble" id="bauble11"></div>
            <small>Засверкай, огнями елка,<br/> Hac на праздник позови!<br/> Все желания исполни,<br/> Все мечты осуществи!</small>
        </div>

        <div class="desc">
            <div class="bauble yellow-bauble" id="bauble12" style="margin-left: 120px; margin-top:-5px;"></div>
            <small>Висят на ветках шарики,<br/> Волшебные фонарики,<br/> И бусы и снежинки,<br/> И голубые льдинки!</small>
        </div>

    </div>

    <div class="timer">
        <div id="defaultCountdown"></div>
    </div>

</div>

CSS

body {
    background: White;
}

.text {

   margin: 0 auto;
    width: 800px;
    font-size: 40px;
    color: #000;
    font-family:  Verdana, Arial;
    text-align: center;
    font-weight:bold;
    text-shadow: 4px 4px 7px rgba(0,0,0,0.2),
                 0px -6px 38px rgba(255,255,255,0.3);
}

.fir-tree {
    position: absolute;
    top: 80%;
    left: 45%;
    width: 100px;
    height: 30px;
}

.fir-tree .conf-stem {
    position: absolute;
    top: 14px;
    width: 100px;
    border-bottom: 16px solid Silver;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    height: 0;   
}

.fir-tree .stem {
    position: absolute;
    top: -120%;
    left: 41%;
    width: 30px;
    height: 60px;
    background: Brown;
}
 
.fir-tree .a {
    position: inherit;
    top: -430%;
    left: -65%;
    width:0;
    height: 0;
    border-left: 120px solid transparent;
    border-right: 120px solid transparent;
    border-bottom: 120px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .b {
    position: inherit;
    top: -485%;
    left: -55%;
    width:0;
    height: 0;
    border-left: 110px solid transparent;
    border-right: 110px solid transparent;
    border-bottom: 110px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .c {
    position: inherit;
    top: -535%;
    left: -45%;
    width:0;
    height: 0;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
    border-bottom: 100px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .d {
    position: inherit;
    top: -585%;
    left: -35%;
    width:0;
    height: 0;
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
    border-bottom: 90px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .e {
    position: inherit;
    top: -635%;
    left: -25%;
    width:0;
    height: 0;
    border-left: 80px solid transparent;
    border-right: 80px solid transparent;
    border-bottom: 80px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .f {
    position: inherit;
    top: -685%;
    left: -15%;
    width:0;
    height: 0;
    border-left: 70px solid transparent;
    border-right: 70px solid transparent;
    border-bottom: 70px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .g {
    position: inherit;
    top: -725%;
    left: -5%;
    width:0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-bottom: 60px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .h {
    position: inherit;
    top: -765%;
    left: 5%;
    width:0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-bottom: 50px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .i {
    position: inherit;
    top: -805%;
    left: 15%;
    width:0;
    height: 0;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-bottom: 40px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .j {
    position: inherit;
    top: -835%;
    left: 25%;
    width:0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 30px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .k {
    position: inherit;
    top: -855%;
    left: 35%;
    width:0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .l {
    position: inherit;
    top: -872%;
    left: 45%;
    width:0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid Green;
/* Only FF, Safari, Chrome (I don't use this in IE and Opera because this function doesn't work correctly) */
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
}

.fir-tree .timer{
    position: absolute;
    top: -670%;
    left: 10%;
    z-index: 50;
    font-size: 15px;
    color: #ffffff;
    font-family:  Verdana, Arial;
}



/* Timer */
.countdown_show1 .countdown_section {
    width: 200%;
}
.countdown_show2 .countdown_section {
    width: 100%;
}
.countdown_show3 .countdown_section {
    width: 100%;
}
.countdown_show4 .countdown_section {
    width: 100%;
}
.countdown_show5 .countdown_section {
    width: 100%;
}
.countdown_show6 .countdown_section {
    width: 100%;
}
.countdown_show7 .countdown_section {
    width: 60%;
}
.countdown_section {
    display: block;
    float: left;
    font-size: 80%;
    text-align: center;
}
.countdown_amount {
    font-size: 200%;
}
.countdown_descr {
    display: block;
    width: 100%;
}
#bauble-container
{
  list-style: none; /* Remove bullets */
  width: 100px;
  padding: 0;
  position: absolute;
  top: -250px;
}

#bauble-container div
{
  height: 10px;
  margin-bottom: 10px;
}


/* Style the bauble */
.bauble
{
    -moz-border-radius: 10px;
    border-radius: 10px;

    -moz-box-shadow: 0 0 5px #777777;
    box-shadow: 0 0 5px #777777;
    -webkit-box-shadow: 0 0 5px #777777;

    border: 1px solid rgba(0,0,0,0.3);
    position: relative;
    height: 10px;
    width: 10px;
    z-index: 9999;
   
    -moz-animation:loading 10s linear infinite;
    -webkit-animation:loading 10s linear infinite;
    -ms-animation:loading 10s linear infinite;
    -o-animation:loading 10s linear infinite;
    animation:loading 10s linear infinite;
}
#bauble1 {
-moz-animation-delay:1.5s;
-webkit-animation-delay:1.5s;
-ms-animation-delay:1.5s;
-o-animation-delay:1.5s;
animation-delay:1.5s;
}
#bauble2 {
-moz-animation-delay:3s;
-webkit-animation-delay:3s;
-ms-animation-delay:3s;
-o-animation-delay:3s;
animation-delay:3s;
}
#bauble3 {
-moz-animation-delay:0.5s;
-webkit-animation-delay:0.5s;
-ms-animation-delay:0.5s;
-o-animation-delay:0.5s;
animation-delay:0.5s;
}
#bauble4 {
-moz-animation-delay:2s;
-webkit-animation-delay:2s;
-ms-animation-delay:2s;
-o-animation-delay:2s;
animation-delay:2s;
}
#bauble5 {
-moz-animation-delay:2.5s;
-webkit-animation-delay:2.5s;
-ms-animation-delay:2.5s;
-o-animation-delay:2.5s;
animation-delay:2.5s;
}
#bauble6 {
-moz-animation-delay:3.5s;
-webkit-animation-delay:3.5s;
-ms-animation-delay:3.5s;
-o-animation-delay:3.5s;
animation-delay:3.5s; 
}
#bauble7 {
-moz-animation-delay:4s;
-webkit-animation-delay:4s;
-ms-animation-delay:4s;
-o-animation-delay:4s;
animation-delay:4s; 
}
#bauble8 {
-moz-animation-delay:5s;
-webkit-animation-delay:5s;
-ms-animation-delay:5s;
-o-animation-delay:5s;
animation-delay:5s; 
}
#bauble9 {
-moz-animation-delay:4.5s;
-webkit-animation-delay:4.5s;
-ms-animation-delay:4.5s;
-o-animation-delay:4.5s;
animation-delay:4.5s;
}
#bauble10 {
-moz-animation-delay:1.5s;
-webkit-animation-delay:1.5s;
-ms-animation-delay:1.5s;
-o-animation-delay:1.5s;
animation-delay:1.5s;
}
#bauble11 {
-moz-animation-delay:2.5s;
-webkit-animation-delay:2.5s;
-ms-animation-delay:2.5s;
-o-animation-delay:2.5s;
animation-delay:2.5s;
}
#bauble12 {
-moz-animation-delay:3.5s;
-webkit-animation-delay:3.5s;
-ms-animation-delay:3.5s;
-o-animation-delay:3.5s;
animation-delay:3.5s;
}

@keyframes loading {
    0%{transform:scale(1,1);}
     30%{transform:scale(0.5,0.5);}
     60%{transform:scale(1.2,1.2);}
    100%{transform:scale(1,1);}
}
@-moz-keyframes loading {
    0%{-moz-transform:scale(1,1);}
     30%{-moz-transform:scale(0.5,0.5);}
     60%{-moz-transform:scale(1.2,1.2);}
    100%{-moz-transform:scale(1,1);}   
}
@-webkit-keyframes loading {
    0%{-webkit-transform:scale(1,1);}
     30%{-webkit-transform:scale(0.5,0.5);}
     60%{-webkit-transform:scale(1.2,1.2);}
    100%{-webkit-transform:scale(1,1);}   
}
@-ms-keyframes loading {
    0%{-ms-transform:scale(1,1);}
     30%{-ms-transform:scale(0.5,0.5);}
     60%{-ms-transform:scale(1.2,1.2);}
    100%{-ms-transform:scale(1,1);}
}
@-o-keyframes loading {
    0%{-o-transform:scale(1,1);}
     30%{-o-transform:scale(0.5,0.5);}
     60%{-o-transform:scale(1.2,1.2);}
    100%{-o-transform:scale(1,1);}
}

/* Colorize them */
.red-bauble
{
    background: #c8171f;
    background: -moz-radial-gradient(center 45deg,circle cover, #f9d0be, #c8171f);
    background: -webkit-radial-gradient(center,circle cover, #f9d0be, #c8171f);
    margin-left: 50px;
}

.blue-bauble
{
    background: #00a1ee; /* Fallback */
    background: -moz-radial-gradient(center 45deg,circle cover, #cde6f9, #00a1ee);
    background: -webkit-radial-gradient(center,circle cover, #cde6f9, #00a1ee);
    margin-left: 40px;
}

.yellow-bauble
{
    background: #fcb83d; /* Fallback */   
    background: -moz-radial-gradient(center 45deg,circle cover, #fcf3a6, #fcb83d);
    background: -webkit-radial-gradient(center,circle cover, #fcf3a6, #fcb83d);
    margin-left: 60px;
}

.green-bauble
{
    background: #4d8d00; /* Fallback */
    background: -moz-radial-gradient(center 45deg,circle cover, #d1e5b2, #4d8d00);
    background: -webkit-radial-gradient(center,circle cover, #d1e5b2, #4d8d00);
    margin-left: 30px;
}
.withe-bauble
{
    background: #fff; /* Fallback */
    background: -moz-radial-gradient(center 45deg,circle cover, #fff, #000);
    background: -webkit-radial-gradient(center, circle cover, rgba(255,255,255,1) 0%,rgba(0,0,0,0) 100%);
    margin-left: -20px;
}

.desc{
    width:10px;
    position: relative;
}
.desc small {
    background:Azure;
    text-align:center;
    width:220px;
    padding:5px;
    border: 1px solid Highlight;
    border-radius:3px;
    display:none;
    color: ActiveCaption;
    font-size:0.8em;
    text-indent:0;
    z-index: 9999;   
}

.desc:hover small {
    display:block;
    position:absolute;
    top:0px;
    left:50%;
    margin:-70px;
    z-index:9999;
    -moz-animation:mymove .25s linear; 
    -webkit-animation:mymove .25s linear;
}
#star-five {
   margin: 0;
   position: absolute;
   display: block;
   color: red;
   width: 0px;
    left:45px;
    top: -15px;
   height: 0px !important;
   border-right:  10px solid transparent;
   border-bottom: 8px  solid red;
   border-left:   10px solid transparent;
   -moz-transform:    rotate(35deg);
   -webkit-transform: rotate(35deg);
   -ms-transform:     rotate(35deg);
   -o-transform:      rotate(35deg);
    box-shadow:0 0 9px red;
}
#star-five:before {
   border-bottom: 6px solid red;
   border-left: 3px solid transparent;
   border-right: 3px solid transparent;
   position: absolute;
   height: 0;
   width: 0;
   top: -4px;
   left: -6px;
   display: block;
   content: '';
   -webkit-transform: rotate(-35deg);
   -moz-transform:    rotate(-35deg);
   -ms-transform:     rotate(-35deg);
   -o-transform:      rotate(-35deg);
   box-shadow:0 0 9px red;
}
#star-five:after {
   position: absolute;
   display: block;
   color: red;
   top: 0px;
   left: -10px;
   width: 0px;
   height: 0px;
   border-right: 10px solid transparent;
   border-bottom: 8px solid red;
   border-left: 10px solid transparent;
   -webkit-transform: rotate(-70deg);
   -moz-transform:    rotate(-70deg);
   -ms-transform:     rotate(-70deg);
   -o-transform:      rotate(-70deg);
   content: '';
    box-shadow:0 0 9px red;
}

javascript

jQuery, плагин счетчика и скрипт его вызова:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="js/jquery.countdown.min.js" type="text/javascript"></script>
<script src="js/jquery.countdown-ru.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var austDay = new Date(2011, 1, 1, 00, 00, 00) ;
        austDay = new Date(austDay.getFullYear() + 1, 1 - 1, 1);
        $('#defaultCountdown').countdown({until: austDay});
        $('#year').text(austDay.getFullYear());
    });
</script>
ДЕМОПосмотреть
пример