【发布时间】:2014-08-17 17:21:21
【问题描述】:
我的页面左侧有一个简单的水平菜单。我正在尝试向菜单中添加更多项目;特别是具有子菜单的项目。原始菜单如下所示:
<nav class="mainMenu">
<ul id="menu-main-menu" class="menu"><li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-42"><a href="about/index.html"><i class="icon-menu-icon"></i><span class="text">About Us</span></a>
<ul class="sub-menu">
<li id="menu-item-733" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-733"><a href="about/index.html"><i class="icon-menu-icon"></i><span class="text">About Us</span></a></li>
<li id="menu-item-443" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-443"><a href="about/service/index.html"><i class="icon-menu-icon"></i><span class="text">Service</span></a></li>
<li id="menu-item-444" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-444"><a href="about/the-team/index.html"><i class="icon-menu-icon"></i><span class="text">The Team</span></a></li>
<li id="menu-item-441" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-441"><a href="about/careers/index.html"><i class="icon-menu-icon"></i><span class="text">Careers</span></a></li>
<li id="menu-item-442" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-442"><a href="about/ethos/index.html"><i class="icon-menu-icon"></i><span class="text">Ethos</span></a></li>
</ul>
</li>
<li id="menu-item-39" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-39"><a href="portfolio/index.html"><i class="icon-menu-icon"></i><span class="text">Portfolio</span></a>
<ul class="sub-menu">
<li id="menu-item-56" class="menu-item menu-item-type-taxonomy menu-item-object-project-category menu-item-56"><a href="project-category/architecture/index.html"><i class="icon-menu-icon"></i><span class="text">Architecture</span></a></li>
<li id="menu-item-57" class="menu-item menu-item-type-taxonomy menu-item-object-project-category menu-item-57"><a href="project-category/interiors/index.html"><i class="icon-menu-icon"></i><span class="text">Interiors</span></a></li>
<li id="menu-item-58" class="menu-item menu-item-type-taxonomy menu-item-object-project-category menu-item-58"><a href="project-category/landscapes/index.html"><i class="icon-menu-icon"></i><span class="text">Landscapes</span></a></li>
</ul>
</li>
<li id="menu-item-40" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-40"><a href="news/index.html"><i class="icon-menu-icon"></i><span class="text">News</span></a>
<ul class="sub-menu">
<li id="menu-item-54" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-54"><a href="category/planning/index.html"><i class="icon-menu-icon"></i><span class="text">Planning</span></a></li>
<li id="menu-item-53" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-53"><a href="category/on-site/index.html"><i class="icon-menu-icon"></i><span class="text">On-Site</span></a></li>
<li id="menu-item-52" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-52"><a href="category/office/index.html"><i class="icon-menu-icon"></i><span class="text">Office</span></a></li>
<li id="menu-item-51" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-51"><a href="category/in-design/index.html"><i class="icon-menu-icon"></i><span class="text">In Design</span></a></li>
<li id="menu-item-55" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-55"><a href="category/publications/index.html"><i class="icon-menu-icon"></i><span class="text">Publications</span></a></li>
<li id="menu-item-50" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-50"><a href="category/responsibility/index.html"><i class="icon-menu-icon"></i><span class="text">Corporate Responsibility</span></a></li>
</ul>
</li>
<li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41"><a href="contact/index.html"><i class="icon-menu-icon"></i><span class="text">Contact</span></a></li>
</ul></nav>
当我尝试使用子菜单/子菜单重新创建菜单项时,它看起来不错,但功能有点疯狂。假设我尝试复制“新闻”菜单项。我将在新闻下方重新创建它,并将重复的菜单项“新闻”上的 id 从 40 更改为 43。
问题是当我点击新项目时,原始和新项目的子菜单都会打开。
我认为这就像创建新 ID 一样简单,但我想我无法理解它是如何工作的。任何帮助将不胜感激。谢谢。
CSS:
/*****************************************/
/* Sidebar */
/*****************************************/
.sidebar {
position: fixed;
left: -15.625em;
top: 0;
z-index: 100;
width: 15.625em;
padding-top: 2.5em;
height: 100%;
font-family: "freight-sans-pro", serif;
background: #1c1f20;
overflow-y: auto;
/* Open State */
/* Main Menu */
/* Footer Details (at bottome) */
}
.pushed .sidebar {
left: 0;
}
.sidebar .mainMenu {
font-size: 1em;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.sidebar .mainMenu > ul > li {
padding: 1.125em 1em 0.875em;
border-bottom: 1px solid #252829;
}
.sidebar .mainMenu > ul > li > a {
display: block;
}
.sidebar .mainMenu > ul > li > a > i {
position: relative;
top: -2px;
vertical-align: middle;
margin-right: 0.5em;
font-size: 1.9em;
color: #a4a4a4;
}
.sidebar .mainMenu > ul > li > a:after {
position: relative;
top: -1px;
display: inline-block;
vertical-align: middle;
font-size: 1.2em;
color: #a4a4a4;
font-family: 'iconsStudioIndigo';
content: '\e624';
-webkit-transform-origin: 50% 50%;
-moz-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
-o-transform-origin: 50% 50%;
transform-origin: 50% 50%;
}
.sidebar .mainMenu > ul > li > a:only-child:after {
display: none;
}
.sidebar .mainMenu > ul > li > ul {
margin-left: 3.3em;
line-height: 1.2em;
font-size: 0.85em;
max-height: 0;
overflow: hidden;
}
.sidebar .mainMenu > ul > li > ul > li {
-webkit-transform: translateZ(0);
margin: 0.35em 0;
opacity: 0;
}
.sidebar .mainMenu > ul > li > ul > li > a {
display: block;
color: #a4a4a4;
}
.sidebar .mainMenu > ul > li > ul > li > a:focus, .sidebar .mainMenu > ul > li > ul > li > a:hover {
color: white;
}
.sidebar .mainMenu > ul > li > ul > li > a i {
opacity: 0;
margin: 2px 7px 0 0;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(1) {
-webkit-transition: opacity 0.4s ease 0.125s;
transition: opacity 0.4s ease 0.125s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(2) {
-webkit-transition: opacity 0.4s ease 0.25s;
transition: opacity 0.4s ease 0.25s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(3) {
-webkit-transition: opacity 0.4s ease 0.375s;
transition: opacity 0.4s ease 0.375s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(4) {
-webkit-transition: opacity 0.4s ease 0.5s;
transition: opacity 0.4s ease 0.5s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(5) {
-webkit-transition: opacity 0.4s ease 0.625s;
transition: opacity 0.4s ease 0.625s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(6) {
-webkit-transition: opacity 0.4s ease 0.75s;
transition: opacity 0.4s ease 0.75s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(7) {
-webkit-transition: opacity 0.4s ease 0.875s;
transition: opacity 0.4s ease 0.875s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(8) {
-webkit-transition: opacity 0.4s ease 1s;
transition: opacity 0.4s ease 1s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(9) {
-webkit-transition: opacity 0.4s ease 1.125s;
transition: opacity 0.4s ease 1.125s;
}
.sidebar .mainMenu > ul > li > ul > li:nth-child(10) {
-webkit-transition: opacity 0.4s ease 1.25s;
transition: opacity 0.4s ease 1.25s;
}
.sidebar .mainMenu > ul > li > ul > li.current-menu-item a i {
opacity: 1;
}
.sidebar .mainMenu > ul > li.current-menu-parent > a:after, .sidebar .mainMenu > ul > li.current-menu-item > a:after {
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
.sidebar .mainMenu > ul > li.current-menu-parent > ul, .sidebar .mainMenu > ul > li.current-menu-item > ul {
max-height: 10.625em;
}
.sidebar .mainMenu > ul > li.current-menu-parent > ul > li, .sidebar .mainMenu > ul > li.current-menu-item > ul > li {
opacity: 1;
}
.sidebar .mainMenu .menu-item i:before {
content: '\e624';
}
.sidebar .mainMenu .menu-item-42 i:before {
content: '\e623';
}
.sidebar .mainMenu .menu-item-39 i:before {
content: '\e611';
}
.sidebar .mainMenu .menu-item-40 i:before {
content: '\e61e';
}
.sidebar .mainMenu .menu-item-41 i:before {
content: '\e620';
}
.sidebar .mainMenu .sub-menu .menu-item i:before {
content: '\e607';
}
.sidebar .footerDetails {
margin: 1.92308em 1.15385em;
font-size: 0.8125em;
color: #a4a4a4;
}
.sidebar .footerDetails li {
margin-top: 15px;
margin-top: 0.9375rem;
text-transform: uppercase;
}
.sidebar .footerDetails li a {
color: #a4a4a4;
}
.sidebar .footerDetails li a:focus, .sidebar .footerDetails li a:hover {
color: white;
}
.sidebar .footerDetails .copyright li,
.sidebar .footerDetails .textPages li,
.sidebar .footerDetails .credit li {
margin-top: 10px;
margin-top: 0.625rem;
text-transform: none;
}
.sidebar .footerDetails .textPages {
margin-top: 1.53846em;
}
.sidebar .footerDetails .credit {
margin-top: 1.15385em;
}
.sidebar .footerDetails .credit a {
color: #737575;
}
.sidebar .footerDetails .credit a:hover {
color: #76c044;
}
@media screen and (min-height: 45em) {
.sidebar {
padding-top: 6.25em;
}
.sidebar .footerDetails {
position: absolute;
left: 15px;
left: 0.9375rem;
bottom: 25px;
bottom: 1.5625rem;
margin: 0;
}
.sidebar .footerDetails .textPages {
margin-top: 2.69231em;
}
}
@media screen and (min-width: 1200px) {
.sidebar {
left: 0;
}
}
【问题讨论】:
-
发布您的 CSS,以便我们为您提供帮助。
-
好的,是的.. 哎呀对不起。
-
更新了@Alek..感谢您的提醒..完全隔开。
-
只是一些友好的建议:为了提高您的问题的质量(以及快速回答问题的可能性),将您的 html 和 css 减少为仅与您的问题相关的代码。你让我们为你做了很多步法。干杯!
-
可以理解,注意!谢谢@philtune。