2012-05-10 6 views
1

나는 (CSS는 HTML 내부에) 여기에 모서리가 둥근 반투명 배경을 테스트하고 있습니다 : 그들은 (: http://o7.no/KSvX2b 스크린 샷 참조) IE10에서 괜찮CSS : IE9에서 어두운 반투명 배경이 나타납니다. 왜?

http://www.lucagiorcelli.it/test/milanificio_boxes/

. 하지만 그들은 IE9에서 더 어둡습니다. 모서리에 유령이 있습니다 (스크린 샷 : http://o7.no/KSw9P2 참조).

내 CSS에 어떤 문제가 있습니까?

.yellowAlpha35 { 
/* Fallback for web browsers that doesn't support RGBa */ 
background: rgb(245, 221, 183); 
filter:alpha(opacity=35); 
/* RGBa with 0.6 opacity */ 
background: rgba(241, 144, 28, 0.35); 
/* For IE 5.5 - 7*/ 
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#23000000, endColorstr=#23000000); 
/* For IE 8*/ 
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#23000000, endColorstr=#23000000)"; 
} 

답변

1

필자는 -ms-filter가 IE9에서 여전히 작동한다는 것을 알고 있지만, 더 이상 사용되지 않는 것으로 표시되어 있습니다. 그래서 IE9에서는 rgba() + 그라데이션을 사용하여 IE8에 대해 원하는 배경을 얻습니다.

이 문제를 해결하려면 IE8, IE9 등을위한 별도의 CSS 파일을 만들거나 CSS 해킹을 사용할 수 있습니다. 예를 들어 : 루트는 IE9에 도입 된, 그래서 당신은 여러 CSS 파일을 준비하고 당신이 더 많은 IE 버전 특정 규칙이없는 경우, 조건부 의견을 추가하는 것보다 쉽다

:root .yellowAlpha35 { 
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; 
} 

를 사용할 수 있습니다.

+0

! 감사. –

-1

브라우저에 대해 산성 테스트를 실행했다고 가정합니다. 되지 않는 것으로 Rafaei로

http://www.acidtests.org/

0

는 MS-필터는 여전히 IE9에서 작동 말, 그것은 바로 표시합니다. 그런 일이 일어나지 않도록하려면 브라우저를 기반으로 여러 개의 CSS 채우기를 사용하십시오. 이 방법은 너무 IE 8 에 그냥 IE9 +의 -ms-필터 부분을 떠나 여전히 가질 수 있습니다

<!--[if IE 8]> 
<link rel="stylesheet" type="text/css" href="ie8.css" /> 
<![endif]--> 

<!--[if !(IE 8)]> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
<![endif]--> 

대한 추가 정보를 원하시면 의미가 있습니다 link

관련 문제