가져온 CSS를 사용하여 배경 이미지를 렌더링하는 데 IE8이 나타나지 않는 이상한 문제가 있습니다.IE8은 CSS 가져 오기시 배경 이미지를 렌더링하지 않습니다.
IE8의 문제와 많은 CSS3 요소를 지원하지 못하기 때문에 조건부 논리를 사용하여 내 사이트 콘텐츠에 대한 특정 스타일 시트를로드해야합니다. 내가 MVC4를 사용하고하고 헤더에 다음과 같은 내 _Layout 페이지가 있습니다 내 deprecated.css 파일에서
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<!--[if lt IE 9]>
<link href="@Url.Content("~/Content/DeprecatedSite.css")" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if gt IE 8]>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<style type="text/css">
.gradient {
filter:none;
}
</style>
<![endif]-->
나는 다음과 같은 한 : 내 site.css에서
#main {
background:url('/Images/iecollage.png');
background-repeat:no-repeat;
width:100px;
}
,이 비교가 동일한 ID 태그 코드 :
#main {
background:url('/Images/collage.png');
background-repeat:no-repeat;
background-size:920px;
width:100px;
}
나는 브라우저가 마크 업을 해석하는 방식을 수정 2 개 다른 크기의 이미지를 사용하여 속성 정의했다. IE8과 Chrome을 사용하여 결과를 비교하고 있습니다.
사이트를 실행하면 홈 페이지가 해당 이미지를 반영하고 예상대로 모든 것을 렌더링합니다.
홈 디렉토리 외부에있는 다른 페이지로 이동하면 문제가 발생합니다 (문제가 실제로 발생하는 경우).
#spotlight {
background:url('/Images/orange_spotlights3.jpg');
background-repeat:no-repeat;
-khtml-opacity:.60;
-moz-opacity:.60;
-ms-filter:"alpha(opacity=80)";
filter:alpha(opacity=80);
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.6);
opacity:.60;
width:100px;
}
을 Deprecated.css에서 스타일은 : 나는 ID가 같은 스타일이 내 Site.css 파일에서
<div id="spotlight" style="position:relative;left:-50px; top:2px; height:820px;margin: 0;width:650px;">
:
이 페이지에는 다음 인라인 코드가 :
#spotlight {
background:url('/Images/orange_spotlights3.jpg') no-repeat;
}
크롬에서는 스타일이 가져온 스타일 시트에서로드됩니다. 하지만 IE8에서는 이미지를로드해야하는 빈 영역이 생깁니다.
내가 언급 한 기발한 동작은 Site.css 파일에서 다음 행을 제거하면 Chrome과 IE8이 모두 이미지를 렌더링하지만 Chrome의 투명도 효과가 느려지므로 분리 의도가 아닙니다. ID는 다른 스타일 시트에 있습니다.
-ms-filter:"alpha(opacity=80)";
filter:alpha(opacity=80);
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.6);
opacity:.60;
마치 2 개의 스타일 시트가 브라우저 나 다른 것을 혼동하는 것 같습니다.
모든 설명은 크게 감사하겠습니다.
필자는 IE8에 대한 지원을 전혀 폐지 할 생각을하고 있습니다. 왜냐하면 IE8에 대한 지원이 너무 많아서 요소를 렌더링하기 위해 2 개의 다른 조정을 만들려고하지 않기 때문입니다.
감사합니다. Devin, 불행히도 저는 이미 저의 생각에 대해 이미 고려하고 시도해 왔지만 차이는 없었습니다. 한 가지 강조해야 할 것은 Chrome 브라우저의 스타일 시트에서 필터 및 불투명도 특성을 주석 처리하면 문제가 완화되고 두 브라우저 모두 이미지를 렌더링한다는 것입니다. 그래서 나는 그 속성들이 실제 경로와 아무 관련이 없기 때문에 경로 관련 문제에 대한 의혹을 제거 할 수있을 것이라고 생각합니다. – Mark
아, 맞아. 나는 당신이이 주제에 능숙하게 들릴 때 이미 이것을 시도했을지도 모른다라고 생각했다. 이상한. 드로잉 보드로 돌아 가기! –