You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 8-web-components/3-shadow-dom/article.md
+3-11Lines changed: 3 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@
35
35
<inputtype="range" />
36
36
```
37
37
38
-
فراموش نکنید که `pseudo` یک ویژگی غیر استاندارد است. مرورگرها در ابتدا به پیادهسازی آزمایشی کنترلهای داخلی با استفاده از المانهای DOM کردند بعد از گذشت زمان DOM سایه استاندارد سازی شد تا توسعه دهندگان بتوانند المانهای کنترلی خود را بسازند.
38
+
فراموش نکنید که `pseudo` یک ویژگی غیر استاندارد است. مرورگرها در ابتدا به پیادهسازی آزمایشی کنترلهای داخلی با استفاده از المانهای DOM کردند بعد از گذشت زمان DOM سایه استاندارد سازی شد تا توسعه دهندگان بتوانند المانهای کنترلی خود را بسازند.
39
39
40
40
در ادامه از DOM سایه استاندارد استفاده خواهیم کرد که در [DOM spec](https://dom.spec.whatwg.org/#shadow-trees) توضیحات کاملی از آن موجود است.
41
41
@@ -79,10 +79,7 @@
79
79
ما در این جا ۲ محدودیت داریم:
80
80
81
81
1. هر المان در صفحه فقط میتواند یک سایه داشته باشد.
82
-
2. المان `elem` باید یک المان سفارشی سازی شده(custom) باشد یا یکی از المان های زیر
.نمیتوانند دارای سایه باشند `<img>` دیگر المانها مثل
82
+
2. المان `elem` باید یک المان سفارشی سازی شده(custom) یا یکی از المان های "article", "aside", "blockquote", "body", "div", "footer", "h1..h6", "header", "main" "nav", "p", "section", "span" باشد. دیگر المان ها مثل `<imb>` نمیتوانند سایه داشته باشند.
86
83
87
84
گزینه `mode` سطح جداسازی (encapsulation) را مشخص میکند. و باید یکی از دو مقدار زیر را داشته باشد:
دسترسی DOM سایه به طول کامل از سند اصلی گرفته شده است.
109
106
110
107
1. المانهای DOM سایه توسط `querySelector` های DOM روشن قابل شناسایی نیستنتد. به طور دقیقتر المانهای داخلی DOM سایه ممکن است id هایی یکسانی با المانهای DOM روشن داشته باشند اما این idها باید در درخت سایه یکتا باشند.
111
-
112
108
2. سند DOM سایه stylesheet مجزای مخصوص به خود را دارد. قوانین style خارجی (light DOM) در آن عمل نمیکنند.
یک دام سایه برای `elem` میسازد. اگر "mode="open باشد این المان با ویژگی `elem.shadowRoot` قابل دسترسی است.
164
-
156
+
1.`shadowRoot = elem.attachShadow({mode: open|closed})` --یک دام سایه برای `elem` میسازد. اگر "mode="open باشد این المان با ویژگی `elem.shadowRoot` قابل دسترسی است.
165
157
2. با استفاده از ویژگی `innerHtml` یا ویژگی های دیگر DOM موجود در `shadowRoot` میتوان اجزای جدید به آن اضافه کرد.
0 commit comments