纯CSS TOOltip提示

小白记录:
在前端页面中有时需要展示的数据过长非常影响我们的样式,
这个时候可能需要做的就是将部分数据显示其余的使用 … 省略.
但是看不到所有的数据这样的用户体验肯定是不好的,这时需要做的就是在我们鼠标移入显示完整数据而且需要不影响整体页面效果.

没有做不到,只有想不到:
开始博主是使用 a 标签解决显示问题在 Google 上没问题,但是在 IE 和 火狐上就出现显示不全到达一定长度就会被 … 省略掉,所以找到以下方式解决了次问题:

这是在 td 上展示的效果:
在这里插入图片描述
下面是鼠标移入的效果:
在这里插入图片描述
下面是效果实现步骤:
1.下载 tooltip.css 脚本 (这里以准备好,下面是下载地址链接)
链接:https://pan.baidu.com/s/1KNKX0Qm2111SJoz5HzaQ7A
提取码:ylb7
2.在所需的页面进行引入 css 脚本
在这里插入图片描述
3.引入成功之后再需要页面展示的数据 使用 标签包裹(类似 a 标签)
在这里插入图片描述
""+ 页面展示信息+"..."

提示框样式可在 css 脚本中自定义设置:(下面附上 css 样式代码)

/* START TOOLTIP STYLES /
[tooltip] {
position: relative; /
opinion 1 */
}

/* Applies to all tooltips /
[tooltip]::before,
[tooltip]::after {
text-transform: none; /
opinion 2 /
font-size: .9em; /
opinion 3 /
line-height: 1;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
position: absolute;
display: none;
opacity: 0;
}
[tooltip]::before {
content: ‘’;
border: 5px solid transparent; /
opinion 4 /
z-index: 1001; /
absurdity 1 /
}
[tooltip]::after {
content: attr(tooltip); /
magic! */

/* most of the rest of this is opinion */
font-family: Helvetica, sans-serif;
text-align: center;

/*
Let the content set the size of the tooltips
but this will also keep them from being obnoxious
/
min-width: 3em;
max-width: 150em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: 1ch 1.5ch;
border-radius: .3ch;
box-shadow: 0 1em 2em -.5em rgba(0, 0, 0, 0.35);
background: #333;
color: #fff;
z-index: 1000; /
absurdity 2 */
}

/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover::after {
display: block;
}

/* don’t show empty tooltips */
[tooltip=’’]::before,
[tooltip=’’]::after {
display: none !important;
}

/* FLOW: UP /
[tooltip]:not([flow])::before,
[tooltip][flow^=“up”]::before {
bottom: 100%;
border-bottom-width: 0;
border-top-color: #333;
}
[tooltip]:not([flow])::after,
[tooltip][flow^=“up”]::after {
bottom: calc(100% + 5px);
}
[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^=“up”]::before,
[tooltip][flow^=“up”]::after {
left: 50%;
-webkit-transform: translate(-50%, -.5em);
transform: translate(-50%, -.5em);
}
/
FLOW: DOWN */
[tooltip][flow^=“down”]::before {
top: 100%;
border-top-width: 0;
border-bottom-color: #333;
}
[tooltip][flow^=“down”]::after {
top: calc(100% + 5px);
}
[tooltip][flow^=“down”]::before,
[tooltip][flow^=“down”]::after {
left: 50%;
-webkit-transform: translate(-50%, .5em);
transform: translate(-50%, .5em);
}

/* FLOW: LEFT */
[tooltip][flow^=“left”]::before {
top: 50%;
border-right-width: 0;
border-left-color: #333;
left: calc(0em - 5px);
-webkit-transform: translate(-.5em, -50%);
transform: translate(-.5em, -50%);
}
[tooltip][flow^=“left”]::after {
top: 50%;
right: calc(100% + 5px);
-webkit-transform: translate(-.5em, -50%);
transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */
[tooltip][flow^=“right”]::before {
top: 50%;
border-left-width: 0;
border-right-color: #333;
right: calc(0em - 5px);
-webkit-transform: translate(.5em, -50%);
transform: translate(.5em, -50%);
}
[tooltip][flow^=“right”]::after {
top: 50%;
left: calc(100% + 5px);
-webkit-transform: translate(.5em, -50%);
transform: translate(.5em, -50%);
}

/* KEYFRAMES */
@-webkit-keyframes tooltips-vert {
to {
opacity: .9;
-webkit-transform: translate(-50%, 0);
transform: translate(-50%, 0);
}
}
@keyframes tooltips-vert {
to {
opacity: .9;
-webkit-transform: translate(-50%, 0);
transform: translate(-50%, 0);
}
}
@-webkit-keyframes tooltips-horz {
to {
opacity: .9;
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
}
}

@keyframes tooltips-horz {
to {
opacity: .9;
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
}
}
/* FX All The Things */
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^=“up”]:hover::before,
[tooltip][flow^=“up”]:hover::after,
[tooltip][flow^=“down”]:hover::before,
[tooltip][flow^=“down”]:hover::after {
-webkit-animation: tooltips-vert 300ms ease-out forwards;
animation: tooltips-vert 300ms ease-out forwards;
}

[tooltip][flow^=“left”]:hover::before,
[tooltip][flow^=“left”]:hover::after,
[tooltip][flow^=“right”]:hover::before,
[tooltip][flow^=“right”]:hover::after {
-webkit-animation: tooltips-horz 300ms ease-out forwards;
animation: tooltips-horz 300ms ease-out forwards;
}
/* UNRELATED to tooltips /
body {
margin: 0;
min-height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
font-family: sans-serif;
/
background: #ededed; ����ҳ���ɫ*/
}
main {
-webkit-box-flex: 1;
-ms-flex: 1 1 100vh;
flex: 1 1 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
aside {
-webkit-box-flex: 0;
-ms-flex: none;
flex: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
background: #49b293;
color: #fff;
padding: 1em;
}
main div {
text-align: center;
color: #353539;
}
main span {
padding: .5em 1em;
margin: .5em;
display: inline-block;
background: #dedede;
}

aside a {
color: inherit;
text-decoration: none;
font-weight: bold;
display: inline-block;
padding: .4em 1em;
}
(更详细的使用说明,原文以找不到,如有侵权请联系删除!)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值