input选择框样式修改与自定义

html自带的选择框样式不好看,并且在ios设备上丑的罚款。所以一般都是自定义样式;

原理:将原来默认的input选择框隐藏,然后控制label的:before与:after,配合矢量图标或者图片来实现选中效果。

由于时间原因,只做了个一种样式。想要其他样式的话改改就行了。想看更详细的给大家推荐个网址可以详细看看:http://www.jq22.com/yanshi11319

效果:

  

这些样式大小、颜色、图标都是可以改的啦。有时间要做一套出来,可以直接用的啦。建议用图片做,如果用矢量图标的话效果虽然好,但是要引入图标库滴。

html代码:

<link rel="stylesheet" href="http://at.alicdn.com/t/font_bo8heq56fci60f6r.css">
<p class="checkbox"><input id="agree_check" type="checkbox"><label for="agree_check">我已阅读并同意<a href="user_agreement.html" target="_blank"><span class="blue">《软件使用协议》</span></a></label></p>
<p class="tc mt10"><button class="btn_submit" @click="_submit()">立即分享</button></p>

<div class="radiobox">
    <input type="radio" id="nan" name="sex" value="1" v-model="sex" /><label for="nan">男</label>
</div>
<div class="radiobox">
    <input type="radio" id="nv" name="sex" value="2" v-model="sex" /><label for="nv">女</label>
</div>

css样式:

/*复选框样式*/
.checkbox{position:relative;}
.checkbox label{padding-left:18px;}
.checkbox label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  top:1px;
  margin-left: 12px;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background-color: #fff;
  }

.checkbox label::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 16px;
  height: 16px;
  left: -2px;
  top: 0px;
  margin-left: 12px;
  padding-left: 3px;
  padding-top: 1px;
  font-size: 16px;
  color: #555555;
  }

.checkbox input[type="checkbox"]:checked + label::before {
  background-color: #337ab7;
  border-color: #337ab7;
  background-image:;
  }

.checkbox input[type="checkbox"]:checked + label:after{
    font-family:"tp" !important;
    content: "\e62d";
    color:#fff;
}

/*单选框样式*/
.radiobox {
  padding-left: 40px; display:inline-block;}
.radiobox label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
    padding-left: 5px;line-height:19px; }
.radiobox label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  margin-left: -15px;
  border: 1px solid #cccccc;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
      transition: border 0.15s ease-in-out; }
.radiobox label::after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 11px;
  height: 11px;
  left: 3px;
  top: 3px;
  margin-left: -15px;
  border-radius: 50%;
  background-color: #555555;
  -webkit-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
      transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }
.radiobox input[type="radio"] {
    opacity: 0;
    z-index: 1; }

.radiobox input[type="radio"]:checked + label::after {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
      transform: scale(1, 1); }
.radiobox input[type="radio"]:disabled + label {
      opacity: 0.65; }
.radiobox input[type="radio"]:disabled + label::before {
        cursor: not-allowed; }
.radiobox.radio-inline {
    margin-top: 0; }

.radiobox input[type="radio"] + label::after {
  background-color: #337ab7; }
时间: 2024-10-14 10:46:59

input选择框样式修改与自定义的相关文章

css设置input文本框样式代码实例

css设置input文本框样式代码实例:使用css设置input元素的样式是最为常用的操作之一,当然也是最为基础的操作,可能对于刚刚接触css的朋友还不够熟悉,下面就通过一段简单的代码历史演示一下如何设置文本框的样式,当然这个演示可能并不是特别的美观,这里的目的也只是起到一个演示作用,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="

用jquery修改默认的单选框radio或者复选框checkbox选择框样式

默认的radio和checkbox选框很难看.我去看了一下qq注册的页面.发现单选和复选框并没有用<input>,居然是用是A标签.然后用css背景图片展示选择框,用JavaScript控制切换.然后我自己用jqeury写了一个这样功能的. 先是html代码 性别 <div id="box-6"> <label>性别</label> <a href="#" name="male" id=&qu

input[tyle=&quot;file&quot;]样式修改及上传文件名显示

默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格…… 实现方法和思路: 1.在input元素外加a超链接标签 2.给a标签设置按钮样式 3.设置input[type='file']为透明,并定位,覆盖在a上面 html代码: <a class="input-file input-fileup" href="javascript:;"> + 选择文件<input size="100" type="f

不用系统自带的复选框,单选按钮,选择框的样式,该怎么做

这里我主要针对pc端而言,移动端由于各个牌子的移动设备都有自己定义的复选框,单选按钮和选择框样式,这里不做讨论. pc端的默认样式大家都见过,这里直接上效果图 这是我简单做的两个自定义的复选框,单选按钮.以复选框为例,将复选框用一个div包裹起来,然后将复选框的透明度设置为0,下面来看看这个效果的代码 <style> .checks_icon{border: 1px solid red;border: 1px solid #ccc;padding: 0;height: 12px; width:

select选择框在谷歌火狐和IE样式的不同

select选择在不同浏览器不同的显示样式, 在IE中 虽然默认和谷歌一样,但是当点击时向下 按钮消失, 解决方法如下: select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/ appearance:none; -moz-appearance:none; -webkit-appearance:none; /*在选择框的最右侧中间显示小箭头图片*/ backgro

[ HTML5 表单样式 checkbox | radio ] 自定义checkbox 与radio样式实现思路

自定义checkbox 与radio样式实现思路: 1.隐藏原生的input选框  2.自定义新的选框  3.并通过CSS或JS控制切换是否选中的状态 声明:转载自网络,本人只作为学习之用,如果原作者发现(觉着)有侵权意图敬请联系本人,删除或修改,本人尊重原文作者的劳动并对原文作者的分享表示感谢和敬意... 分析原理: 实现 1.结构:用label绑定input,推荐使用label包裹input,以减少不必要的id: 2.样式:隐藏input标签,为label添加背景或使用其他小标签(<i>&

文件选择框。

1 <!DOCTYPE html>  2 <html>  3     <head>  4         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  5         <title>表单文件选择框样式</title>  6         <style type="text/css&q

UIDatePicker(日期时刻选择框)

1.基本用法: UIDatePicker * datePicker = [[UIDatePicker alloc] init]; [self.view addSubview:datePicker]; 只需要这两行代码就能显示一个日起时刻选择框: 2.自定义日期时刻选择框的大小位置: datePicker.frame = CGRectMake(50, 100, 350, 500); 3.日期时刻选择框的几种样式: (1)默认: datePicker.datePickerMode = UIDateP

appium+python自动化98-非select弹出选择框定位解决

前言 遇到问题:document.getElementsByClassName(...)[0] is undefined 选择框如果是select标签的,可以直接用select专用的方法去定位点击操作.其它不是select选择框的时候,那就按正常操作步骤先点输入框,再点选项就行了. 可是有些选择框就是不听话,你会发现用selenium死活定位不到,这个时候只能用万能的js来解决了. input选择框 1.先看下弹出框的常见,如下这种 2.查看元素属性,是input标签,并且是readonly属性