Я создаю HTML-страницу со строгим типом документа, и на моей странице есть элемент формы.
Я хочу изменить цвет фона поля ввода, когда мышь коснется моей формы. Я сделал это с помощью селектора css: hover для тега формы, но проблема в том, что IE понимает только hover для тега "a"!
Я нашел свою проблему в гугле и нашел:
- с использованием файла htc;
- использование JavaScript для создания класса наведения на элементах;
- создание большого тега "a" и размещение всех элементов внутри него;
но я не хочу делать ни одно из этих решений!
Нет ли лучшего способа исправить эту проблему в IE?
Мой HTML-код:
<form id="footer-search-form" title="Search" action="#action">
<fieldset>
<input type="text" class="footer-search-input" id="q" name="Search"></input>
<input type="button" class="footer-search-button" title="Search" value="Search"></input>
</fieldset>
</form>
Мой код CSS:
#footer-search-form:hover .footer-search-button { background-color: #fff; }
#footer-search-form:hover .footer-search-input { background-color: #fff; }
Обновление : и после нескольких часов поиска я сделал это с помощью js:
onmouseover="this.setAttribute(document.all?'className':'class','footer-search-hovered');" onmouseout="this.removeAttribute(document.all?'className':'class','footer-search-hovered');"
и
.footer-search-hovered .footer-search-input, .footer-search-hovered .footer-search-button { background-color: #fff !important; } /* For IE6 compatibility */
Я ненавижу это, но, похоже, лучшего способа нет ...