您的位置:首页 > 其它

清除浏览器默认表单边框/背景特效和下拉菜单背景

2015-12-18 11:15 357 查看
大家应该都留意到类似谷歌和火狐浏览器中都会有自己默认的样式设置,比如谷歌浏览器所有的表单都会添加黄色边框特效。当网站本身就已经对于表单样式有一定的设计时,这种默认表单样式就会让人觉得多余了!这里我们介绍下如何去掉Chrome谷歌浏览器默认的input、textarea的边框(border)和背景(background) 及Chrome下不可更改textarea大小。

可以用下面的代码去掉所有元素的边框轮廓,

01
*:focus {
outline
:
none
;}


用下面的代码去掉你要去掉的元素的边框轮廓,

01
.nohighlight:focus {
outline
:
none
;
}


你也可以给元素增加你希望的边框,

01
.changeborder:focus {
outline
:blue
solid
4px
; }


Chrome允许用户控制textarea表单域的大小,在CSS中加入下面一句就可以了,

01
.
textarea {resize:
none
;}

谷歌会自动加背景的问题:

谷歌浏览器内核特有。用:-webkit-appearance:none 解决。

select下拉菜单CSS美化:

当我需要用下拉列表拼凑自定义表单时,我常常不得不使用下拉框(select),由于某些部分是浏览器特定的,如下拉箭头,我花了一段时间去搞清楚如何只使用css轻松地美化下拉框。

下面是一个默认样式的下拉框的长相:

Here is the first option

code:

<select>
<option>Here is the first option</option>
<option>The second option</option>
</select>


一个选择框的某些部分我们是可以美化的,比如字体、边框、颜色、内边距和背景颜色:

Here is the first option

但是烦人的下拉箭头还是保持不变。没有直接美化它的方式,但解决方案还是非常简单的,首先我们需要用一个div容器包裹在select元素外围:

1 <div class="styled-select">
2 <select>
3 <option>Here is the first option</option>
4 <option>The second option</option>
5 </select>
6 </div>


下一步我们需要加入一些css,以确保选择框元素被以某种方式美化:

.styled-select select {
background:transparent;
width:268px;
padding:5px;
font-size:16px;
border:1px solid #ccc;
height:34px;
-webkit-appearance:none; /*for chrome*/
}


我们需要确保选择框的跨度比外围的div容器更宽,这样默认的下拉箭头就会消失(译者注:选择框比外面的div宽大,默认的下拉箭头就会被隐藏)

下面是我们要用的新下拉箭头:



我们的div容器需要被美化成新的下拉箭头出现在我们预想的位置:

.styled-select {
width:240px;
height:34px;
overflow:hidden;
background:url(new_arrow.png) no-repeat right #ddd; }


解决办法非常容易,不用别的只使用css就能美化您的选择框。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: