JavaScript를 사용하여 CSS 속성 추출
HTML 문서에 첨부된 스타일시트를 탐색하면 페이지 요소 표시에 대한 귀중한 통찰력을 얻을 수 있습니다. 특히, 특정 CSS 속성을 읽는 기능은 동적 스타일 조작에 도움이 될 수 있습니다.
한 가지 접근 방식은 document.styleSheets 개체를 수동으로 검사하고 스타일 규칙을 구문 분석하는 것입니다. 그러나 이 방법은 노동 집약적이며 특히 특정 선택기를 대상으로 할 때 다루기 어려울 수 있습니다.
보다 직접적인 기술은 원하는 선택기와 일치하는 임시 요소를 만드는 것입니다. getCompulatedStyle()(최신 브라우저의 경우) 또는 currentStyle(Internet Explorer의 경우) 메서드를 사용하면 생성된 요소에 대한 CSS 속성의 계산된 값을 검색할 수 있습니다.
예를 들어 다음 코드를 사용하여 "layout" 클래스가 있는
function getStyleProp(elem, prop) {
if (window.getComputedStyle) {
return window.getComputedStyle(elem, null).getPropertyValue(prop);
} else if (elem.currentStyle) {
return elem.currentStyle[prop]; // IE
}
}
window.onload = function () {
var d = document.createElement("div"); // Create div
d.className = "layout"; // Set class = "layout"
alert(getStyleProp(d, "color")); // Get property value
};
또는 인라인 스타일을 고려하지 않고 스타일시트에서 상속된 CSS 속성을 결정하려면 다음 함수를 사용할 수 있습니다.
function getNonInlineStyle(elem, prop) {
var style = elem.cssText; // Cache the inline style
elem.cssText = ""; // Remove all inline styles
var inheritedPropValue = getStyleProp(elem, prop); // Get inherited value
elem.cssText = style; // Add the inline style back
return inheritedPropValue;
}
이러한 기술을 활용하여 개발자는 요소의 CSS 속성을 동적으로 조정하고 표시를 조작하며 페이지 스타일을 더 깊이 이해할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3