首页 > web前端 > css教程 > 正文

CSS3里怎么实现提示文字的弹窗效果

php中世界最好的语言
发布: 2018-05-24 14:38:50
原创
4338 人浏览过

文字的弹窗效果相信大家都有做过,不过在CSS3里,这种效果可以不需要额外的JS代码来操纵,我们今天就给大家来实现一个不用JS的提示文字的弹窗效果。

Css代码

[data-tips] {
         position: relative;
         text-decoration: none;
}
         [data-tips]:after,
         [data-tips]:before {
             position: absolute;
             z-index: 100;
                   opacity: 0;
         }
                   [data-tips]:after {
                            content: attr(data-tips);
                            height: 25px;
                            line-height: 25px;
                            padding: 0 10px;
                            font-size: 12px;
                            text-align: center;
                            color: #fff;
                            background: #222;
                            border-radius: 5px;
                            text-shadow: 0 0 5px #000;
                            -moz-box-shadow: 0 0 5px rgba(0,0,0,0.3);
                            -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.3);
                            box-shadow: 0 0 5px rgba(0,0,0,0.3);
                            white-space: nowrap;
                            -moz-box-sizing: border-box;
                            -webkit-box-sizing: border-box;
                            box-sizing: border-box;
                   }
                   [data-tips]:before {
                            content: "";
                            width: 0;
                            height: 0;
                            border-width: 6px;
                            border-style: solid;
                   }
                            [data-tips]:hover:after,
                            [data-tips]:hover:before {
                                     opacity: 1;
                            }
/* Top tips */
[data-tips].top-tip:after,
[data-tips].top-tip:before {
    -webkit-transition: bottom 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: bottom 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: bottom 0.25s ease-in-out, opacity 0.25s ease-in-out;
         bottom: 90%;
         left: -9999px;
         margin-bottom: 12px;
}
         [data-tips].top-tip:before {
                   border-color: #222 transparent transparent transparent;
                   margin-bottom: 0;
         }
         [data-tips].top-tip:hover:after,
         [data-tips].top-tip:hover:before {
                   bottom: 100%;
                   left: 0;
         }
         [data-tips].top-tip:hover:before {
                   left: 15px;
         }
/* Bottom tip */
[data-tips].bottom-tip:after,
[data-tips].bottom-tip:before {
    -webkit-transition: top 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: top 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: top 0.25s ease-in-out, opacity 0.25s ease-in-out;
         top: 90%;
         left: -9999px;
         margin-top: 12px;
}
         [data-tips].bottom-tip:before {
                   border-color: transparent transparent #222 transparent;
                   margin-top: 0;
         }
         [data-tips].bottom-tip:hover:after,
         [data-tips].bottom-tip:hover:before {
                   top: 100%;
                   left: 0;
         }
         [data-tips].bottom-tip:hover:before {
                   left: 15px;
         }
/* Right tip */
[data-tips].right-tip:after,
[data-tips].right-tip:before {
    -webkit-transition: left 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: left 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: left 0.25s ease-in-out, opacity 0.25s ease-in-out;
         top: -9999px;
         left: 96%;
         margin-left: 12px;
}
         [data-tips].right-tip:before {
                   border-color: transparent #222 transparent transparent;
                   margin-left: 0;
         }
         [data-tips].right-tip:hover:after,
         [data-tips].right-tip:hover:before {
                   left: 100%;
                   top: 0;
         }
         [data-tips].right-tip:hover:before {
                   top: 7px;
         }
/* Left tip */
[data-tips].left-tip:after,
[data-tips].left-tip:before {
    -webkit-transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;
    -moz-transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;
    transition: right 0.25s ease-in-out, opacity 0.25s ease-in-out;
         top: -9999px;
         right: 96%;
         margin-right: 12px;
}
         [data-tips].left-tip:before {
                   border-color: transparent transparent transparent #222;
                   margin-right: 0;
         }
         [data-tips].left-tip:hover:after,
         [data-tips].left-tip:hover:before {
                   right: 100%;
                   top: 0;
         }
         [data-tips].left-tip:hover:before {
                   top: 7px;
         }
登录后复制

HTML代码

<a href="http://bavotasan.com" data-tips="Go to bavotasan.com">bavotasan.com</a>
登录后复制

这一段代码是纯CSS和HTML不含任何JS,有兴趣的朋友可以自己动手操作一下,更多精彩请关注php中文网其它相关文章!

相关阅读:

CSS的编码怎么转换

css3点击显示涟漪特效

怎样用canvas实现小球和鼠标的互动

以上是CSS3里怎么实现提示文字的弹窗效果的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板