½¦µµ¿ì µ¼À» »ç¿ëÇϸé ĸ½¶È¸¦ ÇÒ¼ö ÀÖ´Ù. ½¦µµ¿ì µ¼À» »ç¿ëÇÏ¸é º°µµÀÇ DOM Æ®¸®¸¦ °¡Áö±â ¶§¹®¿¡ Æ®¸® ¿ÜºÎÀÇ CSS ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù. ½¦µµ¿ì µ¼ ³»ºÎÀÇ CSS ¶ÇÇÑ ¿ÜºÎ¿¡ ¿µÇâÀ» ³¢Ä¡Áö ¾Ê´Â´Ù. ½¦µµ¿ì µ¼À» Ãß°¡ÇßÀ»¶§ ¿ä¼Ò Æ®¸®´Â ´ÙÀ½°ú °°´Ù. #shadow-root ³ëµå¸¦ °¡Áø´Ù. #shadow-root¸¦ ¿¾î¼ ¿ä¼Ò¸¦ »ç¿ëÇÏ¸é µÈ´Ù. »ç¿ë¹ýÀº °£´ÜÇÏ´Ù. #shadow-root¸¦ ±»ÀÌ ´ÝÀ» ÇÊ¿ä´Â ¾ø´Ù. ÀÌÈÄ·Î º¯°æÀ» ¸øÇÏ°Ô ÇÒ·Á¸é ´Ý´Â°Ô ÁÁ´Ù. ÀÚ¼¼ÇÑ »ç¿ë¹ýÀº ¾Æ·¡ ¿¹Á¦¸¦ º¸¸é ¾Ë¼ö ÀÖÀ» °ÍÀÌ´Ù. #shadow-root ¿±â const root = element.attachShadow({mode: 'open'});
console.log(element.shadowRoot); // okay #shadow-root ´Ý±â const root = element.attachShadow({mode: 'closed'});
console.log(element.shadowRoot); // null ½¦µµ¿ì µ¼À» Àû¿ë ¾ÈÇßÀ»¶§<!DOCTYPE HTML>
<html> <head> <meta charset="UTF-8"> <style> <style> div { background-color: gold; } </style> </head> <body> <div>ÀÏÀº ÇϳªÀÌ´Ù</div> <div>ÀÌ´Â µÑÀÌ´Ù</div> <div>»ïÀº ¼ÂÀÌ´Ù</div> <script> var element = document.createElement('div') document.body.appendChild(element); element.innerHTML = '<style>div { background-color: green; }</style><div>³ÝÀº ±×¸°ÀÌ´Ù!</div>' </script> </body> </html> Å×½ºÆ®: shadow_dom_org.html ½ÇÇà ȸé : ³ªÁß¿¡ ¼³Á¤ÇÑ CSS ¼Ó¼ºÀÌ Àüü¿¡ ¿µÇâÀ» ³¢Ä£´Ù. ½¦µµ¿ì µ¼À» Àû¿ë ÇßÀ»¶§<!DOCTYPE HTML>
<html> <head> <meta charset="UTF-8"> <style> div { background-color: gold; } </style> </head> <body> <div>ÀÏÀº ÇϳªÀÌ´Ù</div> <div>ÀÌ´Â µÑÀÌ´Ù</div> <div>»ïÀº ¼ÂÀÌ´Ù</div> <script> var element = document.createElement('div') document.body.appendChild(element); var shadow = element.attachShadow({mode: 'open'}); shadow.innerHTML = '<style>div { background-color: green; }</style><div>³ÝÀº ±×¸°ÀÌ´Ù!</div>'; </script> </body> </html> Å×½ºÆ® : shadow_dom_test.html ½ÇÇà ȸé : CSS ½ºÅ¸ÀÏÀÌ #shadow-root¸¸ ¿µÇâÀ» ³¢Ä£´Ù. Âü°í) https: //kyu.io/ko/À¥-ÄÄÆ÷³ÍÆ®3 - ½¦µµ¿ì-µ¼shadow-dom/ https://developers.google.com/web/fundamentals/web-components/shadowdom?hl=ko https://sbfl.net/blog/2016/07/17/shadow-dom-v1/ |