博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
select标签的默认样式修改
阅读量:6003 次
发布时间:2019-06-20

本文共 841 字,大约阅读时间需要 2 分钟。

在项目中,用到select标签,需要对select标签自定义样式。

在chrome浏览器中会对select有一个默认的border-radius,并且无法去掉。

可以通过下面的方法来解决:

 

1、需要通过下面的css才能修改select的border-radius

.select {

     -webkit-appearance: none;
     -webkit-border-radius: 0px;
}

但是这个方法会让select自带的三角箭头消失。

可以通过background来设置一个背景三角箭头来解决。

background: transparent url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center; transparentpadding-right:20px;

 

2、还有一种方法通过outline来解决

.select {

    border: 0px;
    outline: 1px solid rgb(204,204,204);
}

 

3、以上两种方法在网上都能查到,但是项目的需求比较复杂。

如果使用方法1,三角形的颜色固定不能随select字体颜色变化(因为我们需求可以自定义select的字体的颜色)

于是乎我想了用:before伪元素来添加一个三角形,颜色确实可以动态改变,但是这个三角形会挡住select的点击(因为select的背景色也要自定义,所以不能置于底部)

如果使用方法2,outline不能够设置radius,因为我们select的radius也要求可以自定义。

所以我在select标签外包了一个<label>标签,然后将select标签的border设置为none,给label标签设置border和背景色,很完美的解决了所有的需求。

 

转载于:https://www.cnblogs.com/richard-wzh/p/6866627.html

你可能感兴趣的文章
突破边缘,Know yourself!
查看>>
常见http状态码
查看>>
ldap 安装
查看>>
我的友情链接
查看>>
使用secure CRT的SFTP在LINUX与WINDOWS下交换文件
查看>>
Docker单独设置代理服务
查看>>
移动互联网,入口生死战
查看>>
Java clone方法
查看>>
连接查询详解
查看>>
System Center 2012私有云应用
查看>>
nginx面试常问题目
查看>>
KJMusic完整音乐项目
查看>>
lamp (module) 部署应用
查看>>
Linux的文件找工具find的小秘密
查看>>
bash基础命令参考
查看>>
linux的多种安装方式及安装注意事项
查看>>
linux分区命名及安装注意
查看>>
linux系统目录分支结构及存放内容
查看>>
毕业设计笔记
查看>>
XMLHttpRequest 及其open()的用法
查看>>