문제

IE8이 릴리스되면 다음 코드가 조건부 스타일을 추가하기 위해 작동합니까?

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

이것이 베타 버전에서 작동하는지에 대한 상충되는 보고서를 읽었습니다. 누군가가 자신의 경험을 공유 할 수 있기를 바랍니다. 감사.

도움이 되었습니까?

해결책

Quirks 모드와 표준 준수 모드 모두에서 저를 위해 일했습니다. 그러나 그것은 그렇습니다 ~ 아니다 IE8 호환 모드로 전환 할 때 작업하십시오.

다른 팁

주목할만한 점 :

작동합니다. 하지만 페이지/사이트를로드하는 경우 로컬 네트워크 (예 : 인트라넷) 로드됩니다 IE7 방법 기본적으로! (업데이트 - 로컬 호스트*]는 특별한 경우입니다 하다 표준 모드로 렌더링)

이는 기본적으로 MSFT의 원래 진행 표준에 위배됩니다.

예를 들어

http://127.0.0.1/mysite/mypage.php  <-- IE8 by default (updated!)
http://localhost/mysite/mypage.php  <-- IE8 by default (updated!)
http://machinename/mysite/mypage.php  <-- IE7 by default
http://192.168.100.x/mysite/mypage.php  <-- IE7 by default
http://google.com/  <-- IE8 by default

*] -Scott Dickens [MSFT]에 언급 된 의견 여기 IE 블로그에서 그 지역 호스트는 인트라넷 (종종 인터넷 사이트를 개발하는 데 사용됨)의 특별한 시나리오 였으므로 기본적으로 표준 모드로 렌더링됩니다.

IE8의 페이지가 실제로 렌더링되는 모드를 테스트하려면 개발자 도구를 확인 하거나이 북마크 코드를 사용할 수 있습니다 (IE8에서만 작동).

javascript:
var vMode=document.documentMode;
var rMode='IE5 Quirks Mode';
if(vMode==8){
  rMode='IE8 Standards Mode';
} else if(vMode==7){
  rMode='IE7 Strict Mode';
}
alert('Rendering in: '+rMode);

도구/호환성보기 설정

그들 모두를 선택 취소하십시오

도와 주셔서 감사합니다. 솔루션을 발견했습니다. 분명히 문제는 각 스타일 시트가 자체 제목 속성을 사용하도록하는 것이 었습니다. 메인 스타일 시트를 제외한 모든 타이틀을 가져 오면 프로브가 없습니다.

이것은 IE8에 고유 한 이상한 문제입니다. 그리고 나는 그런 식으로 작동해야한다고 들었지만 "스타일 시트 기본 설정"과 관련이 있다고 들었습니다. 솔루션이 도움이 될 수있는 제목을 제거해야하기 때문에 문제를 일으키는 역할을합니다. 스크립팅 등 - 스타일 시트를 호출 해야하는 경우.

어쨌든, 이것이 버그인지 또는 그 방식이되어야하는지 확실하지 않지만 Microsoft가 더 조사하기를 바랍니다.

감사

왜 IE8에 대한 별도의 스타일 시트를 쓰는 이유조차?

이미 IE7 용으로 디버깅 된 경우 IE8을 호환성 모드로 강제로하므로 IE8이 IE7 인 것처럼 코드를 표시 할 수 있습니다.

당신이해야 할 일은 이것을 오프닝 헤드 태그 바로 아래에두기 만하면됩니다. 다른 곳에서는 작동하지 않습니다.

그리고 프로젝트 당 평균 작업 시간에 대한 30 분 정도의 작업이 적으며 IE8에 대한 강렬한 디버깅은 필요하지 않습니다!

msn.com조차도 이것을합니까 - 아이러니합니까?

최근에 블로그 게시물을 썼습니다. http://blog.sankhomallik.com/2009/11/16/stop-Wasting-debugging-on-ie8 when-you-dont-have- 또는 get-fo-behave-like-like- IE7/

IE8은 IE7에 비해 매우 훌륭합니다. IE6, IE7 및 IE8에 대한 스타일 시트가 있습니다. 처음에 나는 약간의 실험 후 조건부 의견이 IE8에 대해 작동하지 않는다고 생각했습니다. 조상이나 부모 수업을 먼저 배치해야했기 때문에 일부 규칙이 IE8에 의해 적용되지 않는다는 것을 알았습니다.

.niceclass {some:properties;more:properties;}

그것은 효과가있었습니다 내가 그것을 바꾸면 :

.parentclass .niceclass {some:properties;more:properties;} 또는

#parentselector .niceclass {some:properties;more:properties;}

BTW 내 IE8 전용 CSS에는 하나의 우선적 인 규칙 만 있습니다. 나머지는 거의 Firefox처럼 렌더링되지만 어쨌든 FF를 떠나지는 않습니다!.

내 부분을 위해 CSS를 사용하여 둥근 경계를 사용하고 싶었습니다. Vista의 IE8은 그러한 지원을 지원하지 않습니다. 그리고 그래픽이 둥근 경계가 멋진 둥근 그림자를 보여주기 위해 그래픽이 있었기 때문에 페이지는 IE8에서 끔찍해 보였습니다.

조건부 의견을 사용해 보았지만 아무 소용이 없을 때 IE8은 IF IE 표현을 평가하지 않으므로 외부 스타일 시트를 포함하지 않습니다.

그런 다음 Quirks / Corpatiblity 모드에 넣는 것을 살펴 보았지만, 내가 사용한 CSS 해킹이 더 이상 IE8에서 작동하지 않기 때문에 여전히 작동하지 않았습니다.

마지막으로 최소한 호환성 모드에서 페이지를 올바르게 렌더링하는 작업 CSS 해킹을 찾았습니다.

* + html #test[id] { color:lime } 

이제 이것이 IE7 이하의 경우에 작동하는지 모르겠습니다. 따라서 지원하려는 각 IE 릴리스마다 최소한 3 개의 다른 해킹이있을 것입니다.

* + html #test,
    html+body #test,
    * html body #test
    { color:lime }

인터넷 익스플로잇의 다음 회귀가 우리를 위해 무엇을 볼지 궁금합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top