Skip to content

Commit 202893c

Browse files
committed
fix(shadow-dom): line by line translation
1 parent a9bd245 commit 202893c

1 file changed

Lines changed: 3 additions & 11 deletions

File tree

8-web-components/3-shadow-dom/article.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<input type="range" />
3636
```
3737

38-
فراموش نکنید که `pseudo` یک ویژگی غیر استاندارد است. مرورگر‌ها در ابتدا به پیاده‌سازی آزمایشی کنترل‌های داخلی با استفاده از المان‌های DOM کردند بعد از گذشت زمان DOM سایه استاندارد سازی شد تا توسعه دهندگان بتوانند المان‌های کنترلی خود را بسازند.
38+
فراموش نکنید که `pseudo` یک ویژگی غیر استاندارد است. مرورگر‌ها در ابتدا به پیاده‌سازی آزمایشی کنترل‌های داخلی با استفاده از المان‌های DOM کردند بعد از گذشت زمان DOM سایه استاندارد سازی شد تا توسعه دهندگان بتوانند المان‌های کنترلی خود را بسازند.
3939

4040
در ادامه از DOM سایه استاندارد استفاده خواهیم کرد که در [DOM spec](https://dom.spec.whatwg.org/#shadow-trees) توضیحات کاملی از آن موجود است.
4141

@@ -79,10 +79,7 @@
7979
ما در این جا ۲ محدودیت داریم:
8080

8181
1. هر المان در صفحه فقط می‌تواند یک سایه داشته باشد.
82-
2. المان `elem` باید یک المان سفارشی سازی شده(custom) باشد یا یکی از المان های زیر
83-
84-
"article", "aside", "blockquote", "body", "div", "footer", "h1..h6", "header", "main" "nav", "p", "section", "span"
85-
.نمی‌توانند دارای سایه باشند `<img>` دیگر المان‌ها مثل
82+
2. المان `elem` باید یک المان سفارشی سازی شده(custom) یا یکی از المان های "article", "aside", "blockquote", "body", "div", "footer", "h1..h6", "header", "main" "nav", "p", "section", "span" باشد. دیگر المان ها مثل `<imb>` نمی‌توانند سایه داشته باشند.
8683

8784
گزینه `mode` سطح جداسازی (encapsulation) را مشخص می‌کند. و باید یکی از دو مقدار زیر را داشته باشد:
8885

@@ -108,7 +105,6 @@ alert(elem.shadowRoot.host === elem); // true
108105
دسترسی DOM سایه به طول کامل از سند اصلی گرفته شده است.
109106

110107
1. المان‌های DOM سایه توسط `querySelector` های DOM روشن قابل شناسایی نیستنتد. به طور دقیق‌تر المان‌های داخلی DOM سایه ممکن است id هایی یکسانی با المان‌های DOM روشن داشته باشند اما این idها باید در درخت سایه یکتا باشند.
111-
112108
2. سند DOM سایه stylesheet مجزای مخصوص به خود را دارد. قوانین style خارجی (light DOM) در آن عمل نمی‌کنند.
113109

114110
به مثال زیر توجه کنید:
@@ -138,7 +134,6 @@ alert(elem.shadowRoot.host === elem); // true
138134
/*
139135
* (۳) ‌های داخل درخت تاریک قابل دسترسی است qury فقط از
140136
*/
141-
142137
alert(document.querySelectorAll("p").length); // 0
143138
alert(elem.shadowRoot.querySelectorAll("p").length); // 1
144139
</script>
@@ -158,10 +153,7 @@ alert(elem.shadowRoot.host === elem); // true
158153

159154
سایه DOM روشی است برای ایجاد یک المان محلی برای DOM.
160155

161-
1. `shadowRoot = elem.attachShadow({mode: open|closed})` --
162-
163-
یک دام سایه برای `elem` می‌سازد. اگر "mode="open باشد این المان با ویژگی `elem.shadowRoot` قابل دسترسی است.
164-
156+
1. `shadowRoot = elem.attachShadow({mode: open|closed})` --یک دام سایه برای `elem` می‌سازد. اگر "mode="open باشد این المان با ویژگی `elem.shadowRoot` قابل دسترسی است.
165157
2. با استفاده از ویژگی `innerHtml` یا ویژگی های دیگر DOM موجود در `shadowRoot` می‌توان اجزای جدید به آن اضافه کرد.
166158

167159
المان‌های DOM سایه:

0 commit comments

Comments
 (0)