Как мне заставить liteAccordion (плагин с горизонтальным аккордеоном для jQuery) работать в IE6 - PullRequest
0 голосов
/ 19 октября 2011

Я использую этот плагин и внес некоторые изменения, чтобы соответствовать моим требованиям. Теперь это не работает в IE6. Как заставить его работать в IE6 и IE8? Как настроить CSS, чтобы он работал?

http://nicolahibbert.com/demo/liteAccordion/

1 Ответ

1 голос
/ 19 октября 2011

В документации говорится, что IE6 не поддерживается этим плагином, поэтому самый простой вариант - найти альтернативный плагин, который работает в IE6.Или не поддерживать IE6 самостоятельно, конечно.

Если вам действительно нужно поддерживать IE6 с помощью этого конкретного плагина, то вам нужно выяснить, какие функции CSS он использует, которые не поддерживаются IE6.

Глядя на файл css для аккордеона на демонстрационной странице , он включает следующее:

  • > дочерний селектор.
  • Селектор :hover.
  • display: inline-block;
  • border-radius

и, возможно, еще.

С этим можно обойтись без(border-radius например), но большинство из них определенно потребуются для того, чтобы вещь работала.Детский селектор > станет для вас главным убийцей.Hover также будет большой проблемой.

Вы можете попробовать заменить дочерние селекторы на дочерние селекторы - т.е. заменить символы > простым пробелом.Это работает в IE6 и часто предоставляет те же функции.Однако вполне вероятно, что он использовал > вместо пробела по причине, которая означает, что есть хороший шанс, что это что-то сломает.Это стоит попробовать, но не ожидайте, что это сработает сразу.Вероятно, вам потребуется проделать дополнительную работу, чтобы все снова заработало.

Чтобы :hover заработал, вам нужно знать, что в IE6 :hover работает только с тегами <a>,Таким образом, чтобы исправить код, вам нужно переписать его так, чтобы элементы, на которые влияет зависание, были <a>.

Если вы хотите избежать переписывания всего текста, я бы предложил использоватьВзлом Javascript, такой как IE7.js Дина Эдвардса .Это утилита javascript, которая пытается добавить функциональность в более старые версии IE.Это включает в себя поддержку некоторых селекторов CSS.Другой альтернативой, выполняющей аналогичную работу, является Selectivzr .

Функцию :hover CSS можно заставить работать в IE6 с помощью любой: hover javascript hack.Это аккуратный небольшой взлом, который заставляет работать в IE6 любой элемент, а не только теги <a>.

Добавление одного или нескольких этих сценариев на ваш сайт может быть достаточно для его работы с существующим CSS,Я не могу гарантировать это, но тогда трудно гарантировать многое с IE6.

border-radius не является необходимым, но если вы хотите, чтобы это работало также, лучший взлом для него - CSS3Pie .Это работает очень хорошо для добавления поддержки закругленных углов в старых версиях IE.Однако, со всеми другими взломами, которые вы будете использовать, я бы предложил не использовать его, если вам не нужно, так как весь этот javascript может вызвать проблемы с производительностью в браузере столь же старого, как IE6.

Надеюсь, что это поможет.

...