src/core-tooltip/CoreTooltipElement.css
:host {
--back-color: white;
--border-color: black;
--arrow-size: 0.5rem;
--offset: 0px;
display: inline-block;
position: absolute;
top: calc(0% - var(--offset));
left: 50%;
transform: translate(-50%, calc(-100% - var(--arrow-size)));
opacity: 0;
transition: opacity 0.3s ease;
z-index: 1000;
pointer-events: none;
}
#tooltip-back {
min-width: var(--arrow-size);
min-height: var(--arrow-size);
border-style: solid;
border-radius: 0.5rem;
border-color: var(--border-color);
display: flex;
flex-direction: row;
padding: 0.5rem;
background: var(--back-color);
}
#tooltip-back::after {
content: " ";
position: absolute;
top: 100%; /* At the bottom of the tooltip */
left: 50%;
border-width: var(--arrow-size);
border-style: solid;
border-color: var(--border-color) transparent transparent transparent;
transform: translate(-50%, 0%);
}
:host([effect=light]) {
color: black;
--border-color: black;
--back-color: white;
}
:host([effect=dark]) {
color: white;
--border-color: black;
--back-color: black;
}
:host([placement=right]) {
top: 50%;
left: calc(100% + var(--offset));
transform: translate(var(--arrow-size), -50%);
}
:host([placement=right]) span#tooltip-back::after {
top: 50%;
left: 0%; /* At the left of the tooltip */
border-color: transparent var(--border-color) transparent transparent;
transform: translate(-100%, -50%);
}
:host([placement=left]) {
top: 50%;
left: calc(0% - var(--offset));
transform: translate(calc(-100% - var(--arrow-size)), -50%);
}
:host([placement=left]) span#tooltip-back::after {
top: 50%;
left: 100%; /* At the right of the tooltip */
border-color: transparent transparent transparent var(--border-color);
transform: translate(0%, -50%);
}
:host([placement=bottom]) {
top: calc(100% + var(--offset));
left: 50%;
transform: translate(-50%, var(--arrow-size));
}
:host([placement=bottom]) span#tooltip-back::after {
top: 0%; /* At the top of the tooltip */
left: 50%;
border-color: transparent transparent var(--border-color) transparent;
transform: translate(-50%, -100%);
}
:host([no-visible-arrow]) {
--arrow-size : 0rem;
}