有效的PhoneGap CSS: WebKit Tap Highlight Color

原文链接:文章1:http://phonegap-tips.com/articles/essential-phonegap-css-webkit-tap-highlight-color.html(此文非直译)

因为文章2:http://www.mobify.com/blog/beginners-guide-to-perceived-performance/ 这篇文章提供了四种方法,让你的移动web提升“感知性能”,看起来更像是原生app。

这四种方法中第一种是给button增加触摸状态,“为了让你的网站看起来更快,你需要让你的button在用户触摸以后立即反应,这样会让用户觉得发生了什么,而不是在等待。”

利用的方法也就是CSS3的新属性:-webkit-tap-highlight-color

在PC的web上,会有鼠标悬停在页面上,按下鼠标以后也会有反馈。而在移动设备上,利用手指点击,目标小,手指触摸以后,如果目标没有反馈,用户会不知道是否点击了相应的地方,是应该等待,还是应该再次点击。

假设在你的移动web页面上有这样的代码:

<a class="html5logo" href="javascript:void(0);"></a>

css如下:

.html5logo {
  display: block;
  width: 128px;
  height: 128px;
  background: url(/img/html5-badge-128.png) no-repeat;
}

这个链接会有默认的点击连接样式,如下图:

在phonegap中希望把这个灰色的默认高亮色去掉。实际上,当我们利用命令行创建phonegap项目的时候,默认的tap高亮颜色就已经自动帮我们去掉了。

简单的利用-webkit-tap-highlight-color 属性就可以实现透明的颜色

.html5logo {
  display: block;
  width: 128px;
  height: 128px;
  background: url(/img/html5-badge-128.png) no-repeat;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-tap-highlight-color: transparent; /* For some Androids */
}

因为是CSS,所以可以利用它去掉整个项目的tap颜色高亮,也可以只单独的使用在需要去掉颜色的元素上。去掉颜色以后,当然也需要给用户以反馈,所以我们考虑了用:active伪元素来实现。

.html5logo {
  display: block;
  width: 128px;
  height: 128px;
  background: url(/img/html5-badge-128.png) no-repeat;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-tap-highlight-color: transparent; /* For some Androids */
}
.html5logo:active {
  -webkit-transform: scale3d(0.9, 0.9, 1);
}

当使用上面的CSS在ios/android的浏览器上时,是没有任何反应的,还需要在html上动点小手脚。

<a class="html5logo"
  href="javascript:void(0);"
  ontouchstart="return true;"></a>

需要使用ontouchstart事件绑定来是的:active属性生效。

--------------------------------------------------------------------------------------------------------------------------------------

 

 

转载于:https://www.cnblogs.com/lilyimage/p/3363632.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值