【转贴】如何利用CSS创建一个漂亮的按钮
【转贴】如何利用CSS创建一个漂亮的按钮
原文地址:http://parandroid.com/how-to-use-css-to-create-a-beautiful-button/
这个教程将教你如何使用CSS创造一个漂亮的动态按钮 ,所谓动态,指的是默认状态和聚焦状态时背景按钮图片不一样,让我们看一下这是怎么完成的:
滑动门
因为我们希望我们的按钮是灵活的,我们将要作出的背景图像,可以文本自动改变大小。对于这一点,我们就用心爱的滑动门技术;两个互补图片所创造出来的幻觉,一个默认的,一个点击时出现的。
我们的按钮,将是一个基本的标签嵌套<a>和<span> ,然后给每一个不同的层指定不同的背景图像。下面是HTML代码:
<a href=”#” class=”button”><span>Bring world peace</span></a>
接着,我们需要的是两张清晰的背景图片,分别使用在默认和聚焦状态下面:
我们将用这两张图片在CSS下面达到按钮的变幻效果,而不需要使用任何Javascript。背景图片应该设置一个合理的高度和宽度。比如这里,我们设定宽为300px,高为24px。
下面是分别是和的背景图片。
SPAN
A
样式化按钮
最后,我们需要一个CSS对按钮进行样式化 ,使这一切都联系在一起。因为我们要在此过程中,要对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 */
}
OK,大功告成。但需要注意的是,光靠上面的方法,不能正常运行于IE浏览器下面,所以,要让他在IE上也能工作,你需要在a标签里使用到:
<a href=”#” onclick=”this.blur();” class=”button”> … </a>
翻译的不是太流畅,早知道的话用自己的话解释了。如果上面的看不明白,你可以点击这里查看英文原文教程:How to make sexy buttons with CSS。