提问人:Jessica 提问时间:5/4/2023 最后编辑:Mark SchultheissJessica 更新时间:5/10/2023 访问量:173
下拉菜单在 html 和 css 中不起作用
Dropdown menu doesn't work in html and css
问:
嗨,我想隐藏下拉菜单子菜单,但似乎不起作用。我使用该属性,它不会隐藏它,当我尝试并且也不会下拉时。display: block !important;
display: none !important;
我想要的是当我触摸它时,它会将鼠标悬停在下拉子菜单上,然后只显示。 它在哪里导致子菜单无法工作,我需要解决方案? 我需要这方面的帮助。
谢谢。
这是我需要显示的下拉菜单的预期输出
nav li {
/* remove all the bullets and baked in style - probably should use div set instead */
list-style: none;
margin: 0px;
padding: 0px;
}
.navbar-link {
color: #000080;
background-color: deepskyblue;
}
.navbar-head {
background-color: #000099;
font-family: Calibri, sans-serif;
}
.navbar-head2 {
background-color: deepskyblue;
font-family: Calibri, sans-serif;
font-size: 18px;
}
.navbar-brand>strong {
color: white;
font-size: 3.3rem;
text-transform: uppercase;
}
/* Divider line */
.menu-hr-line {
/* border-top-width: 3px;*/
border-top-color: #000099;
}
/* Dropdown menu */
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #777;
border-color: #fff;
}
.dropdown-header {
color: #050A30;
font-size: 14px;
font-weight: bold;
}
.dropdown-menu {
width: 200px;
}
.dropdown-menu .columns-4 {
min-width: 1300px;
background-color: #e6ffff;
}
.dropdown .has-megamenu {
position: static;
display: inline-block;
}
.dropdown-menu .submenu {
display: block !important;
position: absolute;
left: 50%;
z-index: 1;
}
.dropdown-menu>li>a {
padding: 5px 15px;
font-weight: 300;
}
.dropdown-menu>li:hover>.submenu {
display: block;
z-index: 1;
}
.multi-column-dropdown {
list-style: none;
margin: 0px;
padding: 0px;
}
.multi-column-dropdown>li>a {
display: block;
clear: both;
line-height: 1.324624;
color: #000c66;
white-space: normal;
}
.multi-column-dropdown>li>a:hover {
color: cornflowerblue;
text-decoration: none;
background-color: #f2f2f2;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<nav class="navbar-head">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" title="facility portal">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" runat="server" href="~/"><strong>PORTAL</strong></a>
</div>
</div>
</nav>
<div class="navbar-head2">
<div class="container-fluid">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="~/Home" class="navbar-link">HOME</a></li>
<li class="dropdown"><span data-toggle="dropdown" class="dropdown-toggle navbar-link">GENERAL <span class="caret"></span></span>
<ul role="menu" class="dropdown-menu">
<li><a id="A1" href="#">Chart</a></li>
<li><a id="A2" href="#">Document</a></li>
<li><a id="A3" href="#">Equipment</a></li>
<li><a id="A4" href="#">Utility</a></li>
<li><a id="A5" href="#">Plant</a></li>
</ul>
</li>
<li class="nav-item dropdown has-megamenu"><span data-toggle="dropdown" class="dropdown-toggle navbar-link">MODULES <span class="caret"></span></span>
<ul role="menu" class="dropdown-menu multi-column columns-4">
<li>
<div class="row">
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Report</li>
<li>
<hr class="border-top-3 solid w-100 menu-hr-line" />
</li>
<li class="dropdown"><span data-toggle="dropdown" class="data-toggle">Daily <span class="caret"></span></span>
<ul role="menu" class="dropdown-menu submenu">
<li><a id="A16" href="#">1</a></li>
<li><a id="A17" href="#">3</a></li>
<li><a id="A18" href="#">5</a></li>
<li><a id="A19" href="#">7</a></li>
<li><a id="A20" href="#">9</a></li>
<li><a id="A21" href="#">12</a></li>
</ul>
</li>
<li><a id="A7" href="#">Weekly</a></li>
<li><a id="A8" href="#">Abnormality</a></li>
<li><a id="A9" href="#">Plant</a></li>
<li><a id="A10" href="#">Calibration</a></li>
<li><a id="A11" href="#">Supervising</a></li>
</ul>
</div>
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Inventory</li>
<li>
<hr class="solid w-100 menu-hr-line" />
</li>
<li><a id="A12" href="#">Items</a></li>
</ul>
</div>
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Schedule</li>
<li>
<hr class="solid w-100 menu-hr-line" />
</li>
<li><a id="A13" href="#">Master</a></li>
</ul>
</div>
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Documentation</li>
<li>
<hr class="solid w-100 menu-hr-line" />
</li>
<li><a id="A14" href="#">Equipment</a></li>
<li><a id="A15" href="#">Drawing</a></li>
</ul>
</div>
</div>
</li>
</ul>
</li>
<li><a href="#" class="navbar-link">OFFINE MANAGEMENT SYSTEM</a></li>
</ul>
</div>
</div>
</div>
</div>
答:
0赞
Ronnie Royston
5/5/2023
#1
正确的 HTML 元素是 .<select>
document.getElementById("button").addEventListener("click", function (e) {
document.getElementById("select").toggleAttribute("disabled");
});
document.getElementById("button2").addEventListener("click", function (e) {
document.getElementById("select").toggleAttribute("hidden");
});
<label for="select">Choose a pet:</label>
<select name="pets" id="select">
<option value="">--Please choose an option--</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="hamster">Hamster</option>
<option value="parrot">Parrot</option>
<option value="spider">Spider</option>
<option value="goldfish">Goldfish</option>
</select>
<br>
<br>
<button id=button>Enable/Disable Select Element</button>
<button id=button2>Show/Hide Select Element</button>
评论
0赞
Mark Schultheiss
5/8/2023
唉,正如您可能已经知道的那样,缺乏样式并导致大量解决方法的能力。但是,恕我直言,由于这些的内置样式,也不是一个很好的选择。<select>
<input type="date"
ul/li
1赞
Mark Schultheiss
5/9/2023
#2
这只是一个部分的解决方案 - 这里要做的太多了,无法使其成为“完整”的答案。请注意,我删除了很多内容,因为它超出了问题的范围。您还必须通过此处的“链接作为下拉触发器”来解决挑战。FWIW 我会放弃所有嵌套的 UL/LI,而只使用一组嵌套的 div 和适当的类进行引导。我目前没有更多时间来彻底审查这个问题并解决所有问题。注意:我在这里注释掉了大部分 CSS,因为它真的感觉“太多了”——尤其是当与 Bootstrap 结合使用时,它可以用类做很多事情。runat="server"
nav li {
/* remove all the bullets and baked in style - probably should use div set instead */
list-style: none;
margin: 0px;
padding: 0px;
}
.navbar-link {
color: #000080;
background-color: deepskyblue;
}
.navbar-head {
background-color: #000099;
font-family: Calibri;
}
.navbar-brand {
color: white;
font-size: 2rem;
}
.menu-hr-line {
/* border-top-width: 3px;*/
border-top-color: #000099;
}
/*
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #777;
border-color: #fff;
}
.navbar-head2 {
background-color: deepskyblue;
font-family: Calibri;
font-size: 18px;
}
.dropdown.has-megamenu {
position: static;
}
*
.dropdown-header {
color: #050A30;
font-size: 14px;
font-weight: bold;
}
.dropdown-menu {
width: 200px;
}
.dropdown-menu.columns-4 {
min-width: 1345px;
background-color: #e6ffff;
}
.dropdown-menu .submenu {
display: block !important;
position: absolute;
left: 50%;
top: 1px;
z-index: 1;
}
.dropdown-menu>li:hover>.submenu {
display: block;
z-index: 1;
}
.dropdown-menu li a {
padding: 5px 15px;
font-weight: 300;
}
.multi-column-dropdown {
list-style: none;
margin: 0px;
padding: 0px;
}
.multi-column-dropdown li a {
display: block;
clear: both;
line-height: 1.324624;
color: #000C66;
white-space: normal;
}
.multi-column-dropdown li a:hover {
text-decoration: none;
color: cornflowerblue;
background-color: #f2f2f2;
}
@media (max-width: 767px) {
.dropdown-menu.multi-column {
min-width: 240px !important;
overflow-x: hidden;
}
}
*/
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<nav class="navbar-head">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" title="portal">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" runat="server" href="~/"><strong>PORTAL</strong></a>
</div>
</div>
</nav>
<nav class="navbar-head2">
<div class="container-fluid">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="~/Home" class="navbar-link">HOME</a></li>
<li class="dropdown">
<!-- <a runat="server" href="~/General" data-toggle="dropdown" class="dropdown-toggle navbar-link">GENERAL<span class="caret"></span></a> --><span data-toggle="dropdown" class="dropdown-toggle navbar-link">GENERAL<span class="caret"></span></span>
<ul role="menu" class="dropdown-menu">
<li><a id="A1" href="#">Chart</a></li>
<li><a id="A2" href="#">Document</a></li>
<li><a id="A3" href="#">Equipment</a></li>
<li><a id="A4" href="#">Layout</a></li>
<li><a id="A5" href="#">Plant</a></li>
</ul>
</li>
<li class="nav-item dropdown has-megamenu">
<!-- <a runat="server" href="~/Modules" data-toggle="dropdown" class="dropdown-toggle navbar-link">MODULES <span class="caret"></span></a> -->
<span data-toggle="dropdown" class="dropdown-toggle navbar-link">MODULES <span class="caret"></span></span>
<ul role="menu" class="dropdown-menu multi-column columns-4">
<li>
<div class="row">
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Report</li>
<li>
<hr class="border-top-3 solid w-100 menu-hr-line" />
</li>
<li class="dropdown" data-toggle="dropdown"> <span>Daily</span>
<ul role="menu" class="dropdown-menu submenu">
<li><a id="A16" href="#">1</a></li>
<li><a id="A17" href="#">3</a></li>
<li><a id="A18" href="#">5</a></li>
<li><a id="A19" href="#">7</a></li>
<li><a id="A20" href="#">9</a></li>
<li><a id="A21" href="#">12</a></li>
</ul>
</li>
<li><a id="A7" href="#">Weekly</a></li>
<li><a id="A8" href="#">Abnormality</a></li>
<li><a id="A9" href="#">Plant</a></li>
<li><a id="A10" href="#">Calibration</a></li>
<li><a id="A11" href="#" r>Supervising</a></li>
</ul>
</div>
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Inventory</li>
<li>
<hr class="solid w-100 menu-hr-line" />
</li>
<li><a id="A12" href="#">Items</a></li>
</ul>
</div>
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Schedule</li>
<li>
<hr class="solid w-100 menu-hr-line" />
</li>
<li><a id="A13" href="#">Master</a></li>
</ul>
</div>
<div class="col-md-3">
<ul class="multi-column-dropdown">
<li class="dropdown-header">Documentation</li>
<li>
<hr class="solid w-100 menu-hr-line" />
</li>
<li><a id="A14" href="#"> Equipment</a></li>
<li><a id="A15" href="#">Drawing</a></li>
</ul>
</div>
</div>
</li>
</ul>
</li>
<li><a href="#" class="navbar-link">OFFICE MANAGEMENT SYSTEM</a></li>
</ul>
</div>
</div>
</nav>
</div>
评论