CSS层面
花式按钮都可以通过css实现,用最基础的css语法/方式,不需要通过js去写成组件形式。可以最基础的css2和css3写出炫酷的按钮效果
/*自定义按钮 */ .invoice-class-type{ position:relative; display:inline-block; 120px; height:30px; line-height:30px; text-align: center; } .invoice-class-type>input[type="radio"]{ position:absolute; display:block; height:1px; widht:1px; left:0; top:0; } .invoice-class-type>input[type="radio"]+i{ display:block; position:absolute; left:0; top:0; z-index:10; line-height:30px; 120px; height:30px; border:1px solid #888; border-radius:2px; cursor:pointer; background-color:#fff; } .invoice-class-type>input[type="radio"]:checked+i{ border-color:#f30026; background:url(../images/modify-img/red_right.png) no-repeat right bottom; background-color:#fff; } /*结束 自定义按钮*/
UI层面
尽量开发UI组件,同时配合js写成插件形式。比如modal 有大有小,但是主要部分不变 modal-head modal-backdrop modal-content modal-body modal-footer ,modal上可以加上大小规格,比如 lg md xs,让代码更简洁且有效并提高复用率。
icon层面
在项目中有两种解决方案,一种是雪碧图,另外一种方式就是字体图标,字体图标的要求就是浏览器能够支持IE8。如果,项目需求明确需要兼容到IE8那么雪碧图是最好的选择。其中,使用雪碧图时,需要把图标都写出来,用同一种规格比如,
1、大的图标引用类 /*订单中的图标*/ .icon-order{ display:inline-block; position:relative; background:url(../images/icon-order.png); } 2、具体图标名称 /*[垃圾桶]图标*/ i-trash{ 20px; height:20px; background-position:0 0; } i-trash:hover{ background-position:0 20px; } 每个图标的hover效果都写在当前图标类上,提高复用率