웹 페이지에 여러 개의 인라인 블록 요소가 있습니다. 적용에 지겨워.여러 개의 인라인 블록 요소에 대한 IE7 호환성을 처리하는 깨끗한 방법 찾기
*display: inline;
zoom: 1;
해당 블록을 사용하는 모든 CSS 선택기에 대한 해킹. 페이지의 모든 항목에 대해이를 수정할 수있는 편리한 방법이 있습니까?
웹 페이지에 여러 개의 인라인 블록 요소가 있습니다. 적용에 지겨워.여러 개의 인라인 블록 요소에 대한 IE7 호환성을 처리하는 깨끗한 방법 찾기
*display: inline;
zoom: 1;
해당 블록을 사용하는 모든 CSS 선택기에 대한 해킹. 페이지의 모든 항목에 대해이를 수정할 수있는 편리한 방법이 있습니까?
예를 들어 한 번에 모두에 적용 할 수있는 하나의 큰 선택기가있을 수 있습니다.
/* Inline-block fix for older versions of IE */
.foo,
.bar,
.baz,
.gallery > li {
*display: inline;
zoom:1;
}
다른 CSS 부분의 수정 사항을 분리하고 나머지 부분을 유지하는 좋은 방법 인 것 같습니다. 깨끗한. –
조건부 스타일 해킹을 시도해 볼 수 있습니다.
IE6/7 해킹이 포함 된 별도의 CSS 파일을 !important
으로 만듭니다. 그런 다음 일반 CSS를 연결 한 후이 파일을 페이지에 포함하십시오.
<!-- IE7-specific fixes -->
<!--[if lte IE 8]>
<style type="text/css"> @import url("./IE7Fix.css"); </style>
<![endif]-->
당신이 당신의 주요 CSS를 접촉 할 필요가 없습니다 당신이 ID-선택 또는 클래스 선택에 따라 한 번만 스타일을 지정 이쪽으로. 더 이상 IE7을 지원할 필요가 없다고 확신하면이 포함을 제거 할 수 있습니다.
슬프게도, 당신의 질문에 대한 나의 대답은 "아니오, 더 나은 해결책이 없습니다"입니다. IE7을 지원해야하는 경우, 다음과 같은 절충안이 필요합니다.
스타일 시트를 리팩터링하여 덜 명확하게 만들 수있는 방법이 있습니다. 별도의 파일에 숨기거나 자신의 클래스 또는 이와 비슷한 스타일로 넣을 수 있습니다.하지만 확률이 높으면 타협이 끝날 것입니다. 그 위에; 상황을 더 깔끔하게 보일 수도 있지만 일을 쉽게하기보다는 유지 관리 노력을 증가시킬 것입니다.
파일을 게시 할 때 일종의 선처리를 사용하여 스타일 시트에 추가하는 것이 유일한 방법입니다. IE7을 지원해야하는 경우에는 필요성을 벗어날 수 없습니다. 그러나 실제로 제거되지는 않으며 배포 프로세스에 추가 단계가 추가되므로 실제로 이상적은 아닙니다.
다른 옵션은 다른 모든 사람들이 한 일을하고 IE7에 대한 지원을 중단하는 것입니다. 그것은 아마도 가장 현명한 선택 일 것입니다. 나는 수년 동안 IE7을 지원하지 않았으며, 누구도 가지고 있지 않습니다. 이런 것들이 그 이유입니다. 아, 실제로 아무도 IE7을 더 이상 사용하지 않는다는 사실.
텍스트 편집기에서 검색하고 바꾸시겠습니까? :) – duri
믹스와 함께 LESS를 사용하십시오. – SLaks
샘플 코드, 당신은'* {display : inline; zoom : 1;}을 사용 했습니까? ' –