2013-06-07 4 views
2

CSS에서 .htc 파일 사용에 대한 간단한 질문.IE CSS * hack 및 HTC 파일

스타일을 사용하는 IE를 제외하고 *를 사용하는 경우 (htc, 이미지 등) 다른 브라우저에서도이 파일을 사용하고 있습니까?

상자 크기 조정을 위해 SASS 믹스 인이 있지만 htc 파일을로드하고 싶지는 않습니다.

답변

3

다른 브라우저가 유효한 CSS 속성으로 behavior를 식별하지 않는

// Box sizing 
@mixin box-sizing($boxmodel) { 
    -webkit-box-sizing: $boxmodel; 
     -moz-box-sizing: $boxmodel; 
     -ms-box-sizing: $boxmodel; 
      box-sizing: $boxmodel; 

    @if $boxmodel == border-box { 
     *behavior: url(/js/boxsizing.htc); 
    } 
} 

덕분하므로하며 .htc 파일은 IE에 비해 아무것도에 의해로드되지 않습니다.

0

독점적 인 behavior 속성 gets parsed and interpreted by IE8; 당신이 polyfill usage section이에 대해 경고하고 있습니다 : 당신이 스타와 함께 behavior 속성을 앞에 경우 [원문] 위에서 본 것처럼,

그것은 만하지 IE8 +로 IE6 & IE7, 볼 것이다 (그것은이다 해킹)은 최신 브라우저에서의 성능 향상을 위해 입니다.

당신이, 당신은 IE7에 대한 별도의 스타일 시트를 포함 IE conditional comments를 사용해야합니다 CSS 해킹에 큰 (또는 깔끔한 설정과 성능에 큰)하지 않은 경우 :

<!--[if lte IE 7]> 
    <link rel="stylesheet" href="ie7.css"> 
<![endif]--> 
<!--[if (gt IE 7)|!(IE)]><!--> 
    <link rel="stylesheet" href="majestic.css"> 
<!--<![endif]--> 

것은 또한 사용할 수있을 것를

@mixin border-box($ie7) { 
    @if $ie7 { 
    //forget vendor prefixes, this is for IE7 only! 
    behavior: url(/js/boxsizing.htc); 
    } else { 
    //remember the vendor prefixes this time! 
    box-sizing: border-box; 
    } 
} 

ie7.scss 같이 진실 $ie7을 정의하고 당신은 갈 수 있어요 : 속성에 대한 사용자 정의 믹스 인 및 스타일 시트의 두 가지 버전을 컴파일합니다.