پیشنمایش زنده
کد HTML
<div class="tooltip-container">
<div class="tooltip">
<div class="profile">
<div class="user">
<div class="img">Tw</div>
<div class="details">
<div class="name">Twitch</div>
<div class="username">@username</div>
</div>
</div>
<div class="about">50k+ followers</div>
</div>
</div>
<div class="text">
<a class="icon" href="#">
<div class="layer">
<span></span>
<span></span>
<span></span>
<span></span>
<span class="svg">
<svg
fill="#fff"
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M80 0L32 96v352h128v64h64l64-64h96l128-128V0H80zm384 288l-64 64h-96l-64 64v-64H128V64h336v224zm-72-160h-32v96h32V128zm-80 0h-32v96h32V128z"
></path>
</svg>
</span>
</div>
<div class="text">Twitch</div>
</a>
</div>
</div>
کد CSS
.tooltip-container {
--color: rgb(145, 70, 255);
--border: rgba(255, 0, 0, 0.25);
position: relative;
cursor: pointer;
transition: all 0.2s;
font-size: 17px;
border-radius: 10px;
}
.tooltip {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
padding: 10px;
opacity: 0;
pointer-events: none;
transition: all 0.3s;
border-radius: 15px;
box-shadow:
inset 5px 5px 5px rgba(0, 0, 0, 0.2),
inset -5px -5px 15px rgba(255, 255, 255, 0.1),
5px 5px 15px rgba(0, 0, 0, 0.3),
-5px -5px 15px rgba(255, 255, 255, 0.1);
}
.profile {
background: rgba(204, 124, 132, 0.1);
border-radius: 10px 15px;
padding: 10px;
border: 1px solid var(--border);
}
.tooltip-container:hover .tooltip {
top: -150px;
opacity: 1;
visibility: visible;
pointer-events: auto;
}
.icon {
text-decoration: none;
color: #fff;
display: block;
position: relative;
}
.layer {
width: 70px;
height: 70px;
transition: transform 0.3s;
}
.icon:hover .layer {
transform: rotate(-35deg) skew(20deg);
}
.layer span {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
border: 2px solid #fff;
border-radius: 50%;
transition: all 0.3s;
padding: 13px;
background: #fff;
box-shadow:
inset 5px 5px 5px rgba(0, 0, 0, 0.2),
inset -5px -5px 15px rgba(255, 255, 255, 0.1),
5px 5px 15px rgba(0, 0, 0, 0.2),
-5px -5px 10px rgba(255, 255, 255, 0.05);
}
.tooltip-container:hover .layer span {
border-radius: 10px;
background: var(--color);
}
.tooltip-container:hover .svg path {
fill: #fff;
}
.layer span,
.text {
color: var(--color);
border-color: var(--color);
}
.icon:hover.layer span {
box-shadow: -1px 1px 3px var(--color);
}
.icon .text {
position: absolute;
left: 50%;
bottom: -5px;
opacity: 0;
font-weight: 700;
transform: translateX(-50%);
transition:
bottom 0.3s ease,
opacity 0.3s ease;
}
.icon:hover .text {
bottom: -35px;
opacity: 1;
}
.icon:hover .layer span:nth-child(1) {
opacity: 0.2;
}
.icon:hover .layer span:nth-child(2) {
opacity: 0.4;
transform: translate(5px, -5px);
}
.icon:hover .layer span:nth-child(3) {
opacity: 0.6;
transform: translate(10px, -10px);
}
.icon:hover .layer span:nth-child(4) {
opacity: 0.8;
transform: translate(15px, -15px);
}
.icon:hover .layer span:nth-child(5) {
opacity: 1;
transform: translate(20px, -20px);
}
.svg path {
fill: var(--color);
}
.user {
display: flex;
gap: 10px;
}
.img {
width: 50px;
height: 50px;
font-size: 25px;
font-weight: 700;
border: 1px solid var(--border);
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
}
.name {
font-size: 17px;
font-weight: 700;
color: #ffffff;
}
.details {
display: flex;
flex-direction: column;
gap: 0;
color: var(--color);
}
.about {
color: rgba(255, 255, 255, 0.7);
padding-top: 5px;
}