Есть ли способ, которым может отображаться другой раздел кода HTML, на основе браузера, с которого пользователь просматривает? Например:
Показать этот div для IE7:
<div id="ie7styles"><p>This is my IE 7 text</p></div>
Показать этот div для каждого другого браузера:
<div id="mystyles"><p>This is every other browsers text</p><img src="#"></div>
Причина, по которой я хочу сделать это, состоит в том, что у меня есть простой эффект parallax CSS, но поскольку inherit
и background-size
не поддерживаются в IE7, я хотел бы, чтобы изображение по умолчанию просто отображалось при просмотре с IE7, поэтому нет разрыв.
вы можете использовать условные комментарии
<!--[if lte IE 7]>
<div>What ever you need tho show here</div>
<![endif]-->
везде на вашем html
См. Http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
для более разных браузеров. Он НЕ работает только для таблиц стилей.
Другим способом является пользовательский javascript. но я предпочитаю это решение.
ОБНОВИТЬ
У меня нет IE для тестирования, но теперь я думаю, что вы обновили вопрос и от того, что я вижу, у jQuery будет хорошее решение для изменения того, что вы хотите. Он должен искать элементы, которые вы хотите "изменить". Я привел пример, чтобы дать вам представление о том, как он может работать
Подумайте, используете ли вы это решение, каждый пользователь должен иметь javascript. Если он не хочет работать! Вот почему я предпочел бы решение выше. Другой способ - это вы можете изменить код только в одном месте и просто добавить класс к элементам, которые нужно изменить.
<div class="alwaysLikeThis">Lorem ipsum dolor sit amet.</div>
<div class="changeOnIe7">Show something else on IE7</div>
<div class="alwaysLikeThis changeOnIe7">Show something else on IE7</div>
<script type="text/javascript">
$(document).ready(function(){
if($.browser.msie && parseInt($.browser.version, 10) == 7) {
alert("here");
$( ".changeOnIe7" ).replaceWith( "<p class='newElement'>this is something else</p>" );
}
});
</script>
Проверить условные комментарии