select标签的默认样式修改

在项目中,用到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和背景色,很完美的解决了所有的需求。

时间: 2024-10-09 19:32:59

select标签的默认样式修改的相关文章

bootstrap对HTML标签的默认样式有哪些修改?

CSS Reset:重新设置HTML标签的默认样式. (1)重设了盒子模型的计算方法 * { box-sizing: border-box; } (2)重设了所有元素的默认字体 14px/1.42857143 "Helvetica Neue" (3)body { margin: 0; color: #333; background-color: #fff;} (4)h1~h6 { font-size: xxpx; margin-top: 20px/10px; margin-botton

用纯css改变下拉列表select框的默认样式(转)

用纯css改变下拉列表select框的默认样式 分享到 分类 JS学习   关键字 前端   发布 kris  2015-04-01 注意 转载须保留原文链接,译文链接,作者译者等信息. 在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事情是这样的,您的设计师团队向您发送一个新的PSD(Photoshop文档),它是一个新的网站的最终设计. 一切看起来很好,很正常,直到你看到他/她设计的一个选择下拉框跟浏览器默认提供的样式有些不同!你说:“这没

vue里面select标签 添加默认选项&lt;option v-for=&quot;item in email&quot; :value=&quot;&#39;@&#39;+item&quot;&gt; chooseEmail: &#39;@163&#39;,

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style type="text/css"> 7 [v-cloak] { 8 display: none; 9 } 10 </style> 11 </head>

ie下select默认样式修改

chrome下浏览: IE和FF下浏览: 使用select做下拉菜单,使用appearance:none;可以消除默认样式,但是要每个浏览器兼容到 .contactus2_con select{ -webkit-appearance: none; -moz-appearance: none; appearance:none; background:none; background:url("../images/select.jpg") right center no-repeat; w

用纯css改变下拉列表select框的默认样式(不兼容IE10以下)

在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 事情是这样的,您的设计师团队向您发送一个新的PSD(Photoshop文档),它是一个新的网站的最终设计. 一切看起来很好,很正常,直到你看到他/她设计的一个选择下拉框跟浏览器默认提供的样式有些不同!你说:“这没办法做!你应该不会抱怨设计师,其实更改下拉输入的默认样式并不是非常难的! 下面是解决方案. 我们看到默认的下载选择框在firefox和chrome中是有些不同的 Chrome 和 Firefox 中分

[转载]用纯css改变下拉列表select框的默认样式

在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 问题的提出 事情是这样的,您的设计师团队向您发送一个新的PSD(Photoshop文档),它是一个新的网站的最终设计. 一切看起来很好,很正常,直到你看到他/她设计的一个选择下拉框跟浏览器默认提供的样式有些不同!你说:“这没办法做!你应该不会抱怨设计师,其实更改下拉输入的默认样式并不是非常难的! Mobile 和现代浏览器的解决方案 下面是解决方案. 我们看到默认的下载选择框在firefox和chrome中是

css的reset和常用的html标签的默认样式整理

先看下常用的这些标签浏览器的默认样式有哪些: body{ margin: 8px;} hr{ border:1px inset; margin-top:.5em;margin-bottom:.5em;} blockquote{margin: 16px 1em;} ul{list-style-type: disc;padding-left:40px;margin: 1em 0;} ol{list-style-type: decimal; padding-left:40px; margin:1em

你们有关注过HTML标签的默认样式和浏览器默认样式吗?

HTML默认样式 html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }/*以上列表元素默认状态下一块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在XHTML1中将废弃*/ li { display:

HTML的各个标签的默认样式

1 head{ display: none } 2 body{ margin: 8px;line-height: 1.12 } 3 button, textarea,input, object,select { display:inline-block;} 4 ol, ul, dir,menu, dd{ margin-left: 40px } 5 i, cite, em,var, address{ font-style: italic } 6 7 //块级元素 8 html, body, div