
原文地址:Rediscovering the Button Element
翻译整理:西米CC
你肯可能会对代码中空白的alt标签感到疑惑,尤其是那些认为页面中每张图片都应该添加alt属性的人。事实上alt中的描述信息不是必须的,空白标签完全符合标准,并且能帮助屏幕阅读器有效的筛选信息,为用户寻找下一个可访问项目节省宝贵时间。虽然我们在设计时用了图标进行美化,但很大程度上而言,这些图标也可算是多余的,而对用户来说,单纯的“Submit”比“alt描述+Submit”明显要来得更简洁。
CSS部分虽然大部分都比较简单,但是鉴于浏览器的差异,如padding之类的属性被渲染时会产生很多不稳定的因素,幸运的是解决方法还是有的:
- .buttons a, .buttons button{
- display:block;
- float:left;
- margin:0 7px 0 0;
- background-color:#f5f5f5;
- border:1px solid #dedede;
- border-top:1px solid #eee;
- border-left:1px solid #eee;
- font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
- font-size:100%;
- line-height:130%;
- text-decoration:none;
- font-weight:bold;
- color:#565656;
- cursor:pointer;
- padding:5px 10px 6px 7px; /* Links */
- }
- .buttons button{
- [color=Blue] width:auto;
- overflow:visible;</font>
- padding:4px 10px 3px 7px; /* IE6 */
- }
- .buttons button[type]{
- padding:5px 10px 5px 7px; /* Firefox */
- line-height:17px; /* Safari */
- }
- *:first-child+html button[type]{
- padding:4px 10px 3px 7px; /* IE7 */
- }
- .buttons button img, .buttons a img{
- margin:0 3px -3px 0 !important;
- padding:0;
- border:none;
- width:16px;
- height:16px;
- }
一个问题就是在显示长按钮时IE存在BUG,相关信息可以参考Jehiah.cz的文章,但是我们可以通过上述CSS代码中width和overflow属性的声明来解决。
添加一些颜色来增加按钮功能的辨识性
在作者的wufoo网站中,使用绿色来表征提交、保存等正性动作,用红色来表征取消、删除等负性操作,而一些中兴的用应用则用蓝色来表示。不管对哪个网站而言,这种利用人们的色彩感觉来帮助我们表达信息的方式,都不失为一个很好的选择:
- /* STANDARD */
- button:hover, .buttons a:hover{
- background-color:#dff4ff;
- border:1px solid #c2e1ef;
- color:#336699;
- }
- .buttons a:active{
- background-color:#6299c5;
- border:1px solid #6299c5;
- color:#fff;
- }
- /* POSITIVE */
- button.positive, .buttons a.positive{
- color:#529214;
- }
- .buttons a.positive:hover, button.positive:hover{
- [color=Blue] background-color:#E6EFC2;</font>
- border:1px solid #C6D880;
- color:#529214;
- }
- .buttons a.positive:active{
- [color=Blue] background-color:#529214;</font>
- border:1px solid #529214;
- color:#fff;
- }
- /* NEGATIVE */
- .buttons a.negative, button.negative{
- color:#d12f19;
- }
- .buttons a.negative:hover, button.negative:hover{
- [color=Blue] background:#fbe3e4;</font>
- border:1px solid #fbc2c4;
- color:#d12f19;
- }
- .buttons a.negative:active{
- [color=Blue] background-color:#d12f19;</font>
- border:1px solid #d12f19;
- color:#fff;
- }
最后需要说明的是,上述只是Wufoo网站中的实现方法,要设计类似的效果还是有很多其它的途径,比如文本替换技术等等。因为button标签中内容编辑的自由度比较大,我们甚至可以在其中添加span元素设计出美轮美奂的视觉效果,具体方法可以参考Alex Griffioen的文章。



