效果如下:
html代码:
<div class="form-inline"> <div class="radio-wrap"> <label class="radio"> <input type="radio" name="radio" checked="checked"> <i></i>是 </label> <label class="radio"> <input type="radio" name="radio"> <i></i>否 </label> </div> <div class="check-wrap"> <label class="checkbox"> <input type="checkbox" name="checkbox" checked="checked"> <i></i>选项一 </label> <label class="checkbox"> <input type="checkbox" name="checkbox"> <i></i>选项二 </label> <label class="checkbox"> <input type="checkbox" name="checkbox"> <i></i>选项三 </label> </div> </div>
css样式:
.form-inline .checkbox, .form-inline .radio { position: relative; display: inline-block; font-weight: 400; margin-bottom: 4px; margin-right: 10px; padding-left: 2px; line-height: 25px; color: #0c4757; cursor: pointer; font-size: 13px; } .form-inline .checkbox.state-disabled, .form-inline .radio.state-disabled { cursor: default!important; opacity: .6!important; } /*add*/ .form-inline .checkbox input, .form-inline .radio input { position: absolute; left: -9999px; } .form-inline .checkbox i, .form-inline .radio i { position: absolute; top: 6px; left: 0; display: block; width: 15px; height: 15px; outline: 0; border-width: 1px; border-style: solid; background: #fff; } .form-inline .radio i { border-radius: 50%; } .form-inline .checkbox i, .form-inline .radio i{ border-color: #acacac; transition: border-color .3s; -webkit-transition: border-color .3s; } .form-inline .checkbox input:checked+i, .form-inline .radio input:checked+i { border-color: #acacac; } .form-inline .checkbox input+i:after, .form-inline .radio input+i:after { position: absolute; opacity: 0; transition: opacity .1s; -webkit-transition: opacity .1s; } .form-inline .radio input+i:after { content: ''; top: 2px; left: 2px; width: 9px; height: 9px; border-radius: 50%; background-color: #47A8C0; } .form-inline .checkbox input:checked+i:after, .form-inline .radio input:checked+i:after { opacity: 1; } .form-inline .checkbox input+i:after { content: '\f00c'; top: -6px; left: -1px; width: 15px; height: 15px; font-family: FontAwesome; font-size: 15px; color: #47A8C0; }
注意:1、此方法中没用用到任何图片,只用到font awesome字体,对应的编码参考此文:网页使用Font Awesome图标字体时,css定义 content 属性。
2、此效果不兼容IE9+、chrome、FF等高版本浏览器。
所以在head中引用该css时,需要做如下兼容处理:
<!--[if gt IE 8]><--!> <link rel="stylesheet" href="css/notIE8.css"> <!--<![endif]-->
补充:如果复选框字体想用阿里的iconfont图标,那么在引进iconfont包的基础上,类.form-inline .checkbox input+i:after中的content和font-family都需要进行修改,其中content为图标的unicode编码,但有一点不同,html中可以直接使用,在css中要换算成\e608,形如:
.form-inline .checkbox input+i:after { content: '\e608'; top: -6px; left: -1px; width: 15px; height: 15px; font-family: 'iconfont'; font-size: 15px; color: #47A8C0; }
来源:https://www.cnblogs.com/uno1990/p/7305193.html