怎么用纯CSS制作带小三角的tooltip提示框

html-css014

怎么用纯CSS制作带小三角的tooltip提示框,第1张

使用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效果