Sliding Door Buttons : Demo

Read the tutorial at http://featherpot.com/2008/05/29/how-to-make-sexy-sliding-door-buttons-with-css.

This should be the result you will get after trying this tutorial :

Bring world peace Launch nukes


Example of Button States

Normal
Pressed
Button design

Images Used

SPAN
A


Code:

<a class="button" href="#"><span>Bring world peace</span></a>

.clear { /* generic container (i.e. div) for floating buttons */
    overflow: hidden;
    width: 100%;
}

a.button {
    background: transparent url('bg_button_a.gif') no-repeat scroll top right;
    color: #444;
    display: block;
    float: left;
    font: normal 12px arial, sans-serif;
    height: 24px;
    margin-right: 6px;
    padding-right: 18px; /* sliding doors padding */
    text-decoration: none;
}

a.button span {
    background: transparent url('bg_button_span.gif') no-repeat;
    display: block;
    line-height: 14px;
    padding: 5px 0 5px 18px;
}

a.button:active {
    background-position: bottom right;
    color: #000;
    outline: none; /* hide dotted outline in Firefox */
}

a.button:active span {
    background-position: bottom left;
    padding: 6px 0 4px 18px; /* push text down 1px */
}

Visit FeatherPot Sucscribe to FP Feeds

IE hack

Although hardly catastrophic, IE does not return the button to its normal state whenever it's released. To force such behaviour, we need to add a tiny bit of JavaScript to the <a> tag:

<a class="button" href="#" onclick="this.blur();"> … </a>

To submit forms with this type of button, simply add more calls to the button's onclick event.

Note: Make sure the span's vertical padding (5 + 5) and line-height (14) amount to the total height of the button (24). Using a different padding, means setting a different height.

Feedback welcome!

Hopefully you enjoyed this tutorial and can't wait to implement your new kick-ass buttons now. If you have any questions or suggestions, do let me know at PixlNinja@gmail.com. Also, if you end up using this technique anywhere, I'd love to see it in action!

Cheers!

– Ben Jacob Subscribe to FeatherPot SFeed With love !