문제

방금 꽤 대기업에서 일하기 시작했고 내 그룹은 모든 대중이 직면 한 웹 사이트를 관리합니다. 나는 오늘 처음으로 스타일 시트를 열었고 IE 버그를 수정하기 위해 음성 가족 해킹을 사용하여 디자이너의 20 개가 넘는 인스턴스를 보았습니다. (그래픽 디자이너가 어떤 종류의 마크 업을 전혀 쓰도록 허용하는지 모르겠습니다)

음성 가족 해킹의 일반적인 여론은 무엇입니까? 맞춤형 스타일 시트를 포함하기 위해 IE 조건부 주석을 사용하는 것이 좋습니다.

도움이 되었습니까?

해결책

미래의 브라우저에서 의도하지 않은 효과가있는 경향이 있기 때문에 모든 종류의 해킹은 위험합니다 (IE7과 부지가 부러졌습니다). CSS를 필터링하는 안전한 방법은 다음과 같습니다.

  • (IE 만) 조건부 주석을 사용합니다. 이들은 항상 Microsoft 브라우저에서 작동하며 의견 내에있는 다른 모든 브라우저에서 항상 무시됩니다.
  • 기능 대상 - 최신 브라우저에서만 지원되는 CSS 선택기를 사용하여 규칙을 해석하려는 구형 브라우저를 중지합니다. 그러나 브라우저가 구문을 인식한다는 사실이 올바르게 처리한다는 의미는 아닙니다. 여기서 보장하는 것은 오래된 브라우저 가이 규칙을 렌더링하려고 시도하지 않는다는 것입니다.

가능할 때마다 모든 주요 브라우저에서 올바르게 지원되는 CSS의 하위 집합을 사용하십시오. 오래된 Buggier 브라우저가 사용자의 무지한 비율로 떨어짐에 따라 시간이 지남에 따라 향상되고 있습니다.

다른 팁

Tantek Celik Box 모델 해킹으로 더 잘 알려진 "음성 가족"해킹은 해당 브라우저에서 CSS 표준의 잘못된 구현으로 인해 Windows의 IE4/5에서 특정 CSS 규칙을 숨기는 데 사용됩니다. 브라우저 스니핑 및 여러 스타일 시트에 의지하지 않고 모든 브라우저에 가장 올바른 단일 스타일 시트를 전달하려는 시도입니다.

아이러니 하게도이 해킹은 오래되고 새롭고 미래의 브라우저에서 작동하는 표준 호환 스타일 시트를 개발하기 위해 실험 및 테스트의 많은 인간 시간 (달?)의 결과입니다. CSS 표준에 대한 끔찍한 브라우저 준수를 보충하기 위해 만들어진 여러 해결 방법 중 하나입니다.

Jeffrey Zeldman 's를 참조하십시오 웹 표준으로 디자인 심층적으로 표준을 준수하는 것이 가능한 한 가치있는 목표이며 브라우저 스니핑 및 여러 스타일 시트를 사용하는 이유를 살펴보십시오. 개발자에게는 두통이 발생합니다.

http://www.amazon.com/designing-web-standards-jeffrey-zeldman/dp/0321385551/

한 가지 예는 브라우저/운영 체제 조합을 따라야하는 무기 경쟁이 있으며, 휴대 전화 및 브라우징 기능이있는 기타 미래 장치는 말할 것도 없습니다. 탐지 코드는 각각의 새로운 조합마다 변경되어야하며, 많은 브라우저가 Netscape Navigator로 가장 한 방식으로 인해 탐지는 풀 타임 작업이 될 수 있습니다.

또 다른 좋은 참조는 웹 표준 프로젝트로, 주제에 대한 많은 좋은 정보와 자습서가 있습니다.

http://www.webstandards.org/

코딩 스타일을 표준 준수로 옮기면 일반적으로 미래 브라우저의 출시에 대해 걱정할 필요가 없습니다. 그렇습니다. 여전히 테스트해야하지만 각각에 대한 사용자 정의 스타일 시트를 작성한 다음 테스트 할 필요는 없습니다.

이와 같은 해킹에 대한 나의 느낌은 가능하다면 피해야한다는 것입니다. 그러한 shenanigans에 의지하지 않고 브라우저에서 올바른 렌더링을 얻을 수 있다면 올바른 방법으로해야합니다. 그러나 때로는 브라우저에 버기 CSS 구현이 있으며 이와 같은 해킹을 사용해야합니다.

조건부 포함을 사용하지 마십시오. a 대신 CSS 선택기, 그것은 훨씬 더 우아합니다. 개별 브라우저 (및/또는 버전)에서 클래스를 대상으로 할 수 있습니다.

.내 수업 { ... }

.ie6 .MyClass {...}

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