JSFiddle - React, Tailwind, and code Playground
HTML
<div class="wrapper">
<a class="tooltips" href="#">CSS Tooltips
<div class="hover">
<div>This is multiple lines of text lalala so many lines of text but it keeps scaling</div>
</div>
<div class="overlay"/>
</a>
</div>
CSS
.wrapper {
margin-top: 200px;
margin-left: 200px;
}
a.tooltips {
position: relative;
display: inline;
}
a.tooltips .hover {
position: absolute;
width: 140px;
color: #FFFFFF;
font-family: ProximaNova 14px;
background: #006dbc;
padding: 30px 20px 30px 20px;
text-align: center;
visibility: hidden;
word-wrap: break-word;
}
a.tooltips .hover:after {
content: '';
position: absolute;
top: 100%;
right: 0;
width: 0;
height: 0;
border-top: 24px solid #006dbc;
border-left: 24px solid transparent;
}
a.tooltips .hover {
visibility: hidden;
opacity: 1;
bottom: 45px;
right: 50%;
z-index: 1000;
text-align: left;
}
a.tooltips .hover.visible {
visibility: visible;
}
.overlay {
visibility: hidden;
position: fixed;
height: 100%;
width: 100%;
z-index: 500;
left: 0;
top: 0;
}
.overlay.visible {
visibility: visible;
}
JavaScript
$('.tooltips').on('click', (e) => {
$('a.tooltips .hover').toggleClass('visible');
$('.overlay').toggleClass('visible');
})
$('.overlay').on('click', (e) => {
$('a.tooltips .hover').removeClass('visible');
$('.overlay').removeClass('visible');
})