使用CSS制作小三角形实际就是通过控制块元素的边框来实现的。
例如:
<style>
.triangle-up {
width: 0
height: 0
border-left: 50px solid transparent
border-right: 50px solid transparent
border-bottom: 100px solid red
}
.triangle-down {
width: 0
height: 0
border-left: 50px solid transparent
border-right: 50px solid transparent
border-top: 100px solid red
}
.triangle-left {
width: 0
height: 0
border-top: 50px solid transparent
border-right: 100px solid red
border-bottom: 50px solid transparent
}
.triangle-right {
width: 0
height: 0
border-top: 50px solid transparent
border-left: 100px solid red
border-bottom: 50px solid transparent
}
</style>
<div class='triangle-down'></div> <!--向下三角形-->
<div class='triangle-up'></div> <!--向上三角形-->
<div class='triangle-left'></div> <!--向左三角形-->
<div class='triangle-right'></div> <!--向右三角形-->
原理就是设置块元素的三条边透明掉(tranparent)
微信小程序的最下方的tab有两种方式,一种是微信小程序自带的,另外一种是自己实现或使用组件来做。两种tab都只能用一种方式来实现这个tooltip。
使用div和css制作一个这个tooltips,然后用css定位到屏幕最下方。
实现这种tooltips的代码全网到处都是,可以使用伪类、css+div等方式来做这个提示框。
首先参考了这篇文章: 5行JS自定义title提示效果(Tooltip)
参考后实现如下:
Html: 用了angularjs的ng-repeat
css:
然后发现iPhone手机点击后仍然不显示提示文字。
参考了这篇文章解决了问题。 苹果手机无法识别hover的解决方案
在html页面后面加上
在实现过程中又找到了几个现成的插件亲测可用:
Microtip.css 纯css3 Tooltip工具提示样式
Hint.css 纯CSS实现的Tooltip提示 - Hint.css
纯css3 Tooltip工具提示样式
tootik
之前还尝试使用过jquery-ui的Tooltip,iPhone也是不好用但是发现这篇文章非常好。
解决 Jquery UI Tooltip 用在Select 的BUG
这是我用jquery-ui时的写法,因为给所有document都响应tooltip事件,导致只要有title的都会显示。
文章里这种改法可以过滤我们想要响应hover的到底是什么元素。
这部分内容jQuery-UI 控件上是没有说的,非常有用。
这篇文章没细看
ontouchstart实现手机触屏中的hover效果