document.compatMode의 CSS1compat 사용 안내

1392 단어
document.compatMode
BackCompat: 표준 호환 모드가 종료되었습니다.브라우저 너비:document.body.clientWidth;
CSS1Compat: 표준 호환 모드가 켜져 있습니다.브라우저 너비:document.documentElement.clientWidth.
 
  
var d = document,
  dd = d.documentElement,
  db = d.body,
  dc = d.compatMode == 'CSS1Compat',
  dx = dc ? dd: db;

cWidth = dx.clientWidth;

cHeight = dx.clientHeight;

sWidth = dx.scrollWidth;

sHeight = dx.scrollHeight;

sLeft = dx.scrollLeft;

sTop = dx.scrollTop;

Standars mode에서 다음을 수행합니다.
원소의 진정한 폭 = margin-left+border-left-width+padding-left+width+padding-right+border-right-width+margin-right;
Quirks mode에서 다음을 수행합니다.
width는 원소의 실제 너비, 내용 너비 = width-(margin-left+margin-right+padding-left+padding-right+border-left-width+border-right-width)
js에서 현재 브라우저가 어떤 방식으로 해석되고 있는지 어떻게 판단합니까?
document 객체에는 두 가지 값이 있는 속성 compatMode가 있습니다.
BackCompat 대응 quirks mode
CSS1Compat 대응 strict mode
브라우저 호환성 테이블
http://www.quirksmode.org/compatibility.html
역사적 원인:
초기의 브라우저인 Netscape 4와 Explorer 4가 css를 분석할 때 W3C 표준을 준수하지 않았다. 이때의 해석 방식은 우리가quirks mode(괴이한 모드)라고 불렀지만 W3C의 표준이 점점 중요해지면서 많은 브라우저들이 W3C 표준에 따라 CSS를 해석하기 시작했다. W3C 표준에 따라 CSS를 해석하는 모델을 본떠서 우리는strict mode(엄격한 모드)라고 부른다.
firefly

좋은 웹페이지 즐겨찾기