질문 1: CSS hack이란? 공급업체별 탐색기 또는 브라우저의 버전에 따라 CSS에 대한 지원 해석이 다르기 때문에 서로 다른 브라우저의 환경에서 일치하지 않는 페이지 표시 효과가 나타난다.통일된 페이지 효과를 얻기 위해서는 서로 다른 브라우저나 버전에 대해 특정한 CSS 스타일을 써야 한다.css Hack은 크게 세 가지 표현 형식이 있는데 그것이 바로 css 속성 접두사, 선택기 접두사, 그리고 IE 조건 주석법이다. (HTML 헤더 인용if IE)
속성 접두사법(클래스 내부 Hcak), 예를 들어 IE6는 밑줄''와 별표''를 식별할 수 있지만 IE7은 별표''를 식별할 수 있지만 밑줄''를 식별할 수 없다. IE6-10은 모두'\9'을 식별할 수 있지만 Firefox는 앞에서 말한 세 가지를 모두 식별하지 못한다
선택기 접두사법은 CSS 선택기 전에 특정 브라우저만 식별할 수 있는hack을 추가하는 것을 의미한다.*html: * 접두사는 IE6에만 적용*+html: *+ 접두사는 IE7에만 적용@media \0screen{body{background: red;}}: IE8에만 적용
IE 조건 주석법(즉 HTML 조건 주석 Hack): 모든 IE(참고: IE10+는 조건 주석을 지원하지 않음): IE 브라우저에 표시되는 내용.IE6 및 다음 버전의 경우: IE6에만 표시됩니다.`이러한 Hack은 CSS뿐만 아니라 판단문에 적힌 모든 코드에도 적용됩니다.
문제2: 브라우저 호환성에 대한 생각
하실래요
제품의 각도(제품의 시청자, 시청자의 브라우저 비율, 효과가 제한적이거나 기본 기능이 우선적임)
원가의 측면
브라우저에 지원되는 효과 수준
어떻게
호환 수요에 따라 기술 프레임워크/라이브러리(jquery)
선택
호환 수요에 따라 호환 도구를 선택(html5shiv.js,respond.js,css reset,normalize.css,Modernizr)
서로 다른 브라우저의 버그에 따라 조건 설명, csshack, js 능력 검사 수정을 합니다.
질문 3: 5가지 이상의 브라우저 호환 처리 세부 사항 열거
margin은 IE6에서 배로 늘었고 원소에 부동을 설정한 동시에 margin-left 또는margin-right도 설정하면 margin 값은 배로 높아졌다.어떻게 해결:div에 display:inline
더하기
가장 작은 줄 높이는 i67에서 10px 높이보다 작은 라벨을 설정하면 브라우저의 높이가 자신이 설정한 높이를 초과합니다.해결 방법: