2017-01-23 25 views
-1

我需要讓一個可怕的IE瀏覽器工作到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的現實。還要注意,沒有可見的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; 
}