由于在做项目的原型设计,不想使用系统的按钮(不同的系统千奇百怪)。所以想用CSS实现一个“自定义按钮”,就做了这个。不知道前人有没有这么做的?
相对于<input type="image">这个方法有2个优势:1是可以自动适应长度;2是响应鼠标效果;
查看效果:http://wiseinfo.cn/lab/wiButton.html
兼容IE6, IE7, FF, Opera, Safari。现在在IE6上还有一点Bug,是由于IE6的解释不精确造成的。还在优化。给出代码。
现在的使用法方还很麻烦,因为在HTML中要插入很多辅助代码。之后希望利用JS来改进这个方法,JS还在研究(有4年不用JS了,都忘了,哪个大侠能搭把手更好)。
补:我用了4个span标签来做4个角,其实完全可以用2个标签来做前后边,但这样高度就固定了,其实按钮的高度很少改动的。不知道我当初为什么放弃了前后边的方法写了这个4个角的方法。
CSS部分:
a.wiButton{
position:absolute;
width:auto;
height:16px;
_height:18px;
background-color:#b5b5b6;
border:solid 1px #595757;
font-family: "微软雅黑", Verdana, Tahoma, "宋体";
font-size:11px;
text-align: center;
cursor:default;
}
a.wiButton:link, a.wiButton:visited, a.wiButton:hover, a.wiButton:active{
color:#000000;
text-decoration: none;
}
a.wiButton:hover{
background-color:#c5c6c6;
}
a.wiButton .letter{
position:relative;
top:0px;
height:14px;
padding-left:10px;
padding-right:10px;
text-decoration: none;
overflow: hidden;
}
.wiButton .TL, a.wiButton .TR, a.wiButton .BL, a.wiButton .BR{
position:absolute;
width:4px;
height:4px;
background-repeat:no-repeat;
}
a.wiButton .TL{
top:-1px;
left:-1px;
background-image:url(images/buttonTL.gif);
}
a.wiButton .TR{
top:-1px;
right:-1px;
background-image:url(images/buttonTR.gif);
}
a.wiButton .BL{
_top:13px;
left:-1px;
bottom:-1px;
background-image:url(images/buttonBL.gif);
}
a.wiButton .BR{
_top:13px;
right:-1px;
bottom:-1px;
background-image:url(images/buttonBR.gif);
}
a.wiButton .light{
position:absolute;
top:-1px;
left:0px;
width:100%;
height:9px;
background-color:#FFFFFF;
z-index:100;
filter:alpha(Opacity=24);
-moz-opacity: 0.24;
opacity: 0.24;
overflow: hidden;
}
HTML部分:
<a href="#" class="wiButton"><span class="TL"></span><span class="TR"></span><span class="BL"></span><span class="BR"></span><span class="light"></span><span class="letter">Button</span></a>
希望JS实现后的HTML部分:
<a href="#" class="wiButton">Button<SCRIPT LANGUAGE="JavaScript">wiButton();</script></a>
<!-- wiButton();的功能是识别自己所在A标签的id,然后向A标签起始标签后插入“<span class="TL"></span><span class="TR"></span><span class="BL"></span><span class="BR"></span><span class="light"></span><span class="letter">”,向A标签结束标签前插入“</span>” -->
RSS订阅






收 藏
推 荐