Разбираемся в CSS
Anonymous
Выпадающее меню не помещается в контейнер при открытии
Сообщение
Anonymous » 10 янв 2025, 13:03
У меня есть html:
Код: Выделить всё
[list]
[*]
[url=#]About[/url]
[url=/foo.html]Foo[/url]
[*][url=/bar.html]Bar[/url]
[/list]
и CSS:
Код: Выделить всё
nav {
width: 100px;
}
.nav-menu {
background-color: orange;
}
.dropdown {
position: relative;
}
a[data-toggle="dropdown"] {
display: flex;
align-items: center;
background: transparent;
color: blue;
padding: 10px 15px;
border-radius: 4px;
transition: background 0.3s ease;
white-space: nowrap;
}
a[data-toggle="dropdown"]:hover {
color: black;
}
.nav-menu {
display: flex;
flex-wrap: wrap;
gap: 10px;
list-style-type: none;
padding: 0;
margin: 0;
align-items: center;
width: 100%;
}
.dropdown-menu {
list-style: none;
padding: 10px 15px;
margin: 0;
position: absolute;
top: 100%;
left: 0;
min-width: 200px;
background: #ffffff;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
border-radius: 6px;
overflow: hidden;
transform: scaleY(0);
transform-origin: top;
opacity: 0;
transition: transform 0.3s ease, opacity 0.3s ease;
z-index: 1000;
}
.dropdown-menu.show {
transform: scaleY(1);
opacity: 1;
}
.dropdown-menu:before {
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
clip-path: inset(0 0 0 0);
}
Но я хочу, чтобы меню отображалось не шире, чем размеры контейнера. Меню всегда должно помещаться в контейнер.
https://jsfiddle.net/Suliman123/8tg67sq4/
Подробнее здесь:
https://stackoverflow.com/questions/793 ... hen-opened
1736503381
Anonymous
У меня есть html: [code] [list] [*] [url=#]About[/url] [url=/foo.html]Foo[/url] [*][url=/bar.html]Bar[/url] [/list] [/code] и CSS: [code] nav { width: 100px; } .nav-menu { background-color: orange; } .dropdown { position: relative; } a[data-toggle="dropdown"] { display: flex; align-items: center; background: transparent; color: blue; padding: 10px 15px; border-radius: 4px; transition: background 0.3s ease; white-space: nowrap; } a[data-toggle="dropdown"]:hover { color: black; } .nav-menu { display: flex; flex-wrap: wrap; gap: 10px; list-style-type: none; padding: 0; margin: 0; align-items: center; width: 100%; } .dropdown-menu { list-style: none; padding: 10px 15px; margin: 0; position: absolute; top: 100%; left: 0; min-width: 200px; background: #ffffff; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); border-radius: 6px; overflow: hidden; transform: scaleY(0); transform-origin: top; opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease; z-index: 1000; } .dropdown-menu.show { transform: scaleY(1); opacity: 1; } .dropdown-menu:before { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; clip-path: inset(0 0 0 0); } [/code] Но я хочу, чтобы меню отображалось не шире, чем размеры контейнера. Меню всегда должно помещаться в контейнер. [img]https://i.sstatic.net/0bdhOI6C.png[/img] https://jsfiddle.net/Suliman123/8tg67sq4/ Подробнее здесь: [url]https://stackoverflow.com/questions/79345306/dropdown-menu-does-not-fit-in-the-container-when-opened[/url]