2017-01-23 28 views
-1

Мне нужно получить сайт, работающий в страшном IE до 8, к сожалению. Его долгое время с тех пор, как я должен был что-то сделать с 8, поэтому я борюсь со следующим.Как я могу показать и скрыть элементы в IE8?

Я использую Modernizr Check который запускает следующий сценарий для старого браузера:

$(".hp_header #bgvid, .hp_header .cd-background-wrapper").hide(); 
$(".hp_header .respy").show(); 
$(".hp_header #bgvid, .hp_header .cd-background-wrapper").css("display", "none"); 
$(".hp_header .respy").css("visible", "true"); 
$(".hp_header .respy").css("display", "block"); 
$(".hp_header .respy").css("width", "100%"); 

К сожалению, видимость и параметры отображения полностью игнорируются IE8, что я должен делать?

+1

Ваш вопрос остается неясным. Какая часть этого не работает? Что такое DOM, для которого предназначен этот код? –

+1

*** Если *** .respy' - это элемент, который по умолчанию использует 'inline-block' или' inline' (например, 'span'), вы не можете заставить IE8 рассматривать его как' block'. Это реальность старого IE. Также обратите внимание, что нет свойства 'visible' CSS (есть' visibility', но оно не имеет значения 'true', оно имеет' visible', 'hidden' или' collapse'). –

+2

[видимость] (https://developer.mozilla.org/en/docs/Web/CSS/visibility) и [display] (https://developer.mozilla.org/en-US/docs/Web/CSS/ дисплей) работают до IE4, поэтому у вас не должно быть никаких проблем. Можете ли вы точно описать, в чем проблема? –

ответ

1

Возможно, это не тот ответ, который вы ищете, но скорее предложение. Вы можете использовать условные операторы HTML, как этот

<!DOCTYPE html> 
<!--[if lt IE 7 ]> <html class="ie ie6"> <![endif]--> 
<!--[if IE 7 ]> <html class="ie ie7"> <![endif]--> 
<!--[if IE 8 ]> <html class="ie ie8"> <![endif]--> 
<!--[if IE 9 ]> <html class="ie ie9"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> 

Тогда вы могли бы сделать все CSS, как это:

.ie8 .hp_header #bgvid, 
.ie8 .hp_header .cd-background-wrapper { 
    display:none; 
} 

.ie8 .hp_header .respy { 
    display:block; 
    width:100%; 
    visibility:visible; 
}