投递文章投递文章 投稿指南投稿指南 RSS订阅RSS订阅

CSS实现的长度自适应“自定义按钮”

来源:蓝色理想论坛 发布时间:2007-11-01 收藏 投稿 字体:【

由于在做项目的原型设计,不想使用系统的按钮(不同的系统千奇百怪)。所以想用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>”  -->

最新5条评论 查看所有评论
评论内容:请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名 注册
热门文章
随机推荐
About iTtang - 联系方法  - 专题列表 - 友情链接  -  高级搜索   -  帮助中心  -