JSFiddle - React, Tailwind, and code Playground
HTML
<div class="locationContainer">
<div class="flex cntr">
</div>
<div class="locationDropdown" role="listbox">
<div class="dropdownLeft">
<div class="voivodeshipContainer">
<li role="option" class="listItem">Cała Polska</li>
<div class="citiesContainer"></div>
</div>
<div class="rel voivodeshipContainer">
<li role="option" class="inblock listItem">Dolnośląskie</li>
<div class="citiesContainer">
<li role="option" class="inblock listItem">Wrocław</li>
<li role="option" class="inblock listItem">Wałbrzych</li>
</div>
</div>
<div class="rel voivodeshipContainer">
<li role="option" class="inblock listItem">Lubelskie</li>
<div class="citiesContainer">
<li role="option" class="inblock listItem">Lublin</li>
<li role="option" class="inblock listItem">Puławy</li>
</div>
</div>
<div class="rel voivodeshipContainer">
<li role="option" class="inblock listItem">Lubuskie</li>
<div class="citiesContainer">
<li role="option" class="inblock listItem">Zielona Góra</li>
<li role="option" class="inblock listItem">Opoczno</li>
</div>
</div>
<div class="rel voivodeshipContainer">
<li role="option" class="inblock listItem">Łódzkie</li>
<div class="citiesContainer">
<li role="option" class="inblock listItem">Łódź</li>
<li role="option" class="inblock listItem">Radomsko</li>
</div>
</div>
<div class="rel voivodeshipContainer">
<li role="option" class="inblock listItem">Małopolskie</li>
<div class="citiesContainer">
<li role="option" class="inblock listItem">Kraków</li>
<li role="option" class="inblock listItem">Tarnów</li>
</div>
</div>
<div class="rel voivodeshipContainer">
<li role="option" class="inblock listItem">Mazowieckie</li>
<div...
CSS
ul, li {
list-style: none;
}
body {
background-color: grey;
}
.locationContainer {
background-color: white;
}
.flex {
display: flex;
justify-content: center;
align-items: center;
}
.listItem {
color: #002f34;
padding: 8px 17px;
width: 80%;
}
.listItem:hover {
color: white!important;
background-color: #002f34;
}
.locationField {
height: 56px;
padding: 8px 0;
border: none;
color: #002f34;
margin-right: auto;
}
.locationDropdown {
position: absolute;
width: 250px;
border: 1px solid #f2f4f5;
top: 72px;
z-index: 5;
animation: droplist 0.25s ease-in;
}
.dropdownLeft {
max-height: 300px;
overflow: auto;
padding-right: 250px;
margin-right: -250px;
}
.dropdownLeft::-webkit-scrollbar {
display: none;
}
.voivodeshipContainer {
background-color: white;
width: 200px;
position: relative;
}
.voivodeshipContainer:hover .citiesContainer {
display: block !important;
}
.voivodeshipContainer .citiesContainer {
display: none;
}
.voivodeshipContainer:hover {
background-color: #002f34;
}
.voivodeshipContainer:hover .listItem {
color: white;
}
.voivodeshipContainer:hover .citiesContainer .listItem {
color: #002f34;
}
.citiesContainer {
position: absolute;
width: 300px;
right: -300px;
background-color: white;
bottom: -17px;
}