IE8에 나타나는 문제를 해결하려고합니다. 내가 가진 "#source"요소 (사용하여 jQuery를) 불투명도를 설정할 때IE8의 불투명도 문제
<div id="overlay">
</div>
<div id="imgcontainer">
<div>
<div id="source">
</div>
</div>
</div>
이 "0"IE에서 나는 #overlay의 배경을 볼 수 없습니다 #imgcontainer> DIV,하지만 왜 : HTML은 매우 간단합니다? 자바 스크립트 코드가있다 :
$(function(){
$("#source").css({
opacity: "0",
});
$("#overlay").css({
width: $(window).width(),
height: $(window).height(),
display: "block",
opacity: "0.6"
});
$("#imgcontainer").css({
zIndex: 2,
position: "fixed",
opacity: "1",
left: "0",
right: "0",
top: "100px",
display: "block"
});
});
당신은 jsFiddle에서 라이브 예를 시도 할 수는.
UPD :
몇 가지 실험을 한 후에 해결책을 찾았습니다. 그것은 정말로 html \ css 문제입니다. 그래서 코드를 리팩토링하고 jQuery 태그를 제거했습니다.
<body>
<div id="d1">
<div id="d2">
<div id="d3">
</div>
</div>
</div>
</body>
및 CSS 스타일 : 우리가 암흑 같은 HTML이 상상하는 모든, 우리는 #d3
가 투명하게하는 것이 좋아 기대되는 첫번째보기에
body {
background-color: #c8c8c8;
}
#d1 {
background-color: #6c0922;
width: 500px;
border: 1px solid black;
filter: alpha(opacity = 100);
}
#d2 {
background-color: #146122;
width: 350px;
margin: 20px auto;
border: 1px solid black;
}
#d3 {
background-color: #0080c0;
height: 100px;
margin: 10px 65px;
filter: alpha(opacity = 0);
zoom: 1;
}
을 우리가 볼 수 #d2
배경 (짙은 녹색) . IE7에서는 그렇게 간단하지 않습니다. \ 8. IE에서 우리는 몸 (회색) 배경이 #d2
과 #d1
을 통해 볼 수 있습니다. #d1
의 모든 마법은 당신이 짐작했습니다. filter: alpha(opacity = 100);
을 제거하면 올바르게 작동합니다.
당신은 물어볼 수 있습니다.하지만 불투명 한 요소에 불투명도 = 1을 설정하는 이유는 무엇입니까? 나는 모른다 :. 어떤 이유로이 동작을 사용해야 할 수도 있습니다. 매우 흥미롭고 예기치 않은 행동.
jsFiddle에서이 예제로 재생할 수 있습니다.
어떤 jQuery 버전을 사용하고 있습니까? –
jQuery라는 CSS/HTML 문제가 더 많이 발생합니다. 모든 jQuery를 제거하고 순수한 CSS로 만들면 문제가 지속될 것입니다. 그런 일이 생기지 않았다면, 이것의 원인과 해결책을 발견하는 것이 흥미로울 것입니다. – Dan
@Kees : 1.4.4 버전을 사용합니다 – Kai