문제

각 사용자 에이전트에 대해 다른 CSS 파일을 갖는 것이 더 낫습니까, 아니면 특정 브라우저 만 볼 수있는 CSS 해킹을 사용하는 것이 더 낫습니까?

도움이 되었습니까?

해결책

어느 것도 아니다.

가장 좋은 점은 브라우저 특정 코드 또는 CSS 해킹없이 모든 브라우저에서 작동하는 코드를 작성하는 것입니다. 물론 성취하기가 쉽지 않기 때문에 많은 사람들이 다른 방법을 사용하는 이유입니다.

핵심은 일부 브라우저 (매우 종종 인터넷 익스플로러)가 문제가있는 것을 피하는 것입니다. 그런 것은 마진이 올바르게 붕괴되지 않기 때문에 마진보다는 패딩을 사용하는 것입니다.

해킹의 국경선에있는 일부 방법은 올바르게 작동하는 브라우저에 영향을 미치지 않지만 특정 브라우저의 문제를 해결하는 코드를 사용하는 것입니다. 그것은 일반적으로 요소가 필요하지 않아야하는 요소의 높이를 지정하거나 지정하는 것과 같은 것일 수 있습니다. display:inline 떠 다니는 요소에.

그 페이지 위치는 모든 것입니다 일부 버그와 제안 된 수정의 예제가 있습니다. (종종 수정은 일종의 해킹이므로 문제를 완전히 피할 수 있는지 고려해야합니다.)

다른 팁

둘 다하는 것이 낫습니다.

동일한 크로스 브라우저에서 작동하는 좋은 CSS 리셋 및 CSS는 훨씬 더 나은 솔루션입니다.

당신의 디자인이 절대적으로 배제한다면, 그 다음에 (그리고 그때에만) 해킹이나 조건부 의견을 시도 할 것입니다.

아직 Mutliple CSS 파일의 필요성을 보지 못했습니다 (조건부 의견을 통해 다루어진 몇 가지 IE6 수정 사항을 넘어서).

가능하지 않으면. 이제 오래된 Netscape, 즉 <= 6 등이 더 이상 사용되지 않기 때문에 모든 브라우저에서 작동하는 기능을 사용하려고합니다 (예 : FF> = 2, IE> = 7, Chrome, Opera).

조건부 의견 Internet Explorer의 문제는 표준 인 것 같습니다. 약간의 JavaScript와 결합되어 있습니다 Dean Edward의 IE7.js CSS 파일 내에서 해킹에 의지하지 않고 대부분의 크로스 브라우저 문제를 완화 할 수 있습니다.

Internet Explorer 6-7에 다른 CSS 파일을 사용하는 것이 좋습니다 ( 조건부 의견) 및 다른 브라우저의 해킹.

일종의 후속 조치는 작동하는 단일 파일을 개발하는 방법입니다.

내가 본 가장 좋은 접근법은 아무것도부터 시작하여 천천히 구축하고 변화를 통해 변화를 확인하는 것입니다.

하나의 브라우저로 완전히 작업 한 다음 "변환 시간"이라고 말하면 고통이 실제로 시작되고 해킹을 시작 해야하는 곳입니다.

내 접근 PHP 클래스를 사용하여 OS, 브라우저 및 브라우저 버전을 감지합니다. 모든 운영 체제에서 거의 모든 브라우저 버전을 타겟팅 할 수 있습니다.

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