如何用css样式去掉默认设备或者浏览器的默认样式

html-css014

如何用css样式去掉默认设备或者浏览器的默认样式,第1张

手机设备下的界面

正常浏览器下的html5界面

要解决该问题需要加入一些css样式,如下:

input[type="button"], input[type="submit"], input[type="reset"] {

-webkit-appearance: none

-moz-appearance: none

appearance: none

}

如果还有圆角的问题,

.button{ border-radius: 0}

在写表单时候会发现一些浏览器对表单赋了默认的样式,如在谷歌浏览器下,文本框和下拉选择框当载入焦点时,会出现发光的边框!文本框textarea可以自由拖拽拉大!在IE10下,文本框输入内容后,会在右侧出现一个小叉叉。面对这些问题,下面来看看解决方法。

去除谷歌等浏览器文本框默认发光边框

input:focus, textarea:focus {

outline: none

}

去掉高光样式:

input:focus{

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

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

}

也可以重新根据自己的需要设置一下,如:

input:focus,textarea:focus {

outline: none

border: 1px solid #f60

}

这样的话,当文本框载入焦点时,边框颜色就会变为橙色,增强用户体验!

去除IE10+浏览器文本框后面的小叉叉

input::-ms-clear {

display: none

}

禁止多行文本框textarea拖拽

添加属性多行文本框就不能拖拽放大缩小了:

textarea {

resize: none

}

只要在样式里面加一句去掉css去掉iPhone、iPad的默认按钮样式就可以了。 (不要写在class里哦)

input[type="button"], input[type="submit"], input[type="reset"] {-webkit-appearance: none}

textarea {  -webkit-appearance: none}

如果还有圆角的问题,

.button{ border-radius: 0 }

1、去除Chrome等浏览器文本框默认发光边框

input:focus, textarea:focus {outline: none}

去掉高光样式:

input:focus{

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

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

当然这样以来,当文本框载入焦点时,所有浏览器下的文本框的边框都不会有颜色上及样式上的变化了,这样的话,当文本框载入焦点时,边框颜色就会变为橙色,给用户一个反馈。

2、去除IE10+浏览器文本框后面的小叉叉,只需下面一句就ok了

input::-ms-clear {display: none}

很多时候在做tab导航的点击时我们都会要上一个过渡的动画,不然的话会显得生硬,用户没有达到比较佳的用户体验。如下图:

在开发者工具中预览效果

我们可以用两种方法实现这样动画,css3的过渡或者用js去控制。省事的当然是用css3来写啦,我们先来看看css3的具体实现。

css3实现:

先看最基本的.wxml布局:

从图中可以看到,当前tap的line是用专门用一个元素来做的。那么怎么让line跟着tab走动呢?就是红圈部分,用translateX位移来移动,而transitions实现一个过渡效果。

curtab就是当前点击tab的index,点击的tab的index * 250(一个tab的宽度)就能让line跟着走对应的位移了。

来看看.js部分:

这样就能简单实现一个tab跟随动画啦。

(以上方法有个不足,就是tab的宽度是固定的,但是在实际开发中更多时候会遇到宽度不固定的情况。)

js实现:

有些喜欢折腾的同学说想要js来实现呢?当然也是可以的,用js来实现的思路也是一样,用控制line元素的translateX值。那么怎么知道应为位移多少呢?就是动态的去获取该位移的值,然后赋给translateX。

说到动态的去获取元素额left值,可以用到小程序的 wx.createSelectorQuery 这个api在传入元素后返回元素的四个位移值。(这里不细说api的用户,不清楚的同学请自行查看文档哈哈哈)

那是不是可以:

来看看具体的实现:

emmm最后说一下,前端时间看到过一个很骚的操作,同样是用纯css实现这种跟随动画,先看看效果图:

.css