JSFiddle - React, Tailwind, and code Playground
by Aleksey Karagodnikov
HTML
<script src="http://fonts.googleapis.com/css?family=Roboto&subset=latin,cyrillic-ext"></script>
<div class="menu-holder">
<ul class="top-level-menu">
<li class="top-level-menu-item"><a class="top-level-menu-link" href="/about/">О компании</a>
<ul class="nested-menu">
<li class="nested-menu-item"><a class="nested-menu-link" href="/about/ouradv/">Наши преимущества</a>
</li>
<li class="nested-menu-item"><a class="nested-menu-link" href="/about/contacts/">Контакты</a>
</li>
</ul>
</li>
<li class="top-level-menu-item"><a class="top-level-menu-link" href="/clients/">Клиенты</a>
<ul class="nested-menu">
<li class="nested-menu-item"><a class="nested-menu-link" href="/clients/references/">Благодарности</a>
</li>
</ul>
</li>
<li class="top-level-menu-item"><a class="top-level-menu-link" href="/gotovye_issledovaniya/">Готовые исследования и опыт</a>
</li>
<li class="top-level-menu-item"><a class="top-level-menu-link" href="/services/">Услуги</a>
</li>
<li class="top-level-menu-item"><a class="top-level-menu-link" href="/order/">Заказать</a>
</li>
</ul>
</div>
CSS
body {
font-family: 'Roboto', sans-serif;
}
.top-level-menu, .nested-menu {
font-size: 0;
line-height: 0;
margin: 0;
padding: 0;
}
.top-level-menu li, .nested-menu li {
list-style-type: none;
}
.top-level-menu-item {
height: 100%;
padding: 0;
position: relative;
}
.top-level-menu-item::before {
background-color: #90c6e0;
content:'';
display: block;
height: 20px;
left: 0;
margin-top: -10px;
position: absolute;
top: 50%;
width: 1px;
}
.top-level-menu-item:first-child::before {
display: none;
}
.top-level-menu-item:hover .top-level-menu-link, .top-level-menu-item.active .top-level-menu-link {
background-color: #003366;
color: #fff;
}
.top-level-menu-item, .top-level-menu-item:hover {
display: inline-block;
padding: 0;
}
.top-level-menu-link, .top-level-menu-item:hover .top-level-menu-link, .nested-menu-link, .nested-menu-item:hover .nested-menu-link {
padding: 0 10px;
}
.top-level-menu-link {
display: block;
color: #003366;
font-size: 14px;
line-height: 30px;
margin: 0 10px;
padding: 0 10px;
}
.top-level-menu-item:first-child .top-level-menu-link {
margin-left: 0;
}
.top-level-menu-item:last-child .top-level-menu-link {
margin-right: 0;
}
.top-level-menu-link {
font-weight: bold;
text-decoration: none;
}
.top-level-menu-item:hover .nested-menu {
display: block;
}
.top-level-menu-item:first-child .nested-menu {
left: 0;
}
.nested-menu {
box-shadow: 0px 30px 29px 0px rgba(0, 0, 0, 0.35);
background-color: #d3d3d3;
border: 1px solid #fff;
display: none;
left: 10px;
position: absolute;
top: 100%;
white-space: nowrap;
z-index: 4;
}
.nested-menu-link {
color: #003366;
display: block;
font-size: 14px;
line-height: 30px;
text-decoration: none;
}
.nested-menu-link:hover {
text-decoration: underline;
}