H5下拉框的自定义

今天做h5遇到个问题,我发现h5原生的下拉框很不好用,而且更改样式也不好改。所以我索性自己想办法自定义了一个下拉框的方法,在这里也算做个笔记以后有需要的时候可以找到。

效果如下:

自我感觉还不错,哈哈。

HTML代码: 

CSS代码:(也是最重要的代码)

这里其实是一些简单的布局。

.pullDown{

width:100%;

height:2.5rem;

}

.pullDown.select{

width:5rem;

height:2rem;

line-height:2rem;

font-size:0.85rem;

color:grey;

margin-top:0.25rem;

margin-left:0.75rem;

/*background-color: yellow;*/

}

.pullDown.icon{

margin-left:5.6rem;

position:absolute;

margin-top: -1.5rem;

}

这里是为了点击的时候小三角形会旋转90度

.icon_rotate{

transform:rotate(90deg);

-ms-transform:rotate(90deg);/* IE 9 */

-moz-transform:rotate(90deg);/* Firefox */

-webkit-transform:rotate(90deg);/* Safari && Chrome */

-o-transform:rotate(90deg);

}

.pullDown.seleUl{

margin-left:0.75rem;

position:relative;

z-index:2;

background-color:grey;

width:5rem;

height:6.6rem;

border-radius:0.5rem;

text-align:center;

font-size:0.9rem;

color:white;

display:none;

}

.seleUl.seleLi{

height:1.6rem;

line-height:1.6rem;

border-bottom:0.1rem solid white;

}

.seleUl.seleLi2{

height:1.6rem;

line-height:1.6rem;

}

.seleUl.checkSele{

margin-top: -1.35rem;

width:4rem;

margin-left: -2rem;

position:absolute;

z-index:3;

}

/*自定义复单选框的样式*/

这里要有单选框的目是为了选中以后能够获取选中的值,因为去后台请求数据不可能用中文去请求,所以只能用类型去请求,这样为了获取不同的类型去请求数据。(其实复选框也是一样的道理)

input[type="radio"]{

-webkit-appearance:none;

-moz-appearance:none;

appearance:none;

outline:none;

display:inline-block;

vertical-align:middle;

width:1rem;

height:1rem;

border-radius:1rem;

background-size:100%auto;

box-sizing:border-box;

background-position:0 0;

-webkit-tap-highlight-color:rgba(0,0,0,0);

/*-webkit-user-modify有个副作用,就是输入法不再能够输入多个字符*/

-webkit-user-modify:read-write-plaintext-only;

background-color:rgba(0,0,0,0);

border:0;

}

/*单选框鼠标按下时增加的样式*/

input[type="radio"]:active{

background-color:rgba(0,0,0,0);

}

/*单选框选中后增加的样式*/

input[type="radio"]:checked{

background-position:0-36px;

-webkit-tap-highlight-color:rgba(0,0,0,0);

/*-webkit-user-modify有个副作用,就是输入法不再能够输入多个字符*/

-webkit-user-modify:read-write-plaintext-only;

/*background: url("../img/confirm.png") no-repeat center;*/

background-color:rgba(0,0,0,0);

border:0;

}

/*单选框选中后增加的样式*/

input[type="radio"]:checked:active{

background-color:rgba(0,0,0,0);

}

input[type="radio"]::-ms-check{

display:none;

}

JS代码:

其实自定义这个下拉框,最主要的是CSS样式的应用。只要善于思考很多东西也是可以去自己自定义出来的。

简书:http://www.jianshu.com/p/c7a0a7695faf

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和\[2\]的内容,可以通过自定义下拉框来实现select下拉框自定义内容。具体步骤如下: 1. 创建一个div元素,作为自定义下拉框的容器。 2. 在容器中添加一个按钮,用于触发下拉框的展示。 3. 在容器中添加一个div元素,作为下拉框的背景,并设置点击事件,用于关闭下拉框。 4. 在容器中添加一个ul元素,作为下拉框的选项列表。 5. 在ul元素中添加li元素,作为每个选项,并设置点击事件,用于选择选项。 6. 根据需要,可以通过CSS样式来美化自定义下拉框的外观。 具体的HTML代码和CSS样式可以参考引用\[2\]中的示例代码。通过这种方式,可以实现自定义下拉框,并添加自定义的内容。 #### 引用[.reference_title] - *1* *2* [自定义Select下拉框](https://blog.csdn.net/qq_22865115/article/details/90462064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [el-select:从字典获取下拉框内容后,自定义下拉框展示内容,并且可以根据value值进行模糊查询](https://blog.csdn.net/qq_45328656/article/details/131246976)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值