将菜单项堆叠在左侧而不是底部
Stack Menu Items to be on the left instead of bottom
我有以下菜单:
我希望它在左侧垂直堆叠:- 类似于(抱歉画得不好):
HTML代码:-
<div class="dropdown">
<button class="btn bg-transparent fas fa-ellipsis-v fa-lg">
<div class="dropContent">
<a data-tooltip="View Activity" onclick="" class="btn icon-gls-option m-b-10 m-l-5 d-print-none"><i class="fas fa-book-open"><span class=""></span></i></a>
<a data-tooltip="Edit" onclick="" class="btn icon-gls-option m-b-10 m-l-5 d-print-none"><i class="fas fa-pen-alt fa-md"></i></a>
<a data-tooltip="New Task" onclick="" class="btn icon-gls-option m-b-10 m-l-5 d-print-none"><i class="fas fa-tasks fa-md"></i></a> +
<a data-tooltip="Delete" onclick="" class="btn icon-gls-danger m-b-10 m-l-5 d-print-none"><i class="fas fa-trash fa-md"></i></a>
</div>
</button>
</div>
CSS代码:-
.dropdown {
position: relative;
display: inline-block;
}
.dropContent {
display: none;
position: absolute;
background-color: #f1f1f1;
margin-top: 2px;
color: black;
}
.dropContent a {
display: block;
}
.dropdown:hover .dropContent {
display: block;
z-index: 1
}
希望这可以帮助您入门 - 将鼠标悬停在蓝色上,红色菜单选项出现在左侧。
overlayItem
相对定位所以绝对定位是相对于它
hoverMe
这是蓝色的斑点。将鼠标悬停在其上,下拉菜单显示为 flex 以实现菜单选项行
dropdown
绝对定位并使用变换与 hoverMe
对齐。宽度适合内容,因此弹性行不会占用超过 div
内的内容
.overlayItem {
position: relative;
margin-left: 400px;
height: 50px;
}
.hoverMe {
width: 50px;
height: 100%;
background-color: blue;
}
.hoverMe:hover + .dropdown {
display: flex;
}
.dropdown:hover {
display: flex;
}
.dropdown {
display: none;
gap: 10px;
height: 100%;
position: absolute;
transform: translate(-100%, -100%);
background-color: red;
width: fit-content;
}
<div class="overlayItem">
<div class="hoverMe"></div>
<div class="dropdown">
<p>item 1</p>
<p>item 2</p>
<p>item 3</p>
<p>item 4</p>
</div>
</div>
我有以下菜单:
我希望它在左侧垂直堆叠:- 类似于(抱歉画得不好):
HTML代码:-
<div class="dropdown">
<button class="btn bg-transparent fas fa-ellipsis-v fa-lg">
<div class="dropContent">
<a data-tooltip="View Activity" onclick="" class="btn icon-gls-option m-b-10 m-l-5 d-print-none"><i class="fas fa-book-open"><span class=""></span></i></a>
<a data-tooltip="Edit" onclick="" class="btn icon-gls-option m-b-10 m-l-5 d-print-none"><i class="fas fa-pen-alt fa-md"></i></a>
<a data-tooltip="New Task" onclick="" class="btn icon-gls-option m-b-10 m-l-5 d-print-none"><i class="fas fa-tasks fa-md"></i></a> +
<a data-tooltip="Delete" onclick="" class="btn icon-gls-danger m-b-10 m-l-5 d-print-none"><i class="fas fa-trash fa-md"></i></a>
</div>
</button>
</div>
CSS代码:-
.dropdown {
position: relative;
display: inline-block;
}
.dropContent {
display: none;
position: absolute;
background-color: #f1f1f1;
margin-top: 2px;
color: black;
}
.dropContent a {
display: block;
}
.dropdown:hover .dropContent {
display: block;
z-index: 1
}
希望这可以帮助您入门 - 将鼠标悬停在蓝色上,红色菜单选项出现在左侧。
overlayItem
相对定位所以绝对定位是相对于它
hoverMe
这是蓝色的斑点。将鼠标悬停在其上,下拉菜单显示为 flex 以实现菜单选项行
dropdown
绝对定位并使用变换与 hoverMe
对齐。宽度适合内容,因此弹性行不会占用超过 div
.overlayItem {
position: relative;
margin-left: 400px;
height: 50px;
}
.hoverMe {
width: 50px;
height: 100%;
background-color: blue;
}
.hoverMe:hover + .dropdown {
display: flex;
}
.dropdown:hover {
display: flex;
}
.dropdown {
display: none;
gap: 10px;
height: 100%;
position: absolute;
transform: translate(-100%, -100%);
background-color: red;
width: fit-content;
}
<div class="overlayItem">
<div class="hoverMe"></div>
<div class="dropdown">
<p>item 1</p>
<p>item 2</p>
<p>item 3</p>
<p>item 4</p>
</div>
</div>