html中span添加tooltip,javascript - Add a tooltip to a div - Stack Overflow

章誉
2023-12-01

There are lots of answers to this question but still may be it will help someone. It is for all left, right, top, bottom positions.

Here is the css:

.m-tb-5 {

margin-top: 2px;

margin-bottom: 2px;

}

[data-tooltip] {

display: inline-block;

position: relative;

cursor: help;

padding: 3px;

}

/* Tooltip styling */

[data-tooltip]:before {

content: attr(data-tooltip);

display: none;

position: absolute;

background: #000;

color: #fff;

padding: 3px 6px;

font-size: 10px;

line-height: 1.4;

min-width: 100px;

text-align: center;

border-radius: 4px;

}

/* Dynamic horizontal centering */

[data-tooltip-position="top"]:before,

[data-tooltip-position="bottom"]:before {

left: 50%;

-ms-transform: translateX(-50%);

-moz-transform: translateX(-50%);

-webkit-transform: translateX(-50%);

transform: translateX(-50%);

}

/* Dynamic vertical centering */

[data-tooltip-position="right"]:before,

[data-tooltip-position="left"]:before {

top: 50%;

-ms-transform: translateY(-50%);

-moz-transform: translateY(-50%);

-webkit-transform: translateY(-50%);

transform: translateY(-50%);

}

[data-tooltip-position="top"]:before {

bottom: 100%;

margin-bottom: 6px;

}

[data-tooltip-position="right"]:before {

left: 100%;

margin-left: 6px;

}

[data-tooltip-position="bottom"]:before {

top: 100%;

margin-top: 6px;

}

[data-tooltip-position="left"]:before {

right: 100%;

margin-right: 6px;

}

/* Tooltip arrow styling/placement */

[data-tooltip]:after {

content: '';

display: none;

position: absolute;

width: 0;

height: 0;

border-color: transparent;

border-style: solid;

}

/* Dynamic horizontal centering for the tooltip */

[data-tooltip-position="top"]:after,

[data-tooltip-position="bottom"]:after {

left: 50%;

margin-left: -6px;

}

/* Dynamic vertical centering for the tooltip */

[data-tooltip-position="right"]:after,

[data-tooltip-position="left"]:after {

top: 50%;

margin-top: -6px;

}

[data-tooltip-position="top"]:after {

bottom: 100%;

border-width: 6px 6px 0;

border-top-color: #000;

}

[data-tooltip-position="right"]:after {

left: 100%;

border-width: 6px 6px 6px 0;

border-right-color: #000;

}

[data-tooltip-position="left"]:after {

right: 100%;

border-width: 6px 0 6px 6px;

border-left-color: #000;

}

/* Show the tooltip when hovering */

[data-tooltip]:hover:before,

[data-tooltip]:hover:after {

display: block;

z-index: 50;

}

And the HTML tag can be like this:

Text Here

Text Here

Text Here

Text Here

 类似资料: