我们的菜单有以下html结构(参见codepin)。我们想修改菜单,而不必在页面加载时使用JS来移动任何元素。
这是我尝试过的,但无法让custom-dropdown
显示如下截图。
Here is my codepin that I have so far,但我们很难让它在屏幕截图两列中对齐。以下目标已经简化,但也应适用于其他链接,如Category
和Company
,因为它们遵循类似的结构。
目标(见截图):
Collaboratively testing 1
和transition accurate
Collaboratively testing 1
的盘旋,那么Enthusiastically communicate cross-platform
和Uniquely reconceptualize accurate
应该显示截图:
Testing 1
下面的下划线是模拟悬停效果Grey
背后的Collaboratively Testing
背景是指示悬停效果,这导致目标#2显示在右侧。带有纯CSS的多级下拉菜单
ul {
list-style: none;
padding: 0;
margin: 0;
background: #1bc2a2;
}
ul li {
display: block;
position: relative;
float: left;
background: #1bc2a2;
}
/* This hides the dropdowns */
li ul { display: none; }
ul li a {
display: block;
padding: 1em;
text-decoration: none;
white-space: nowrap;
color: #fff;
border-bottom: 3px solid #1bc2a2
}
ul li a:hover {border-bottom: 3px solid #2c3e50}
/* Display the dropdown */
li:hover > ul {
display: block;
position: absolute;
}
li:hover li { float: none; }
li:hover a { background: #1bc2a2; }
li:hover li a:hover { background: #2c3e50; }
.main-navigation li ul li { border-top: 0; }
/* Displays second level dropdowns to the right of the first level dropdown */
ul ul ul {
left: 100%;
top: 0;
}
/* Simple clearfix */
ul:before,
ul:after {
content: " "; /* 1 */
display: table; /* 2 */
}
ul:after { clear: both; }
这是您的HTML代码
<h1>Multi-Level Drop Down Menu with Pure CSS</h1>
<ul class="main-navigation">
<li><a href="#">Home</a></li>
<li><a href="#">Front End Design</a>
<ul>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a>
<ul>
<li><a href="#">Resets</a></li>
<li><a href="#">Grids</a></li>
<li><a href="#">Frameworks</a></li>
</ul>
</li>
<li><a href="#">JavaScript</a>
<ul>
<li><a href="#">Ajax</a></li>
<li><a href="#">jQuery</a></li>
</ul>
</li>
</ul>
</li>
</ul>