2010-05-19 5 views
1

모든 것이 여기 나와 같은 생각이지만 IE는 가장 호환되지 않는 브라우저입니다.IE 호환성 문제를 해결하는 가장 좋은 방법은 무엇입니까?

나는 각 버전에 대해 서로 다른 특정 CSS 파일을 사용하여 ie 비 호환성을 처리하여 올바르게 표시합니까?

더 좋은 방법이 있습니까?

+0

: 그들은 영리 성능을 위해 쿠키 도메인에서 호스팅 한 하나 개의 CSS 파일을 가지고 귀하의 질문에 대한 질문이었던 다른 버전의 IE를 포함하여 IE/브라우저 불일치 문제를 처리하기위한 다른 옵션. – JohnB

답변

4

<! [if IE] >과 다른 CSS 파일을 사용할 때의 이점은 해킹이 CSS를 무효화하는 반면 100 % 호환 CSS를 작성할 수 있다는 것입니다.

한편, CSS 해킹을 사용하여 CSS 파일을 하나만 사용하면 다운로드 효율성이 향상됩니다.

그래도 필자는 필터를 선호합니다. 아래의 패러다임을 사용하면 브라우저 고유의 CSS를 체계적으로 유지하는 데 도움이되며 "유사성"과 함께 "계단식"을 활용하면 브라우저 불일치를 처리하는 가장 쉬운 방법입니다. 잊지 말고 IE 특유의 자바 스크립트를 포함 시켜서 IE 경험을 정리할 수 있습니다.


<link id="stylesheet1" rel="stylesheet" href="css/style.css" type="text/css" media="all" /> 
<!--[if IE]> 
<link id="stylesheet2" rel="stylesheet" href="css/ie.css" type="text/css" media="all" /> 
<![endif]--> 
<!--[if lte IE 6]> 
<link id="stylesheet3" rel="stylesheet" href="css/ie6.css" type="text/css" media="all" /> 
<![endif]-->

이 필터 패러다임에 대한 또 다른 좋은 점은 당신이 당신의 코드가 언젠가는 무용지물이 될 것이다 노화 브라우저 용으로 작성 분리한다는 것입니다. 예를 들어, 더 이상 IE 5에 관심이있는 사람이 있습니까? 이러한 파일은 필요에 따라 다운로드되기 때문에 시간이 지남에 따라 필요한 파일이 줄어들지 않으므로 속도가 느려지지 않습니다. 차라리이 표준을 준수하는 코드 대신 내 쓸데없는 코드를 사용하는 것이 좋습니다.

그러나 Safari 또는 Firefox와 같은 IE 이외의 브라우저는 어떻게됩니까? 글쎄, 동일한 크롬/사파리/파이어 폭스에서 작동하는 CSS 코드를 작성하고 그 중 하나에 대해 특정 해킹이 거의 필요하지는 않지만 일부 브라우저에서는 특정 CSS 확장 기능을 사용했습니다.

http://rafael.adm.br/css_browser_selector/

마지막으로, 나는 잠시 S.O. 바라 보았다 :

또 다른 옵션은 자바 스크립트 브라우저 선택기입니다 그들은 IE 필터를 사용하지 않는 것 같습니다. 즉, A의 - http://rafael.adm.br/css_browser_selector/ : 내 대답은 아래, 자바 스크립트 브라우저 선택기에서

http://sstatic.net/

+0

고마워, http://rafael.adm.br/css_browser_selector/ 진짜 도움이되었습니다. – Starx

2

각각 다른 IF CSS가있는 별도의 IE 파일을 분리하는 가장 쉬운 방법은 서로 다른 CSS 파일을 사용하는 것입니다.

+0

정확히 내가하고있는 것, 더 나은 방법을 찾고 있습니까? – Starx

+0

나는 그 길을 선호한다, 나는가는 더 좋은 길이 있다는 것을 확신하지 못한다. CSS 파일을 병합하고 하나의 파일을 다운로드하기 위해 여러 가지 해킹을 추가 할 수는 있지만 혼란이 많고 어려울 수 있습니다. 무엇보다 우선합니다. – Prescott

관련 문제