【发布时间】:2017-08-03 13:47:32
【问题描述】:
已经有一段时间了 - 但我发现自己对 Web 开发有了新的兴趣,我希望你能帮助我克服以下问题:
我正在开发个人网站。内容等都是初步的。我的主要关注点是左侧的垂直菜单。虽然我对目前的外观很满意,但仍有一些问题:
1) 我必须将过渡设置为缓出到 >0s,以便在主菜单悬停和悬停在子菜单上之间有足够的时间。因此,如果我将鼠标悬停在主菜单项之间,它们将由于逐步淘汰而短暂重叠。有没有办法解决这个问题? (焦点选择器可能是一个选项,但这需要单击菜单项,我更喜欢悬停)
2) 子菜单与主菜单的 li 顶部对齐。因此,最后一项的子(测试)超出了页面的边界,在页面下方给出了空白。如果子菜单压在整体的边缘,有没有办法让子菜单上移? 我可能可以给它一个不同的标签并进行不同的设计,我希望有一个更通用的解决方案。
3) 小问题:从主菜单悬停切换到子菜单悬停时,主图标“闪烁”非常短暂。这是正常的行为吗?当然不漂亮。
4) 最后但并非最不重要的一点:由于这是我第一次做网站,我将非常感谢您对代码效率低下的一般反馈,这样我将来可以更精简。
(请参阅下面更新的小提琴 - 删除完整代码以节省空间。)
感谢您的帮助!
编辑 感谢您的回答 - 问题 #1 已使用您概述的方法解决!
但是,最后一个子菜单还是让我有点头疼。
如果我使用“last-child”选择器,以及下面添加的代码,它不会改变任何东西。然而,如果我给最后一个“气泡”一个不同的标签,使用完全相同的代码,气泡将与最后一个主菜单项的底部对齐,但包含的 UL 仍然是挑衅的。
从原始 CSS 中可以看出,最后一个“相对”是主菜单 IL,所以子菜单和包含的 UL 不应该都对齐到它们各自父/祖父的底部吗?
以及随附的新代码(完整代码的更新小提琴:继承人Fiddle ...使用大屏幕查看结果以查看对齐问题):
.navigation ul li:last-child {
border: solid orange;
}
.navigation .bubble_last{
position: absolute;
margin-top: 0%;
padding: 0px;
left: 60px;
bottom: 0px;
width: 400px;
height: 200px;
border: solid red;
}
.navigation .bubble_last ul{
position: absolute;
left: 0;
bottom: : 0px;
margin-top: 0px;
padding: 0px;
width: 20vw;
height: 100px;
font-size: 15px;
font-size: 1.2vw;
font-weight: 400;
border: solid blue;
margin-left: 28%;
display: block;
}
.navigation .bubble_last ul li {
list-style: none;
background-color: none;
border-radius: 3px;
height: 2vw;
line-height: 1.2vw;
width: 20vw;
position: relative;
padding-top: 0px;
margin: 0;
padding: 0;
}
【问题讨论】:
标签: html css drop-down-menu menu