<div class="hotspot-container">
<img src="https://placehold.co/800x500/1e293b/ffffff?text=Product+Showcase" alt="Product">
<!-- Hotspot 1 -->
<div class="hotspot" style="top: 30%; left: 40%;">
<div class="dot">
<div class="ping"></div>
</div>
<div class="tooltip">
<h4>Ergonomic Design</h4>
<p>Fits perfectly in your hand.</p>
</div>
</div>
<!-- Hotspot 2 -->
<div class="hotspot" style="top: 60%; left: 70%;">
<div class="dot">
<div class="ping"></div>
</div>
<div class="tooltip">
<h4>Wireless Charging</h4>
<p>Fast and convenient power.</p>
</div>
</div>
</div>
.hotspot-container {
font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
position: relative;
max-width: 800px;
margin: 0 auto;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
img {
width: 100%;
display: block;
}
.hotspot {
position: absolute;
cursor: pointer;
}
.dot {
width: 20px;
height: 20px;
background: #3b82f6;
border-radius: 50%;
border: 2px solid #fff;
position: relative;
z-index: 2;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.ping {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
background: #3b82f6;
border-radius: 50%;
animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
opacity: 0.7;
z-index: 1;
}
@keyframes ping {
75%, 100% {
transform: translate(-50%, -50%) scale(2.5);
opacity: 0;
}
}
.tooltip {
position: absolute;
bottom: 30px;
left: 50%;
transform: translateX(-50%) translateY(10px);
background: #fff;
padding: 15px;
border-radius: 8px;
width: 200px;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
pointer-events: none;
z-index: 10;
text-align: center;
}
.tooltip::after {
content: "";
position: absolute;
bottom: -6px;
left: 50%;
margin-left: -6px;
border-width: 6px 6px 0;
border-style: solid;
border-color: #fff transparent transparent transparent;
}
.hotspot:hover .tooltip {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.tooltip h4 {
margin: 0 0 5px;
color: #1f2937;
font-size: 0.95rem;
}
.tooltip p {
margin: 0;
color: #6b7280;
font-size: 0.85rem;
line-height: 1.4;
}