В адаптивном меню Svelte не отображаются вертикальные элементы на узком экране.Html

Программисты Html
Ответить
Anonymous
 В адаптивном меню Svelte не отображаются вертикальные элементы на узком экране.

Сообщение Anonymous »

Я не могу использовать адаптивное меню W3C в Svelte. Горизонтальная панель навигации меню правильно скрыта, но я не могу отобразить вертикальную версию. Демо на сайте W3C работает.
Когда я собираю его локально...
пункты горизонтального меню работают в настройках рабочего стола и все, кроме первые корректно скрываются, если ширина меньше 600 пикселей.
Мне пришлось изменить функцию myFunction, чтобы при нажатии на бургер-меню адаптивный класс корректно добавлялся и удалялся.< /p>
Однако, когда я нажимаю в нем пункты меню не отображаются вообще (вертикально или иначе).
Я создал простую игровую площадку Svelte, и она в основном работает аналогичным образом, хотя нажатие на бургер-меню обновляет страница, вероятно, из-за тега a.
Вот код...

Home
News
Contact

Dropdown



Link 1
Link 2
Link 3


About
myFunction()}>&#9776



/* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */
function myFunction() {
const topnav = document.getElementById("myTopnav");
if (topnav.classList.contains("responsive")) {
topnav.classList.remove("responsive"); // Collapse menu
} else {
topnav.classList.add("responsive"); // Expand menu
}
console.log(topnav.className);
}

/* not using this now as didn't add class*/
function OriginalMyFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}



.topnav {
overflow: hidden;
background-color: #333;
}

.topnav a {
font-size: 17px;
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}

.active {
background-color: #04AA6D;
color: white;
}

.topnav .icon {
display: none;
}

.dropdown {
float: left;
overflow: hidden;
}

.dropdown .dropbtn {
font-size: 17px;
border: none;
outline: none;
color: white;
padding: 14px 16px;
background-color: inherit;
font-family: inherit;
margin: 0;
}

.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}

.dropdown-content a {
float: none;
color: black;
padding: 14px 16px;
text-decoration: none;
display: block;
text-align: left;
}

.topnav a:hover, .dropdown:hover .dropbtn {
background-color: #555;
color: white;
}

.dropdown-content a:hover {
background-color: #ddd;
color: black;
}

.dropdown:hover .dropdown-content {
display: block;
}

@media screen and (max-width: 600px) {
.topnav a:not(:first-child), .dropdown .dropbtn {
display: none;
}
.topnav a.icon {
float: right;
display: block;
}
}

@media screen and (max-width: 600px) {
.topnav.responsive {position: relative;}
.topnav.responsive .icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
.topnav.responsive .dropdown {float: none;}
.topnav.responsive .dropdown-content {position: relative;}
.topnav.responsive .dropdown .dropbtn {
display: block;
width: 100%;
text-align: left;
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... row-screen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»