JSFiddle - React, Tailwind, and code Playground
HTML
<div id="wrapper">
<img src="http://ulrichbangert.de/heimat/Goslar/2016-06-20_Goslar_Altstadt_08.jpg">
<div class="area" id="area1">
<ul class="menu" id="menu1">
<li>Item 1.1</li>
<li>Item 1.2</li>
<li>Item 1.3</li>
<li>Item 1.4</li>
</ul>
</div>
<div class="area" id="area2">
<ul class="menu" id="menu2">
<li>Item 2.1</li>
<li>Item 2.2</li>
<li>Item 2.3</li>
<li>Item 2.4</li>
</ul>
</div>
</div>
CSS
ul, li {
margin: 0;
padding: 0;
}
#wrapper {
position: relative;
}
.area {
position: absolute;
border: 2px solid black;
}
.area:hover {
position: absolute;
border: 2px solid red;
background-image: url(http://ulrichbangert.de/heimat/Goslar/2016-06-20_Goslar_Altstadt_08_rot.jpg);
}
.area:hover .menu {
display: block;
}
#area1 {
left:100px;
top: 50px;
width: 80px;
height: 40px;
background-position: -102px -52px;
}
#area2 {
left:200px;
top: 80px;
width: 100px;
height: 50px;
background-position: -202px -82px;
}
.menu {
display: none;
list-style: none;
background-color:white;
position: absolute;
width: 80px;
}
#menu1{
top: 42px;
}
#menu2{
top: 52px;
}