Необходимо спрятать часть HTML кода от IE6.5 и ниже. Какие будут предложения?
Вид для печати
Необходимо спрятать часть HTML кода от IE6.5 и ниже. Какие будут предложения?
<!--[if gt IE 6.5]>
Код для браузера больше версии 6.5
<![endif]-->
можно и не использовать кондишнл комментс, т.к. это не стандарт.
а задать отображение необходимого блов в css через дочерний селектор, например, body>div.hide, т.о. ИЕ не поймет этого правила и проигнорирует его, нормальные браузеры выполнят инструкции CSS.
Zigzag
Приведи пример.
XHTML
CSSКод:<div id="hide"></div>
Т.к. IE не понимает правила дочерних селекторо, то он просто проигнорирует этот блок и не отобразит его, остальные браузеры отобразаят в соответствии с правилами, которые ты задашь в CSS :ninja:Код:body>div#hide {
твои правила
}
Saint_Matrix, Zigzag
Спасибо, за предложенные варианты. Но мне необходимо чтобы HTML код работал во всех браузерах и в IE7.0. Первый предложенный вариант распространяется только на IE, а вариант с CSS распространяется на все версии IE (если я не ошибаюсь, и на 7.0Beta тоже).
IE7+ понимает дочерние селекторы, так что он отобразит этот блок
Тогда так
<!--[if lte IE 6.5]>
Код для браузера больше версии 6.5
<![endif]-->
Zigzag, а давай ты не будешь мутить, и тоже будешь пользоваться самым рациональным способом, который предложил Saint_Matrix.
<!--[if gt IE 6.5]> и так далее...
Этого нет в стандартах, но, этот способ даёт 100% гарантию. В отличие от Временных хаках со звёздочками, селекторами и так далее...
я не говорю о хаках, а о вполне валидных правилах для правильных браузерах, которые ИЕ просто проигнорирует и они окажутся от него скрытыми.
С учетом того, что в большинстве случаев именно IE криво поддерживает стандарты и имеет баги, логично не писать селкторы html > body которые IE не понимает, а наоборот как раз использовать селекторы, которые понимает только IE, например:
* html #block {}
А в будущем IE научится понимать селекторы и что? Переписывать все хаки для всех своих сайтов будете?
Эх, твоими бы устами...... [Only registered and activated users can see links. Click Here To Register...]Цитата:
А в будущем IE научится понимать селекторы
[/quote]Цитата:
Originally posted by nickspring@Oct 24 2006, 13:57
С учетом того, что в большинстве случаев именно IE криво поддерживает стандарты и имеет баги, логично не писать селкторы html > body которые IE не понимает, а наоборот как раз использовать селекторы, которые понимает только IE, например:
* html #block {}
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
ИЕ просто игнорирует то, что не понимает и слава богу, так где же препятствия для использования подобного метода вместо хаков?
[/quote]Цитата:
Originally posted by Saint_Matrix@Oct 25 2006, 18:48
Эх, твоими бы устами......* [Only registered and activated users can see links. Click Here To Register...]
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
IE7 уже научился понимать многие вещи, ждем пока найдутся новые глюки =)
препятствие в том, что он может начать их понимать, но выполнять правила, скрытые ими будет так же криво [Only registered and activated users can see links. Click Here To Register...]
представте только, коллеги, сколько сайтов слетит при этом. сколько работы... [Only registered and activated users can see links. Click Here To Register...]
чушь! если он начнет понимать, то и выполнять правила будет!
твоими устам бы мед пить...
это же Microsoft...
[/quote]Цитата:
Originally posted by Saint_Matrix@Oct 14 2006, 16:50
<!--[if gt IE 6.5]>
* * Код для браузера больше* версии 6.5
<![endif]-->
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
Выше версии, такой же версии - удобный вариант, пользую и приветствую. Правда в основном прописываю не "Код для браузера больше версии 6.5" а ссылку на отдельный CSS файл
кондишнл комментс считаю глупостью, т.к. преспокойно можно обходится без него и оставлять при этом валидным код xhtml и css
Господа, вы не вникли во всю суть вопроса.
Необходимо было спрятать XHTML код от IE6.5 и ниже.
Под этим, не хитрым текстом, подразумевалось следующее: XHTML код должны видеть все браузеры, кроме IE6.5 и ниже. Т.е. нет отдельного кода для IE6.5 и ниже, просто он не должен видеть общий код. Более того, вариант с кондишн будет игнорирован всеми другими браузерами, т.к. является обычным комментом.
Вариант с child selector считаю самым рациональным (спасибо ZigZag'у). Но вот внедрить его достаточно сложно.
Т.к. мне надо "поделить на браузеры" только одну страницу, я остановился на самом простом варианте: JavaScript - определение браузера и соответствующая переадресация.
IE7.0 действительно сделал большой шаг вперёд, и сейчас вполне прилично понимает CSS2. [Only registered and activated users can see links. Click Here To Register...]k: