Контекстные меню на языке HTML
by आर्थर
HTML
<ul class="menu">
<li class="menu__item">
Файл
<ul class="pull-menu">
<li><a href="https://db.tt/xXPK9Vjv" target="_blank" class="pull-menu__link">Dropbox</a></li>
<li><a href="#" class="pull-menu__link">Открыть</a></li>
<li><a href="#" class="pull-menu__link">Сохранить</a></li>
<li><a href="#" class="pull-menu__link">Закрыть</a></li>
</ul>
</li>
<li class="menu__item">
Правка
<ul class="pull-menu">
<li><a href="#" class="pull-menu__link">Вырезать</a></li>
<li><a href="#" class="pull-menu__link">Копировать</a></li>
<li><a href="#" class="pull-menu__link">Вставить</a></li>
<li><a href="#" class="pull-menu__link">Удалить</a></li>
</ul>
</li>
</ul>
CSS
.menu {
width: 200px;
margin: 50px auto 0;
padding: 0;
list-style: none;
}
.menu__item {
position: relative;
float: left;
margin-left: 30px;
padding: 3px;
color: #0303c8;
background: #fff;
text-decoration: underline;
cursor: pointer;
}
.menu__item:first-child {
margin-left: 0;
}
.menu__item:hover {
color: #000;
text-decoration: none;
border-radius: 5px 5px 0 0;
}
.menu__item:hover:before {
content: "";
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
box-shadow: 0 0 10px rgba(0, 0, 0, .6);
border-radius: 5px 5px 0 0;
z-index: -1;
}
.menu__item:hover + .menu__item {
z-index: -2;
}
.pull-menu {
display: none;
position: absolute;
left: 0;
width: 110px;
padding: 5px 2px;
list-style: none;
background: #fff;
box-shadow: 0 0 8px 0 rgba(0, 0, 0, .6);
z-index: -1;
}
.pull-menu__link {
display: block;
padding: 1px 2px;
text-decoration: none;
color: #0303c8;
}
.pull-menu__link:hover {
background: #37ABFF;
color: #fff;
}
.menu__item:hover .pull-menu {
display: block;
}