首先,我想为我的语法错误道歉。我的问题是我用 CSS 和 JavaScript 在 HTML 中制作了一个响应式下拉菜单,但是当我使网页小于 600 像素时,除了下拉部分之外,一切都正常。它显示了菜单的所有主要部分,这里有“Kezdőlap”、“Rajzok”、“Festmények”等。但它没有显示“Fekete-fehér grafikák”等等。所以,我的意思是ul
> li
> ul
>li
部分。当它小于 600px 宽度时。
我必须使这段代码更好,以显示一切。所以,这里是 HTML 部分:
<nav>
<ul class="menu">
<li><a href="#">Kezdőlap</a></li>
<li>
<a href="rajzok.html"><span>Rajzok</span></a>
<ul class="menu">
<li><a href="rajzok.html">Fekete-fehér grafikák</a></li>
<li><a href="szinesrajzok.html">Színes képek</a></li>
<li><a href="negative.html">Negatív rajzok</a></li>
</ul>
</li>
<li>
<a href="festmenyek.html"><span>Festmények</span></a>
<ul>
<li><a href="festmenyek.html">Fekete-fehér</a></li>
<li><a href="szinesfestmenyek.html">Színes</a></li>
</ul>
</li>
<li><a href="kapcs.html">Kapcsolat</a></li>
<li><a href="insp.html">Inspiráció</a></li>
<li><a href="other.html">Egyéb alkotások</a></li>
<li class="ikon"><a href="javascript:void(0);" onclick="myFunction()">☰</a></li>
</ul>
</nav>
我有一个 CSS 代码(它不是完整的,但我想你可以理解我的问题),它看起来像这样:
@media (max-width:600px) {
nav li:not(:first-child) {display: none;}
nav li.ikon {float: right; display: inline-block;}
nav ul.kibont {position: relative;}
nav ul.kibont li.ikon {position: absolute; right: 0; top: 0;}
nav ul.kibont li {float: none; display: block;}
nav ul.kibont li a {display: block; text-align: left;}
}
和JS:
function myFunction()
{
document.getElementsByClassName("menu")[0].classList.toggle("kibont");
}