vuejs tooltip hover issue
click "clickme"
by Evgeniy Lukovsky
HTML
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<script src="https://unpkg.com/[email protected]/dist/bootstrap-vue.common.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<header>
Demo of a tooltip that has an embedded link with a transition delay applied via CSS to give a user ample time to click on the link.
</header>
<section>
<div class="tooltip-container">
<i class="info-icon material-icons">[ 0s ]</i>
<div class="tooltip-content">
<p>This panel displays a summary of relevant information.</p>
<p class="align-right"> <a href="https://google.com" target="_blank">Read More</a></p>
</div>
</div>
<div class="tooltip-container">
<i class="info-icon material-icons">[ 0.5s ]</i>
<div class="tooltip-content ds500">
<p>This panel displays a summary of relevant information.</p>
<p class="align-right"> <a href="https://google.com" target="_blank">Read More</a></p>
</div>
</div>
<div class="tooltip-container">
<i class="info-icon material-icons">[ 1.5s ]</i>
<div class="tooltip-content ds1500">
<p>This panel displays a summary of relevant information.</p>
<p class="align-right"> <a href="https://google.com" target="_blank">Read More</a></p>
</div>
</div>
<div class="tooltip-container">
<i class="info-icon material-icons">[ 2s ]</i>
<div class="tooltip-content ds2000">
<p>This panel displays a summary of relevant information.</p>
<p class="align-right"> <a href="https://google.com" target="_blank">Read More</a></p>
</div>
</div>
<div class="tooltip-container">
<i class="info-icon material-icons">[ 3s ]</i>
<div class="tooltip-content ds3000">
<p>This panel displays a summary of relevant information.</p>
<p class="align-right"> <a href="https://google.com" target="_blank">Read More</a></p>
</div>
</div>
<div...
SCSS
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px; /* Preferred icon size */
display: inline-block;
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
white-space: nowrap;
direction: ltr;
/* Support for all WebKit browsers. */
-webkit-font-smoothing: antialiased;
/* Support for Safari and Chrome. */
text-rendering: optimizeLegibility;
/* Support for Firefox. */
-moz-osx-font-smoothing: grayscale;
/* Support for IE. */
font-feature-settings: 'liga';
}
header {
padding: 15px;
}
section {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
.tooltip-container {
position: relative;
&:hover {
.tooltip-content {
visibility: visible;
opacity: 1;
transition: 0s all ease;
transition-delay: 0s;
top: -125px;
}
.ds500{
transition-delay: .5s;
}
.ds1500{
transition-delay: 1.5s;
}
.ds2000{
transition-delay: 2s;
}
.ds3000{
transition-delay: 3s;
}
.ds4000{
transition-delay: 4s;
}
}
}
.tooltip-content {
visibility: hidden;
opacity: 0;
position: absolute;
background: #000000;
left: -38px;
top: -130px;
padding: 0 15px;
margin: 16px;
font-size: 15px;
width: 250px;
transition: .25s all ease;
transition-delay: .25s;
z-index: 2;
color: #FFFFFF;
.align-right {
text-align: right;
a {
color: red;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
&:after {
}
}