#jquery #internet-explorer #jquery-plugins #css #internet-explorer-6
#jquery #internet-explorer #jquery-плагины #css #internet-explorer-6
Вопрос:
Я использую этот плагин и внес некоторые изменения в соответствии с моими требованиями. Теперь это не работает в IE6. Как заставить его работать в IE6 и IE8? Как настроить CSS, чтобы он работал?
Ответ №1:
В документации указано, что IE6 не поддерживается этим плагином, поэтому самым простым вариантом может быть поиск альтернативного плагина, который работает в IE6. Или, конечно, не поддерживать IE6 самостоятельно.
Если вам действительно нужна поддержка IE6 с помощью этого конкретного плагина, вам нужно выяснить, какие функции CSS он использует, которые не поддерживаются IE6.
Просматривая файл css для аккордеона на демонстрационной странице, это включает в себя следующее:
>
Дочерний селектор.:hover
Селектор.display: inline-block;
border-radius
и, возможно, больше.
Без некоторых из них вы можете обойтись ( border-radius
например), но большинство из них определенно потребуются для работы. >
Дочерний селектор будет для вас большим убийцей. Наведение также будет большой проблемой.
Вы могли бы попробовать заменить дочерние селекторы селекторами-потомками — т.е. Заменить >
символы простым пробелом. Это работает в IE6 и часто обеспечивает ту же функциональность. Однако вполне вероятно, что он использовал >
, а не пробел по какой-то причине, а это значит, что есть большая вероятность, что это что-то сломает. Стоит попробовать, но не ожидайте, что это сработает сразу. Вероятно, вам потребуется проделать дополнительную работу, чтобы все снова заработало.
Чтобы заставить :hover
его работать, вам нужно знать, что в IE6 :hover
работает только с <a>
тегами. Итак, чтобы исправить код, вам нужно будет переписать его так, чтобы элементы, на которые влияет наведение, были <a>
.
Если вы хотите избежать переписывания всего этого, я бы предложил использовать Javascript-хак, такой как Dean Edwards ‘ IE7.js . Это утилита javascript, которая пытается добавить функциональность в более старые версии IE. Это включает поддержку некоторых селекторов CSS. Другой альтернативой, которая выполняет аналогичную работу, является Selectivzr.
Функциональность :hover
CSS можно заставить работать в IE6 с помощью взлома javascript whatever: hover. Это аккуратный маленький хак, который заставляет hover работать в IE6 для любого элемента, а не только <a>
для тегов.
Добавления одного или нескольких из этих скриптов на ваш сайт может быть достаточно, чтобы заставить его работать с существующим CSS. Я не могу этого гарантировать, но тогда трудно гарантировать многое с IE6.
Это border-radius
не обязательно, но если вы хотите, чтобы это тоже работало, лучший способ взломать его — CSS3Pie. Это очень хорошо работает для добавления поддержки закругленных углов в более старых версиях IE. Однако, учитывая все другие хаки, которые вы будете использовать, я бы посоветовал не использовать его без необходимости, поскольку весь этот javascript может вызвать проблемы с производительностью в браузере, таком же старом, как IE6.
Надеюсь, это поможет.
Комментарии:
1. : Я перепробовал все упомянутые вами хаки Javascript. ни один из них не работает
2. @Someone — я добавил еще несколько абзацев с дополнительной информацией. Хак наведения вполне может вам помочь. Но если вам нужна дополнительная помощь с другими взломами, вам нужно больше рассказать о том, что не работает — вы пробовали посмотреть, работают ли они с каким-нибудь более простым кодом тестового примера? Вы прочитали документацию и убедились, что правильно их настроили? Внесли ли они какие- либо изменения в ваш скрипт? Насколько плохо эта вещь выглядит в IE6 в любом случае? Вы также пытались настроить CSS, как я предлагал (это не поможет вам полностью, но может помочь)? И у вас включен Javascript, верно?