๋ถ‰์€๊ฑฐ์œ„ ๋…ธํŠธ / GoOSe Note

Web Component

๋‘ฅ์ง€
Development
๋ถ„๋ฅ˜
html/css
๋“ฑ๋ก์ผ
2021-07-15 08:57:38
์กฐํšŒ์ˆ˜
535
์ข‹์•„์š”
0

HTML ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ธฐ๋Šฅ์„ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆํ•œ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ์„ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐœ์š”์— ๊ด€ํ•œ ์ฐธ๊ณ ๋งํฌ

react๋‚˜ vue์˜ ์ปดํฌ๋„ŒํŠธ์™€ ๋น„์Šทํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
Shadow DOM ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌ์กฐ๋ณ€ํ™”์— ๋Œ€ํ•œ ์œ ์—ฐํ•œ ๋Œ€์ฒ˜๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์„๊ฒƒ์ด๋‹ค.

์•ž์œผ๋กœ ์ด๋Ÿฌํ•œ ํ˜•ํƒœ์˜ ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๊ฐœ๋ฐœ๋˜๊ณ  ๋ฐฐํฌ๋˜๋ฉด ํ“จ์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋‚˜ html ์˜์—ญ์— ์ข€๋” ์นœ์ˆ™ํ•˜๊ฒŒ ๋‹ค๊ฐ€๊ฐ€์ง€ ์•Š์„๊นŒ ์˜ˆ์ƒ๋˜๊ณ , Web Component๋กœ ๋ฐฐํฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐ๋„ ๋“ ๋‹ค.

์Šคํƒ€์ผ์‹œํŠธ ์…€๋ ‰ํ„ฐ๋กœ shadow-dom ์š”์†Œ ์ ‘๊ทผํ•˜๊ธฐ

์‰๋„์šฐ๋” ๋‚ด๋ถ€์š”์†Œ์— ์Šคํƒ€์ผ๋กœ ์ ‘๊ทผํ•˜๋Š”๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
๋‹ค๋งŒ ๋‚ด๋ถ€์—์„œ ์š”์†Œ๋ฅผ ์—ด์–ด์ค˜์•ผ ํ• ๋“ฏ..

<template id="custom-element">
<p part="foo">.foo</foo>
</template>
<custom-element></custom-element>

<style>
custom-element::part(foo) {}
</style>

์ถœ์ฒ˜
https://developer.mozilla.org/en-US/docs/Web/CSS/::part