DIV和悬停效果问题
问题描述:
我一直在研究子菜单,当我将鼠标悬停在主菜单项上时。我一直试图找出一种不同的方式来显示相同的效果,而不会将问题缓慢地移动到主菜单项的子菜单中。 (你会看到子菜单消失。)下面是jsFiddle。任何帮助将非常感激。DIV和悬停效果问题
注意:它确实在jsFiddle上看起来与我的网站设计略有不同,但这是无关紧要的。
.header {
\t height: auto;
\t width: 70vw;
\t
\t display: inline-block;
\t
\t background-color: #222;
\t \t
\t color: #fff;
\t
\t padding-top: 15px;
\t padding-bottom: 75px;
\t
\t border-top-left-radius: 10px;
\t border-top-right-radius: 10px;
}
.menu {
\t height: auto;
\t width: 100%;
\t
\t top: 0px;
\t
\t text-align: center;
\t
\t display: table;
\t table-layout: fixed;
\t
\t background-color: transparent;
\t
\t border: thin solid transparent;
\t
\t border-spacing: 0px;
\t border-collapse: collapse;
}
.menu-item {
\t font-size: 14px;
\t font-family: poppins;
\t \t
\t color: #9e9e9e;
\t
\t padding-top: 20px;
\t padding-bottom: 20px;
\t
\t height: auto;
\t width: auto;
\t
\t background-color: transparent;
\t
\t display: table-cell;
\t
text-align: center;
\t
\t cursor: pointer;
\t
\t text-decoration: none;
}
.menu-item:hover {
\t color: #fff;
\t background-color: #ff6e00;
}
.menu div {
\t border-right: solid thin #333;
\t border-left: solid thin #333;
}
.menu div:last-child {
\t border-right: none;
}
.menu div:first-child {
\t border-left: none;
}
.sub-menu {
\t height: auto;
\t width: 100%;
\t
\t display: table;
\t table-layout: fixed;
\t
\t border-spacing: 0px;
\t border-collapse: collapse;
}
.sub-menu-item {
\t display: table-cell;
\t
\t height: auto;
\t width: auto;
\t
\t font-size: 14px;
\t font-family: raleway;
\t
\t color: #999;
\t background-color: #333;
\t
\t padding-top: 20px;
\t padding-bottom: 20px;
\t
\t cursor: pointer;
}
.sub-menu-item:hover {
\t color: #fff;
\t background-color: #666;
}
.sub-menu-item-icon {
\t height: auto;
\t width: auto;
\t
\t padding-bottom: 20px;
\t
\t text-align: center;
\t
\t vertical-align: middle;
}
<div class="header">
\t
<div class="menu">
\t
\t <div class="menu-item" onMouseOver="document.getElementById('sub-home').style.display = 'table';" onMouseOut="document.getElementById('sub-home').style.display = 'none';">Home</div>
<div class="menu-item" onMouseOver="document.getElementById('sub-pricing').style.display = 'table';" onMouseOut="document.getElementById('sub-pricing').style.display = 'none';">Plans & Pricing</div>
<div class="menu-item">Testimonials</div>
<div class="menu-item">Design Hub</div>
<div class="menu-item">Contact Us</div>
\t
</div>
<div class="sub-menu" id="sub-home" onMouseOver="document.getElementById('sub-home').style.display ='table';" onMouseOut="document.getElementById('sub-home').style.display = 'none';">
\t
\t <div class="sub-menu-item">About Us</div>
<div class="sub-menu-item">Our Mission</div>
</div>
<div class="sub-menu" id="sub-pricing" onMouseOver="document.getElementById('sub-pricing').style.display = 'table';" onMouseOut="document.getElementById('sub-pricing').style.display = 'none';">
\t
\t <div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Website Hosting</div>
<div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Email Hosting</div>
<div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Domain Names</div>
<div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Other Services</div>
</div>
</div>
答
删除边框ON YOUR .menu
.header {
\t height: auto;
\t width: 70vw;
\t
\t display: inline-block;
\t
\t background-color: #222;
\t \t
\t color: #fff;
\t
\t padding-top: 15px;
\t padding-bottom: 75px;
\t
\t border-top-left-radius: 10px;
\t border-top-right-radius: 10px;
}
.menu {
\t height: auto;
\t width: 100%;
\t
\t top: 0px;
\t
\t text-align: center;
\t
\t display: table;
\t table-layout: fixed;
\t
\t background-color: transparent;
\t
\t
\t border-spacing: 0px;
\t border-collapse: collapse;
}
.menu-item {
\t font-size: 14px;
\t font-family: poppins;
\t \t
\t color: #9e9e9e;
\t
\t padding-top: 20px;
\t padding-bottom: 20px;
\t
\t height: auto;
\t width: auto;
\t
\t background-color: transparent;
\t
\t display: table-cell;
\t
text-align: center;
\t
\t cursor: pointer;
\t
\t text-decoration: none;
}
.menu-item:hover {
\t color: #fff;
\t background-color: #ff6e00;
}
.menu div {
\t border-right: solid thin #333;
\t border-left: solid thin #333;
}
.menu div:last-child {
\t border-right: none;
}
.menu div:first-child {
\t border-left: none;
}
.sub-menu {
\t height: auto;
\t width: 100%;
\t display: table;
\t table-layout: fixed;
\t border-spacing: 0px;
\t border-collapse: collapse;
}
.sub-menu-item {
\t display: table-cell;
\t
\t height: auto;
\t width: auto;
\t
\t font-size: 14px;
\t font-family: raleway;
\t
\t color: #999;
\t background-color: #333;
\t
\t padding-top: 20px;
\t padding-bottom: 20px;
\t
\t cursor: pointer;
}
.sub-menu-item:hover {
\t color: #fff;
\t background-color: #666;
}
.sub-menu-item-icon {
\t height: auto;
\t width: auto;
\t
\t padding-bottom: 20px;
\t
\t text-align: center;
\t
\t vertical-align: middle;
}
<div class="header">
\t
<div class="menu">
\t
\t <div class="menu-item" onMouseOver="document.getElementById('sub-home').style.display = 'table';" onMouseOut="document.getElementById('sub-home').style.display = 'none';">Home</div>
<div class="menu-item" onMouseOver="document.getElementById('sub-pricing').style.display = 'table';" onMouseOut="document.getElementById('sub-pricing').style.display = 'none';">Plans & Pricing</div>
<div class="menu-item">Testimonials</div>
<div class="menu-item">Design Hub</div>
<div class="menu-item">Contact Us</div>
\t
</div>
<div class="sub-menu" id="sub-home" onMouseOver="document.getElementById('sub-home').style.display ='table';" onMouseOut="document.getElementById('sub-home').style.display = 'none';">
\t
\t <div class="sub-menu-item">About Us</div>
<div class="sub-menu-item">Our Mission</div>
</div>
<div class="sub-menu" id="sub-pricing" onMouseOver="document.getElementById('sub-pricing').style.display = 'table';" onMouseOut="document.getElementById('sub-pricing').style.display = 'none';">
\t
\t <div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Website Hosting</div>
<div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Email Hosting</div>
<div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Domain Names</div>
<div class="sub-menu-item"><div class="sub-menu-item-icon"><img src="file:///C|/Users/jesse/Desktop/sight.png" width="100" height="100" alt=""/></div>Other Services</div>
</div>
</div>
LOL我不能相信我忽略了!这是令人尴尬的哈哈哈感谢队友:) – Jesse
当我通过相关的子菜单时,我将如何将主菜单项设置为其“悬停”状态? – Jesse
你的子菜单应该是主菜单项的子项。或者您可以设置子菜单的悬停来触发菜单项 – GvM