Разбираемся в CSS
Anonymous
На мобильном телефоне, когда я открываю меню-гамбургер, значок X не отображается, когда я хочу закрыть меню?
Сообщение
Anonymous » 23 июн 2024, 15:47
это код html,css,js для меню навигации и меню-гамбургера:
Код: Выделить всё
[i][/i]
[list]
[*][url=#]Home[/url]
[*]
[url=#]Laptop Brands [i][/i][/url]
Asus
[url=#]Asus1[/url]
[*][url=#]Asus2[/url]
[/list]
Acer
[list]
[*][url=#]Acer1[/url]
[*][url=#]Acer2[/url]
[/list]
HP
[list]
[*][url=#]HP1[/url]
[*][url=#]HP2[/url]
[/list]
Dell
[list]
[*][url=#]Dell1[/url]
[*][url=#]Dell2[/url]
[/list]
Код: Выделить всё
.menu {
background-color: grey;
position: relative;
}
.menu-items {
list-style-type: none;
padding: 0;
margin: 0;
display: flex;
}
.menu-items > li {
position: relative;
}
.menu-items > li > a {
display: block;
padding: 15px 20px;
color: white;
text-decoration: none;
}
.menu-items > li > a:hover,
.menu-items > li:hover > a {
background-color: darkgrey;
}
.dropdown:hover .mega-menu {
display: flex;
}
.fa-caret-down {
margin-left: 5px;
}
.dropdown:hover .fa-caret-down {
transform: rotate(180deg);
}
.mega-menu {
display: none;
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
background-color: grey;
width: 600px;
padding: 20px;
box-shadow: 0 8px 16px rgba(0,0,0,0.2);
flex-wrap: wrap;
justify-content: center;
gap: 20px;
}
.menu-row {
display: flex;
width: 100%;
justify-content: space-around;
}
.menu-column {
flex: 1;
padding: 0 15px;
min-width: 150px;
text-align: center;
}
.menu-column h3 {
color: white;
border-bottom: 1px solid white;
padding-bottom: 5px;
margin-bottom: 10px;
}
.menu-column ul {
list-style-type: none;
padding: 0;
margin: 0;
}
.menu-column ul li a {
color: white;
text-decoration: none;
display: block;
padding: 5px 0;
transition: background-color 0.3s;
}
.menu-column ul li a:hover {
background-color: darkgrey;
border-radius: 4px;
}
/* Responsive Styles */
.hamburger {
display: none;
cursor: pointer;
padding: 15px 20px;
}
.hamburger i {
font-size: 24px;
color: #ffd978;
transition: 0.5s;
}
@media (max-width: 600px) {
.menu-items {
display: none;
flex-direction: column;
position: fixed;
top: 0;
right: -100%;
height: 100%;
width: 300px;
background-color: grey;
transition: right 0.3s ease;
padding-top: 60px;
}
.menu-items.active {
right: 0;
display: flex;
}
.hamburger {
display: block;
}
/* Mobile Dropdown */
.dropdown .mega-menu {
display: none;
position: static;
transform: none;
width: 100%;
box-shadow: none;
background-color: transparent;
padding: 0;
}
.dropdown.active .mega-menu {
display: block;
}
}
Код: Выделить всё
document.addEventListener('DOMContentLoaded', () => {
const hamburger = document.querySelector('.hamburger');
const menuItems = document.querySelector('.menu-items');
const dropdown = document.querySelector('.dropdown');
const barsIcon = '[i][/i]';
const timesIcon = '[i][/i]';
// Initialize hamburger with bars icon
hamburger.innerHTML = barsIcon;
// Toggle hamburger menu
hamburger.addEventListener('click', () => {
if (menuItems.classList.contains('active')) {
menuItems.classList.remove('active');
hamburger.innerHTML = barsIcon;
} else {
menuItems.classList.add('active');
hamburger.innerHTML = timesIcon;
}
});
// Toggle dropdown on mobile
dropdown.addEventListener('click', (event) => {
if (window.innerWidth
Подробнее здесь: [url]https://stackoverflow.com/questions/78658650/on-mobile-when-i-open-hamburger-menu-the-x-icon-is-not-showing-when-i-want-to-cl[/url]
1719146857
Anonymous
это код html,css,js для меню навигации и меню-гамбургера: [code] [i][/i] [list] [*][url=#]Home[/url] [*] [url=#]Laptop Brands [i][/i][/url] Asus [url=#]Asus1[/url] [*][url=#]Asus2[/url] [/list] Acer [list] [*][url=#]Acer1[/url] [*][url=#]Acer2[/url] [/list] HP [list] [*][url=#]HP1[/url] [*][url=#]HP2[/url] [/list] Dell [list] [*][url=#]Dell1[/url] [*][url=#]Dell2[/url] [/list] [/code] [code].menu { background-color: grey; position: relative; } .menu-items { list-style-type: none; padding: 0; margin: 0; display: flex; } .menu-items > li { position: relative; } .menu-items > li > a { display: block; padding: 15px 20px; color: white; text-decoration: none; } .menu-items > li > a:hover, .menu-items > li:hover > a { background-color: darkgrey; } .dropdown:hover .mega-menu { display: flex; } .fa-caret-down { margin-left: 5px; } .dropdown:hover .fa-caret-down { transform: rotate(180deg); } .mega-menu { display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background-color: grey; width: 600px; padding: 20px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); flex-wrap: wrap; justify-content: center; gap: 20px; } .menu-row { display: flex; width: 100%; justify-content: space-around; } .menu-column { flex: 1; padding: 0 15px; min-width: 150px; text-align: center; } .menu-column h3 { color: white; border-bottom: 1px solid white; padding-bottom: 5px; margin-bottom: 10px; } .menu-column ul { list-style-type: none; padding: 0; margin: 0; } .menu-column ul li a { color: white; text-decoration: none; display: block; padding: 5px 0; transition: background-color 0.3s; } .menu-column ul li a:hover { background-color: darkgrey; border-radius: 4px; } /* Responsive Styles */ .hamburger { display: none; cursor: pointer; padding: 15px 20px; } .hamburger i { font-size: 24px; color: #ffd978; transition: 0.5s; } @media (max-width: 600px) { .menu-items { display: none; flex-direction: column; position: fixed; top: 0; right: -100%; height: 100%; width: 300px; background-color: grey; transition: right 0.3s ease; padding-top: 60px; } .menu-items.active { right: 0; display: flex; } .hamburger { display: block; } /* Mobile Dropdown */ .dropdown .mega-menu { display: none; position: static; transform: none; width: 100%; box-shadow: none; background-color: transparent; padding: 0; } .dropdown.active .mega-menu { display: block; } } [/code] [code]document.addEventListener('DOMContentLoaded', () => { const hamburger = document.querySelector('.hamburger'); const menuItems = document.querySelector('.menu-items'); const dropdown = document.querySelector('.dropdown'); const barsIcon = '[i][/i]'; const timesIcon = '[i][/i]'; // Initialize hamburger with bars icon hamburger.innerHTML = barsIcon; // Toggle hamburger menu hamburger.addEventListener('click', () => { if (menuItems.classList.contains('active')) { menuItems.classList.remove('active'); hamburger.innerHTML = barsIcon; } else { menuItems.classList.add('active'); hamburger.innerHTML = timesIcon; } }); // Toggle dropdown on mobile dropdown.addEventListener('click', (event) => { if (window.innerWidth Подробнее здесь: [url]https://stackoverflow.com/questions/78658650/on-mobile-when-i-open-hamburger-menu-the-x-icon-is-not-showing-when-i-want-to-cl[/url]
0 Ответы
27 Просмотры
Последнее сообщение Anonymous
25 июн 2024, 21:50
0 Ответы
95 Просмотры
Последнее сообщение Anonymous
06 мар 2024, 15:32
0 Ответы
75 Просмотры
Последнее сообщение Anonymous
28 май 2024, 23:56
0 Ответы
17 Просмотры
Последнее сообщение Anonymous
27 янв 2025, 15:23
0 Ответы
24 Просмотры
Последнее сообщение Anonymous
24 янв 2025, 09:46