@tolokoban/ui
Version:
React components with theme
78 lines (68 loc) • 1.53 kB
CSS
.tooltip {
position: relative;
overflow: visible;
}
.tooltip > div.content {
position: absolute;
top: auto;
bottom: 0;
left: 50%;
right: auto;
width: max-content;
background: inherit;
background-color: inherit;
transform: translate(-50%, calc(1em + 100%));
margin: 0;
padding: 0;
z-index: 999999;
pointer-events: none;
transition: opacity 0.2s;
opacity: 0;
}
.tooltip:hover > div.content,
.tooltip:active > div.content {
opacity: 1;
}
.tooltip > div.content::after {
content: "";
border: 1em solid transparent;
border-bottom: 1em solid var(--custom-back);
position: absolute;
width: 0;
height: 0;
left: 50%;
right: auto;
top: -2em;
bottom: auto;
margin-left: -1em;
transform: scale(0.5, 1);
}
.tooltip > div.content.top-left {
left: max(calc(100% - 1em), 50%);
right: auto;
transform: translate(calc(-1em), calc(1em + 100%));
}
.tooltip > div.content.top-left::after {
left: 1em;
right: auto;
}
.tooltip > div.content.top-right {
left: auto;
right: max(calc(100% - 1em), 50%);
transform: translate(1em, calc(1em + 100%));
}
.tooltip > div.content.top-right::after {
left: auto;
right: 0;
}
.tooltip > div.content.bottom {
top: 0;
bottom: auto;
transform: translate(-50%, calc(-1em - 100%));
}
.tooltip > div.content.bottom::after {
border: 1em solid transparent;
border-top: 1em solid var(--custom-back);
top: auto;
bottom: -2em;
}