不同的浏览器默认的select的选项图标是不同的,例如:

在chrome中,是这样的:

未点击时    点击时 

在Firefox中是这样的:

未点击时  点击时  

在IE9中是这样的:

未点击时 点击时 

其它浏览器大家可以自己尝试看看select的默认样式

下面开始正式介绍怎么替换:

这是我的html代码:

<div>
  <select id="mySelect">
    <option value="bj">北京</option>
    <option value="sh">上海</option>
    <option value="tj">天津</option>
    <option value="cq">重庆</option>
   </select>
</div>

1、 首先,在css文件中,如果想改变select的默认边框,可以直接对其进行设置   注意:对IE不起作用 

#mySelect{

  border:1px solid red;   /*将select的边框设置成红色*/

  /*border:0;  或者border:none      如果不想要边框,可以这样设置   */

}

设置完后

在chrome中是这样的

在Firefox中是这样的

2、去除select默认的下拉图片   注意:对IE不起作用 

#mySelect{

  border:1px solid red;

  appearance: none;

  -webkit-appearance: none;   /*去除chrome浏览器的默认下拉图片*/

  -moz-appearance: none;  /*去除Firefox浏览器的默认下拉图片*/

}

在chrome和Firefox中都是下面图片的效果:

3、添加自己的图片   注意:对IE不起作用 

#mySelect{

  border:1px solid red;

  appearance: none;

  -webkit-appearance: none;   /*去除chrome浏览器的默认下拉图片*/

  -moz-appearance: none;  /*去除Firefox浏览器的默认下拉图片*/

  background:url('tir.jpg') no-repeat right center;

  /*background:url('自己的图片路径') no-repeat right center;  将自己的图片放在select的最右边的中部,图片的位置可以通过background-position属性

   自己设置进行位置的微调*/ 

}

设置后的样式是这样的:chrome和Firefox都是一样的

4、想让三角图片过去,给select设置宽度即可

#mySelect{

  border:1px solid red;

  appearance: none;

  -webkit-appearance: none;   /*去除chrome浏览器的默认下拉图片*/

  -moz-appearance: none;  /*去除Firefox浏览器的默认下拉图片*/

  background:url('tir.jpg') no-repeat right center;

  /*background:url('自己的图片路径') no-repeat right center;  将自己的图片放在select的最右边的中部,图片的位置可以通过background-position属性

   自己设置进行位置的微调*/ 

  width:100px;

}

实现效果如下:chrome 和Firefox一样

注意:在某些老的Firefox版本中,可能设置完这些后,Firefox中的默认小三角还是在,如下图:

此时,在select选择器中添加

  text-indent:0.01px;

  text-overflow:"";

  两个属性即可

#mySelect{

  border:1px solid red;

  appearance: none;

  -webkit-appearance: none;   /*去除chrome浏览器的默认下拉图片*/

  -moz-appearance: none;  /*去除Firefox浏览器的默认下拉图片*/

  background:url('tir.jpg') no-repeat right center;

  width:100px;

  text-indent:0.01px;

  text-overflow:"";

}

 

如何把select默认的小三角替换成自己的图片的更多相关文章

  1. 将select的默认小三角替换成别的图片,且实现点击图片出现下拉框选择option

    最近做项目,要求修改select下拉框的默认三角样式,因为它在不同浏览器的样式不同且有点丑,找找网上也没什么详细修改方法,我就总结一下自己的吧. 目标是做成下图效果: 图一:将默认小三角换成红圈的三角 ...

  2. 自己修改select的样式(修改select右边的小三角)

    CSS就可以解决,原理是将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可. select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ ...

  3. 清除select自带小三角

    select {/*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/appeara ...

  4. 将Word表格中单元格中的文字替换成对应的图片

    示例 原文件结构: 替换后文档结构: 软件截图: 代码: using System;using System.Collections.Generic;using System.ComponentMod ...

  5. android checkbox 未选中状态 已选中状态 替换成自己的图片

    效果图: 未选中状态: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  6. 自定义select 小三角

    把select小三角换成自己的图片 效果: css样式: <style> #my_select { display: flex; display: -webkit-flex; width: ...

  7. css直接写出小三角

    在开发移动端项目时,总是遇到很多小三角,之前一直用图片,感觉好麻烦,今天尝试了直接用CSS写出小三角!先看看如何写出各种小三角! /*箭头向上*/ .arrow-up { ; ; border-lef ...

  8. 去除html页面中按钮在ios中的默认样式,去除select自带的小三角图标

    btn{-webkit-appearance: none;} -webkit-appearance: none也能去掉select下拉列表后面自带的小三角

  9. 修改select默认小箭头

    在html中select下拉框默认的小箭头是这样的 有时候我们需要把这种小箭头用更好看的图片代替,就需要改变样式了. html 代码如下: <select class="comm-se ...

随机推荐

  1. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

  2. URI编码解码和base64

    概述 对于uri的编解码,在js中有3对函数,分别是escape/unescape,encodeURI/decodeURI,encodeURIComponent/decodeURIComponent. ...

  3. 2.C#面向对象基础属性

    属性: 1.一般属性开头字母大写,字段开头字母小写. 2.通过public来赋值的方法无法判断赋值是否非法! 3.无论赋值如何,取值如果就是不采用赋值的结果,那么无论赋值什么都不管用. 4.经典错误之 ...

  4. Linux 系统命令笔记

    前言 翻出N年前学习笔记,感觉还有点用,放到博客备忘,自己查看用. 一. 系统命令笔记 1.系统 % /etc/issue           # 查看操作系统版本  %          # 观察系 ...

  5. 来,一起让我们越来越懒,面向CSS、JS未来编程。(9.28已更新)

    2016.10.29更新 本文存在大量的错误,仅供参考. 不知不觉在前端领域马上一个年头就要过去了,然而再看看自己的代码,果然够烂,那么为什么代码一直没有用面向对象的思维去写CSS呢?首先有两点:一点 ...

  6. 让Lua支持Linq吧

    第一次接触Linq是在使用C#的时候,这种语法,在处理列表数据非常方便.如果想了解Linq的更多内容可以百度一下Linq,不过你不了解也没关系,让我在Lua中给你展示一下Linq的魅力.简单点说,Li ...

  7. Entity Framework 教程——创建实体数据模型

    创建实体数据模型: 本文将带你创建实体数据模型(EDM)SchoolDB数据库和理解基础建设模块. 实体数据模型(EDM)是用于描述实体之间关系的一种模型,以下将使用Visual Studio 201 ...

  8. Hive学习笔记(一)

    摘要: Hive 是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的机制.H ...

  9. php静态缓存简单制作

    制作缓存的目的是为了让我们的页面运行更加快速,减少读取数据库内容的次数,给用户更好的体验,为此我们可以使自己的程序做一下缓存,并且设置一个缓存过期的时间,来保证与数据库的一致,当然并不是所有的程序都适 ...

  10. bootstrap(关于栅格布局)

    栅格系统是通过行(.row)与列(column)的组合一起来创建页面布局的,所以只有列(column)可以作为行(row)的直接子元素,我们所要写的内容可以放在列里(column),不过在行的外层还需 ...