工作上写了一个btn的样式类。很小的一块了。在bootstrap强大的样式库里就是非常渺小的一个。
类名 <code>.btn</code>
<button class="btn"></button>
表现类<code>.btn-default/.btn-primary/.btn-danger/.btn-warning/.btn-info/.btn-success</code>
btn的默认表现为btn-default。
可应用元素
你可以应用在 input[type=submit/button/reset]、a、span等元素上。
处理方法
input[type="button"]和input[type="submit"]在浏览器中的box-sizing表现是不一样的。前者表现为content-box,后者则为border-box,这个ie,火狐都惊人的一直,连ie7也是如此。所以将box-sizing设置为content-box,让其行为一致,ie7则采用手动添加border高度的方式降级处理。
input[type=submit] ie7黑色边框bug
<label class="btn btn-success"><input type="submit" value=" 提交"></label>
采用label包裹的方式处理,内部input背景透明,border:0的方式消除。
当然,如果你不用处理ie7上的这个小bug,完全不用理会。直接btn类设置就好了。
![W)P7]LTQPYYHIF`0AYZ0}ZB.png](http://upload-images.jianshu.io/upload_images/330266-87eb9e6ee98e2a2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
查看DEMO
@charset "utf-8";$height:100; .btn{ height:$height + px; line-height:$height + px; padding: 0 0.3em; font-size: 14px; box-sizing:content-box;//重置input submit、buttonbox-sizing border-box 为content-box。做到一致的表现 //ie7手动添加border高度 vertical-align: text-top; display: inline-block; *display: inline; *zoom:1; border:1px solid #ddd; background-color: #ddd; border-radius: 3px; overflow: visible;//IE7下文字表现左右空格 color: #333; cursor: pointer; input[type="submit"]{//IE7下黑色边框问题,采用label包裹input[type="submit"]方式 background:transparent; border:none; line-height:$height + px; height:$height + px; display: block; vertical-align: text-top; font-size:14px; margin:0 -6px; *overflow: visible; *margin:0; color: #fff } &:hover{ opacity: 0.8; filter:alpha(opacity=80); } &:active{ opacity:1; filter:alpha(opacity=100); } &:focus{ outline: 0; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } &:visited{ opacity:1; filter:alpha(opacity=100); } @at-root{ /* 处理火狐-moz-focus-inner内默认padding值,导致line-height文字不居中问题*/ button::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner { border:none; padding:0 inherit; } input[type="submit"].btn, input[type="button"].btn, input[type="reset"].btn, button.btn{ *height:($height + 2) + px;//处理IE7 box-sizing问题。submit,button,reset表现为border-box问题 *line-height:($height - 2) + px; } a.btn{ color:inherit; text-decoration:none; } } } .btn-default{ color: #333; background-color: #fff; border-color: #ccc;} .btn-danger{ color: #fff; background-color: #d9534f; border-color: #d43f3a;} .btn-warning{ color: #fff; background-color: #f0ad4e; border-color: #eea236;} .btn-info{ color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-success{ color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-primary{ color: #fff; background-color: #428bca; border-color: #357ebd;}
作者:Alee文润
链接:https://www.jianshu.com/p/441045dd4d69
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦