#html #css #hover
#HTML #css #наведите
Вопрос:
Мне нужно разместить ссылку на изображение на моей веб-странице, при наведении курсора на изображение я хочу, чтобы оно менялось на другое изображение. У меня возникли проблемы с этим.
Я эту строку в моем html:
<a href="mailto:ellie@example.com?subject=test" id="somethingtosay-ballon" class="item"> hello</a>
мои классы css:
#somethingtosay-ballon
{
background-image: url(Images/button_email_upstate.png);
display:block;
width:263px;
height:167px;
text-indent:-9999px;
position:absolute;
top:643px;
left:530px;
}
#somethingtosay-ballon .item:hover
{
background-image: url(Images/button_email_mouseover.png);
display:block;
width:263px;
height:167px;
text-indent:-9999px;
position:absolute;
top:643px;
left:530px;
}
Кто-нибудь может подсказать мне правильный способ сделать это?
Ответ №1:
Весь второй селектор должен быть
#somethingtosay-ballon:hover
{
background-image: url(Images/button_email_mouseover.png);
}
Вам не нужно повторять все дублирующиеся правила, и вам не нужно включать .item
в селектор. Вы можете добавить :hover
псевдокласс непосредственно в #id
селектор.
Ответ №2:
Уберите пробел между #somethingtosay-ballon
и .item:hover
. Это должно быть:
#somethingtosay-ballon.item:hover
Комментарии:
1.
#somethingtosay-ballon
это уже класс.item
. Разве это не излишне?2. В качестве пояснения
#id.class
сопоставляет элементы как с идентификатором, так и с классом;#id .class
сопоставляет подэлементы#id
с классом.class
.3. Класс @Dutchie
#somethingtosay-ballon" has the
item`, но этот ответ не «добавляет» класс, он использует его только как селектор. Ваше использование «уже» здесь не имеет смысла.4. Неверно,
#somethingtosay-ballon:hover
это то же самое, что#somethingtosay-ballon.item:hover
, поскольку объект также имеет этот идентификатор в качестве класса.5. Да, это то же самое. Поскольку вы используете идентификатор для выбора этого узла, должно быть только одно совпадение, и поэтому
item
класс не нужен в этом селекторе.
Ответ №3:
Если вы хотите изменить фон somethingtosay-ballon
, попробуйте
#somethingtosay-ballon:hover