Hello There, Today I am going to show how to create tooltip using scss. It’s very easy to create tooltip without using javascript.
We can use pseudo-elements to pull in text and display it on :hover
. (You could use the HTML title attribute to effectively accomplish the same solution, but you can’t style the tooltip to your liking.
Here is the example of this:
HTML
<span class="tooltip-toggle" data-tooltip="Sample text for your tooltip!">
Label for your tooltip
</span>
SCSS
.tooltip-toggle {
cursor: pointer;
position: relative;
//Tooltip text container - above element
//You can adjust the position to make the container appear below or beside the element
&::before {
background-color: #000;
border-radius: 5px;
color: #fff;
content: attr(data-tooltip); //This pulls in the text from the element with the tooltip
left: -80px; //This centers the container above the element
padding: 1rem;
position: absolute;
text-transform: none;
top: -80px; //This places the container above the element that needs a tooltip
transition: all 0.5s ease;
width: 160px;
}
//Tooltip arrow
//You can adjust the position of this to align nicely with the element that
//needs a tooltip. You can also use `transform` to rotate it to make the
//tooltip work below or next to the element.
&::after {
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid #000;
content: " ";
font-size: 0;
left: 9px; //This centers the arrow above the element with the tooltip
line-height: 0;
margin-left: -5px;
position: absolute;
top: -12px; //This positions the arrow at the bottom of the container
width: 0;
}
//Setting up the transition
&::before,
&::after {
opacity: 0;
pointer-events: none;
}
//Triggering the transition
&:hover::before,
&:hover::after {
opacity: 1;
transition: all 0.75s ease;
}
}
For more detail please visit this link.
Enjoy !!!