JavaScript를 사용하여 CSS 스타일시트를 문자열로 삽입
웹페이지의 모양을 향상시키는 것은 사용자 참여와 맞춤화에 필수적입니다. 이러한 맥락에서 JavaScript를 사용하여 CSS 스타일을 동적으로 삽입해야 할 때, 특히 내부 페이지의 스타일을 수정하는 기능이 필요한 브라우저 확장 프로그램을 처리할 때 문제가 발생합니다.
이러한 시나리오의 경우 간단하고 효과적인 접근 방식은 HTML 요소의 textContent 속성을 활용하는 것입니다. 새로운 스타일 요소를 생성하고, 원하는 CSS 규칙으로 textContent를 설정하고, 이를 문서 헤드에 추가함으로써 개발자는 페이지에 완전한 스타일시트를 삽입할 수 있습니다.
예는 다음과 같습니다.
<code class="javascript">function addStyle(styleString) { const style = document.createElement('style'); style.textContent = styleString; document.head.append(style); } addStyle(` body { color: red; } `); addStyle(` body { background: silver; } `);</code>
이 기술은 제공된 CSS 규칙을 순차적으로 삽입하여 개발자가 필요에 따라 여러 스타일을 정의할 수 있도록 합니다.
또는 클로저를 사용하는 약간 다른 접근 방식으로 addStyle 기능:
<code class="javascript">const addStyle = (() => { const style = document.createElement('style'); document.head.append(style); return (styleString) => style.textContent = styleString; })(); addStyle(` body { color: red; } `); addStyle(` body { background: silver; } `);</code>