Я только начинаю изучать HTML & CSS и начал строить простой веб-сайт, чтобы учиться на лету.изменение выпадающего текста цвет html
Я пытаюсь создать раскрывающееся меню, которое открывается, когда пользователь наводится на ссылку (dropbtn в моем коде). Я хочу, чтобы цвет фона и текста кнопки изменялся, когда раскрывающееся меню открыто (когда пользователь наводил курсор на кнопку или любую из раскрывающихся меню). Для справки вы можете посмотреть http://www.cibc.ca. Их navbar - темно-бордовый/красный, но как только пользователь наводит курсор на кнопку, цвет кнопки переключается на серый (в соответствии с выпадающим меню), а цвет текста меняется на темно-бордовый. Цвета остаются неизменными, когда пользователь переходит к раскрывающимся спискам, и возвращается только после того, как курсор полностью выйдет из выпадающего меню.
До сих пор мне удалось создать меню, которое открывается, и цвет фона и текста кнопки меняется, когда пользователь наводил курсор на кнопку. Однако, когда пользователь перемещает курсор от кнопки и в одну из раскрывающихся опций, цвет текста кнопки возвращается к исходному призрачному свету, и поэтому невозможно увидеть текст. Я ищу способы изменить цвет, пока выпадающее меню не будет закрыто.
Это мой первый пост в stackoverflow, так что простите меня за любые проблемы с сообщением.
EDIT: добавлена эта строка кода, которую я нашел, чтобы найти по другому вопросу. К сожалению, я не знаю, почему это работает, поэтому объяснение будет оценено.
#nav li:hover > a, #nav li:hover > a:link, #nav li:hover > a:visited{color:white;}
HTML:
<div>
<ul id = "menu">
<li><a class = "active" style = "color:dodgerblue" href = "http://www.google.ca">Home</a></li>
<li><a href = "website1.html">Projects</a></li>
<li><a href = "http://www.twitter.com">Community Involvement</a></li>
<li class = "dropdown">
<a class = "dropbtn" href = "#">Social Media</a>
<div class = "dropdown-content">
<a href = "http://www.facebook.com">Facebook</a>
<a href = "http://www.twitter.com">Twitter</a>
<a href = "http://www.instagram.com">Instagram</a></div>
</li>
<li><a href = "http://www.twitter.com">Join Our Team</a></li>
<li><a href = "http://www.twitter.com">FAQ</a></li>
<li><a href = "http://www.twitter.com">About Us</a></li>
<li><a href = "http://www.twitter.com">Contact Us</a></li>
</ul>
CSS:
ul#menu li.dropdown .dropbtn{
display:inline-block;
color:ghostwhite;
text-decoration:none;
text-align:center;
padding:14px 16px;
}
ul#menu li a:hover:not(.active), .dropdown:hover .dropbtn{
background-color:ghostwhite;
color:dodgerblue;
}
.active{
background-color:ivory;
}
ul#menu li.dropdown{
display:inline-block;
}
ul#menu .dropdown-content {
display: none;
position: absolute;
background-color: ghostwhite;
min-width: 160px;
}
ul#menu .dropdown-content a{
color:dodgerblue;
padding: 12px 16px;
text-decoration:none;
display:block;
text-align:left;
}
ul#menu .dropdown .dropdown-content a:hover{
background-color: skyblue;
}
ul#menu .dropdown:hover .dropdown-content {
display: block;
}
Для этого вам понадобится javascript. –
Я отредактировал мое сообщение и добавил строку кода, которую я нашел в другом ответе, который сделал то, что я хотел. Тем не менее, я понятия не имею, почему это работает, поэтому, если кто-нибудь может объяснить, что для меня это очень помогло бы мне. – aratna