두 요소를 비교하여 계산 스타일의 모든 차이점을 찾으려고합니다.. 이를 위해, 나는 의 모든 스타일을 반복하는거야, 그리고 수행하여 B에 비교 다음 나는 주장 길이로이 일을 해요getComputedStyle을 통해 반환 된 CSSStyleDeclaration은 항상 주어진 브라우저에서 같은 길이를 유지합니까?
var stylesA = window.getComputedStyle(a),
stylesB = window.getComputedStyle(b),
length = stylesA.length,
i, style;
for(i = 0; i < length; i++) {
style = stylesA[i];
if(stylesA[style] != stylesB[style]) {
// Respond appropriately
}
}
을 A가 일 때 항상 B의 길이가 될 것이지만, 나는 이것을 관찰을 통해 완전히 근거하고 있습니다.
var elms = document.querySelectorAll("*"),
length = elms.length, i;
for(i = 0; i < length; i++) {
console.log(window.getComputedStyle(elms[i]).length);
}
가 임의의 MDN 페이지에 적용된 모든 요소에 대해 다음과 같은 생산 : 길이가 브라우저 브라우저에서 다르지만 값이 항상 겉으로는 동일 (새 속성에 대한 회계, 공급 업체 등 버전을 접두사) :
Chrome 35 253
Firefox 30 211
IE11 317
이제 분명이 내 질문에 반환하게 모든 브라우저의 완전한 목록은, 이 값은 특정 요소에 대해 서로 다른 수없는? 나는 DOM Level 2 문서와 MDN article을보고있는 것이 아무것도 발견하지 못했습니다. getComputedStyle()
입니다.
특히, 특정 요소에만 적용해야하는 및 content
과 같은 스타일은 적용 가능한 경우에만 목록에 포함된다고 가정합니다. 그러나 둘 다 관계없이 존재하는 것으로 보입니다.
내 어설 션을 확인하는 문서가 있습니까?