CSS наведите курсор на проблему элементов в IE - PullRequest
1 голос
/ 31 декабря 2011

Я создаю 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 */

Я ненавижу это, но, похоже, лучшего способа нет ...

Ответы [ 2 ]

2 голосов
/ 31 декабря 2011

У вас действительно могут возникнуть проблемы , если ваши пользователи используют IE6 . Большинство веб-разработчиков в настоящее время даже не заботятся о поддержке такого старого браузера, поэтому я не стал бы беспокоиться об этом.

0 голосов
/ 31 декабря 2011

IE поддерживает :hover на любом элементе начиная с IE8 (или даже с IE7? Я не помню), который выпускался более трех лет.По общему признанию, слишком много людей все еще используют IE6 (главным образом потому, что IE не имеет автообновления - ему действительно нужно), но для чего-то столь же простого, как этот эстетический эффект, вам действительно не нужно беспокоитьсяо поддержке в старых реликвиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...