Change Password
Cancel
这样做的目的是因为在网页应用程序中很多动作都是事件(REST)驱动的,因此通过一个特定的URL发送用户请求可以把这些动作初始化。使用在两种元素上都可以应用的样式,使我们在维持Ajax和标准提交按钮引起的交互时的样式统一手段更加灵活。现在你可能会问,为什么我要把图像元素的alt属性留成空白呢?alt是img元素的必要属性,它用于解释图像的内容,而这里却没有图像的相关说明,这的确有点费解。不过,与“缺少”属性不同,属性值“为空”是完全符合标准的,他告诉浏览器这些图像代表了一些完全可以忽略的信息,这也使浏览者不用因为提示信息的遮挡而找不到下一个按钮。由于此处的图标完全是多余的,因此我们宁愿不去浪费用户的时间去查看这个完全是为了实现界面风格统一而使用的图标。CSS样式表用于控制这些按钮样式的CSS大部分内容都很直观,不同浏览器中的稍许差别,就会导致我们下面的代码中要分别为他们应用不同的padding值,还好,这一切都是完全可以实现的。 /* BUTTONS */.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{width:auto;overflow:visible;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;} 还有一个问题就是,Internet Explorer在呈现长按钮时存在一些bug。有关这方面的信息你可以在Jehiah.cz上找到,不过在上面的CSS代码中我们通过声明width和overflow的值会在一定程度上避免问题的出现。为按钮添加一点色彩在Wufoo中,我们为中性动作(这里,作者把change password一类的动作叫作中性动作,把“确定”、“提交”一类的动作叫作正向动作,而把“放弃”、“取消”一类的动作叫作负向动作)的hover值设为蓝色,而把正向动作和负向动作分别设为绿色和红色。下面的样式代码中就是我们用不同的颜色区分“添加”、“保存”一类的正向动作和“取消”、“删除”一类的负向动作的。感觉还不错,当然你也可以选择你喜欢的他颜色来使用。 /* 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{background-color:#E6EFC2;border:1px solid #C6D880;color:#529214;}.buttons a.positive:active{background-color:#529214;border:1px solid #529214;color:#fff;}/* NEGATIVE */.buttons a.negative, button.negative{color:#d12f19;}.buttons a.negative:hover, button.negative:hover{background:#fbe3e4;border:1px solid #fbc2c4;color:#d12f19;}.buttons a.negative:active{background-color:#d12f19;border:1px solid #d12f19;color:#fff;} 总结最后要说的是,这仅仅是我们应对Wufoo中需求而设计的解决方案,不过在我们的努力下它表现还不错。但是这并不是唯一方法,你可以找到更多有趣的办法把按钮变成圆角甚至更加丰富多彩。由于标签之间几乎可以放置任意其他元素,因此你还可以通过插入标签然后按照Alex Griffioen最新提供的方法来创建一个真正好看的圆角立体按钮。说实话,我希望对于所有为程序的界面重复使用而努力的设计者来说这仅仅是一个开始。不管怎么说,我希望你能够在打开Photoshop制作input按钮前多思考一下,多看一眼这个几乎被遗忘的标签,也许他会给你惊喜。附录:HTML4.0/xhmtl1.0中的元素定义和用法定义一个按钮。在 button 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 input 元素创建的按钮之间的不同之处。 控件 与 相比,提供了更为强大的功能和更丰富的内容。 与 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或多媒体内容。例如,我们可以在按钮中包括一个图像和相关的文本,用它们在按钮中创建一个吸引人的标记图像。唯一禁止使用的元素是图像映射,因为它对鼠标和键盘敏感的动作会干扰表单按钮的行为。可选择的属性属性值描述DTDdisabled disabled 禁用此按钮。 STFnamebutton_name 规定此按钮的唯一名称。 STFtype* button* reset定义按钮的类型。 STF* submitvalue some_value 规定按钮的初始值。此值可被脚本修改。 STF标准属性:id, class, title, style, dir, lang, xml:lang, accesskey, tabindex事件属性:onfocus, onblur, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup