Причина, по которой расширяется вся ваша навигация, связана с позиционированием предмета. Вы установили .dropdown-content
на position: relative;
. Если вы установите position: absolute;
, это исправит первую проблему.
Однако теперь, чтобы получить ширину, равную ширине родительского, есть несколько способов сделать это. Проще всего было бы просто установить для свойства width
значение dropdown-content
, чтобы оно всегда было одинаковым. Единственная проблема будет, если у вас есть более длинные выпадающие области контента, чтобы слова были обрезаны. Если это так, вы можете использовать min-width
вместо этого. Я вычислил ширину, равную 97.45px;
, из отступов, используемых в теге <button>
.
Так что все, что вам нужно сделать, это изменить css из .dropdown-content
на:
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
width: 97.45px;
}
или, как я сказал min-width: 97.45px;
. Это будет иметь ту же ширину, что и родительский, при этом позволяя расширять опции с большим содержанием.
Если это не то, что вы ищете, пожалуйста, прокомментируйте ответ на это, и я буду рад помочь , Есть несколько разных способов сделать это. Чисто установить ширину может быть просто самым простым. Кстати, добро пожаловать в стек переполнения