Я разрабатываю html-страницу со строгим doctype, и на моей странице есть элемент формы.css hover on elements issue in IE
Что я хочу сделать, это изменить цвет фона ввода, когда мышь касается моей формы. Я сделал это с помощью css: hover selector в теге формы, но проблема в том, что IE понимает только курсор на теге «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; }
Update: и после нескольких часов поисков я сделал это с помощью 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 */
Я ненавижу его, но мне кажется, что нет лучшего способа ...
Почему вы не хотите использовать исправление '.htc'? http://peterned.home.xs4all.nl/csshover.html – thirtydot
У меня есть плохой опыт с исправлениями .htc. большую часть времени они исправляют простую проблему, создавая еще одну сложную проблему! –