Chrome/Safari를 사용하는 경우 initial
은 원하는 작업에 적합합니다. 설정이 끝나면 활성 스타일이 initial
으로 표시되고 계산 된 스타일이 브라우저 기본값으로 표시됩니다.
활성 스타일을 기본값으로 설정하려면 임시 요소를 만들고 요소 속성을 임시 값으로 설정하십시오.
데모 : http://jsfiddle.net/ThinkingStiff/Yb9J9/
스크립트 :
Element.prototype.setDefaultStyles = function() {
var element = document.createElement(this.tagName),
styles = window.getComputedStyle(element),
display = styles.getPropertyValue('display');
element.style.display = 'none';
document.body.appendChild(element);
for(style in styles) {
this.style[styles[style]] = styles.getPropertyValue(styles[style]);
};
this.style.display = display;
document.body.removeChild(element);
};
document.getElementById('unstyled').setDefaultStyles();
HTML :
<div id="styled">styled</div>
<div id="unstyled">unstyled</div>
CSS :
#styled, #unstyled {
border: 1px solid red;
color: green;
width: 100px;
height: 50px;
}
출력 :
관련 : http://stackoverflow.com/questions/15901030/reset-remove-css-styles-for- element-only/15903168 –