Классы иерархии CSS и идентификаторы

Я создаю меню, используя XHTML, CSS и jQuery, и у меня возникла проблема с моим CSS. Здесь - моя тестовая страница, а здесь - мой CSS.

У меня проблемы с тем, что мой класс .subMenu наследует свойства моего #menu, цвета и размеры фона такие же. Я ищу решение, которое оставляет .subMenu как класс, чтобы я мог его повторно использовать. Я заставил его работать, изменив .subMenu на идентификатор. Странно то, что я редактирую некоторые свойства в моем коде jQuery с помощью класса .subMenu, и он меняет их.

Поэтому мне было интересно, может ли кто-нибудь сообщить мне, как это исправить, и если это проблема иерархии, могут ли они объяснить это.

Спасибо, Леви

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
2
0
5 891
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, проблема в том, что #menu> li a применит этот стиль ко всем ссылкам внутри тегов li, поэтому все теги li внутри подменю также будут иметь этот стиль. Мне кажется, единственная разница заключается в цветах фона и переднего плана при наведении, поэтому вы можете исправить это, изменив #menu> li a и #menu> li a: hover на #menu> li> a и #menu> li> a: наведите указатель мыши. Таким образом, стили для меню верхнего уровня будут применяться только к ссылкам, которые находятся непосредственно после тега li, которые находятся непосредственно после элемента #menu. Стили подменю могут оставаться неизменными.

Другие вопросы по теме