aboutsummaryrefslogtreecommitdiff
path: root/files/ar/web/css
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:15 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:15 -0500
commit4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch)
treed4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/ar/web/css
parent33058f2b292b3a581333bdfb21b8f671898c5060 (diff)
downloadtranslated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz
translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2
translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip
initial commit
Diffstat (limited to 'files/ar/web/css')
-rw-r--r--files/ar/web/css/align-content/index.html294
-rw-r--r--files/ar/web/css/attribute_selectors/index.html199
-rw-r--r--files/ar/web/css/css_flexible_box_layout/index.html119
-rw-r--r--files/ar/web/css/css_flexible_box_layout/المفاهيم_الأساسية_للصندوق_المرن/index.html233
-rw-r--r--files/ar/web/css/css_grid_layout/index.html253
-rw-r--r--files/ar/web/css/css_grid_layout/relationship_of_grid_layout_arabic/index.html623
-rw-r--r--files/ar/web/css/css_writing_modes/index.html106
-rw-r--r--files/ar/web/css/index.html91
-rw-r--r--files/ar/web/css/order/index.html108
-rw-r--r--files/ar/web/css/pointer-events/index.html148
-rw-r--r--files/ar/web/css/reference/index.html179
-rw-r--r--files/ar/web/css/التحول/index.html136
-rw-r--r--files/ar/web/css/التعليقات/index.html64
-rw-r--r--files/ar/web/css/العناصر_التي_يمكن_تحريكها_باستخدام_css_transitions/index.html19
14 files changed, 2572 insertions, 0 deletions
diff --git a/files/ar/web/css/align-content/index.html b/files/ar/web/css/align-content/index.html
new file mode 100644
index 0000000000..f3c5002b96
--- /dev/null
+++ b/files/ar/web/css/align-content/index.html
@@ -0,0 +1,294 @@
+---
+title: align-content
+slug: Web/CSS/align-content
+translation_of: Web/CSS/align-content
+---
+<p dir="rtl">تحدد خاصية <strong><code>align-content</code></strong> CSS توزيع المساحة بين و حول محتوى العناصر على طول المحور العرضي لـ flexbox أو محور كتلة <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout">الشبكة</a>.</p>
+
+<p>The interactive example below use Grid Layout to demonstrate some of the values of this property.</p>
+
+<div>{{EmbedInteractiveExample("pages/css/align-content.html")}}</div>
+
+
+
+<p>This property has no effect on single line flex containers (i.e. ones with <code>flex-wrap: nowrap</code>).</p>
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="brush:css no-line-numbers notranslate">/* Basic positional alignment */
+/* align-content does not take left and right values */
+align-content: center; /* Pack items around the center */
+align-content: start; /* Pack items from the start */
+align-content: end; /* Pack items from the end */
+align-content: flex-start; /* Pack flex items from the start */
+align-content: flex-end; /* Pack flex items from the end */
+
+/* Normal alignment */
+align-content: normal;
+
+/* Baseline alignment */
+align-content: baseline;
+align-content: first baseline;
+align-content: last baseline;
+
+/* Distributed alignment */
+align-content: space-between; /* Distribute items evenly
+ The first item is flush with the start,
+ the last is flush with the end */
+align-content: space-around; /* Distribute items evenly
+ Items have a half-size space
+ on either end */
+align-content: space-evenly; /* Distribute items evenly
+ Items have equal space around them */
+align-content: stretch; /* Distribute items evenly
+ Stretch 'auto'-sized items to fit
+ the container */
+
+/* Overflow alignment */
+align-content: safe center;
+align-content: unsafe center;
+
+/* Global values */
+align-content: inherit;
+align-content: initial;
+align-content: unset;
+</pre>
+
+<h3 id="Values">Values</h3>
+
+<dl>
+ <dt><code>start</code></dt>
+ <dd>The items are packed flush to each other against the start edge of the alignment container in the cross axis.</dd>
+ <dt><code>end</code></dt>
+ <dd>The items are packed flush to each other against the end edge of the alignment container in the cross axis.</dd>
+ <dt><code>flex-start</code></dt>
+ <dd>The items are packed flush to each other against the edge of the alignment container depending on the flex container's cross-start side.<br>
+ This only applies to flex layout items. For items that are not children of a flex container, this value is treated like <code>start</code>.</dd>
+ <dt><code>flex-end</code></dt>
+ <dd>The items are packed flush to each other against the edge of the alignment container depending on the flex container's cross-end side.<br>
+ This only applies to flex layout items. For items that are not children of a flex container, this value is treated like <code>end</code>.</dd>
+ <dt><code>center</code></dt>
+ <dd>The items are packed flush to each other in the center of the alignment container along the cross axis.</dd>
+ <dt><code>normal</code></dt>
+ <dd>The items are packed in their default position as if no <code>align-content</code> value was set.</dd>
+ <dt><code>baseline<br>
+ first baseline</code><br>
+ <code>last baseline</code></dt>
+ <dd><img alt='the baseline is the line upon which most letters "sit" and below which descenders extend.' src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Typography_Line_Terms.svg/410px-Typography_Line_Terms.svg.png" style="height: 110px; width: 410px;"></dd>
+ <dd>Specifies participation in first- or last-baseline alignment: aligns the alignment baseline of the box’s first or last baseline set with the corresponding baseline in the shared first or last baseline set of all the boxes in its baseline-sharing group.<br>
+ The fallback alignment for <code>first baseline</code> is <code>start</code>, the one for <code>last baseline</code> is <code>end</code>.</dd>
+ <dt><code>space-between</code></dt>
+ <dd>The items are evenly distributed within the alignment container along the cross axis. The spacing between each pair of adjacent items is the same. The first item is flush with the start edge of the alignment container in the cross axis, and the last item is flush with the end edge of the alignment container in the cross axis.</dd>
+ <dt><code>space-around</code></dt>
+ <dd>The items are evenly distributed within the alignment container along the cross axis. The spacing between each pair of adjacent items is the same. The empty space before the first and after the last item equals half of the space between each pair of adjacent items.</dd>
+ <dt><code>space-evenly</code></dt>
+ <dd>The items are evenly distributed within the alignment container along the cross axis. The spacing between each pair of adjacent items, the start edge and the first item, and the end edge and the last item, are all exactly the same.</dd>
+ <dt><code>stretch</code></dt>
+ <dd>If the combined size of the items along the cross axis is less than the size of the alignment container, any <code>auto</code>-sized items have their size increased equally (not proportionally), while still respecting the constraints imposed by {{cssxref("max-height")}}/{{cssxref("max-width")}} (or equivalent functionality), so that the combined size exactly fills the alignment container along the cross axis.</dd>
+ <dt><code>safe</code></dt>
+ <dd>Used alongside an alignment keyword. If the chosen keyword means that the item overflows the alignment container causing data loss, the item is instead aligned as if the alignment mode were <code>start</code>.</dd>
+ <dt><code>unsafe</code></dt>
+ <dd>Used alongside an alignment keyword. Regardless of the relative sizes of the item and alignment container and whether overflow which causes data loss might happen, the given alignment value is honored.</dd>
+</dl>
+
+<h2 id="Formal_definition">Formal definition</h2>
+
+<p>{{CSSInfo}}</p>
+
+<h2 id="Formal_syntax">Formal syntax</h2>
+
+<pre class="syntaxbox notranslate">{{csssyntax}}</pre>
+
+<h2 id="Examples">Examples</h2>
+
+<h3 id="CSS">CSS</h3>
+
+<pre class="brush: css; highlight[4] notranslate">#container {
+ height:200px;
+ width: 240px;
+ align-content: center; /* Can be changed in the live sample */
+ background-color: #8c8c8c;
+}
+
+.flex {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, 50px);
+}
+
+div &gt; div {
+ box-sizing: border-box;
+ border: 2px solid #8c8c8c;
+ width: 50px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#item1 {
+ background-color: #8cffa0;
+ min-height: 30px;
+}
+
+#item2 {
+ background-color: #a0c8ff;
+ min-height: 50px;
+}
+
+#item3 {
+ background-color: #ffa08c;
+ min-height: 40px;
+}
+
+#item4 {
+ background-color: #ffff8c;
+ min-height: 60px;
+}
+
+#item5 {
+ background-color: #ff8cff;
+ min-height: 70px;
+}
+
+#item6 {
+ background-color: #8cffff;
+ min-height: 50px;
+ font-size: 30px;
+}
+
+select {
+ font-size: 16px;
+}
+
+.row {
+ margin-top: 10px;
+}
+</pre>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush: html notranslate">&lt;div id="container" class="flex"&gt;
+ &lt;div id="item1"&gt;1&lt;/div&gt;
+ &lt;div id="item2"&gt;2&lt;/div&gt;
+ &lt;div id="item3"&gt;3&lt;/div&gt;
+ &lt;div id="item4"&gt;4&lt;/div&gt;
+ &lt;div id="item5"&gt;5&lt;/div&gt;
+ &lt;div id="item6"&gt;6&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;div class="row"&gt;
+ &lt;label for="display"&gt;display: &lt;/label&gt;
+ &lt;select id="display"&gt;
+ &lt;option value="flex"&gt;flex&lt;/option&gt;
+ &lt;option value="grid"&gt;grid&lt;/option&gt;
+ &lt;/select&gt;
+&lt;/div&gt;
+
+&lt;div class="row"&gt;
+ &lt;label for="values"&gt;align-content: &lt;/label&gt;
+ &lt;select id="values"&gt;
+ &lt;option value="normal"&gt;normal&lt;/option&gt;
+ &lt;option value="stretch"&gt;stretch&lt;/option&gt;
+ &lt;option value="flex-start"&gt;flex-start&lt;/option&gt;
+ &lt;option value="flex-end"&gt;flex-end&lt;/option&gt;
+ &lt;option value="center" selected&gt;center&lt;/option&gt;
+ &lt;option value="space-between"&gt;space-between&lt;/option&gt;
+ &lt;option value="space-around"&gt;space-around&lt;/option&gt;
+ &lt;option value="space-evenly"&gt;space-evenly&lt;/option&gt;
+
+ &lt;option value="start"&gt;start&lt;/option&gt;
+ &lt;option value="end"&gt;end&lt;/option&gt;
+ &lt;option value="left"&gt;left&lt;/option&gt;
+ &lt;option value="right"&gt;right&lt;/option&gt;
+
+ &lt;option value="baseline"&gt;baseline&lt;/option&gt;
+ &lt;option value="first baseline"&gt;first baseline&lt;/option&gt;
+ &lt;option value="last baseline"&gt;last baseline&lt;/option&gt;
+
+ &lt;option value="safe center"&gt;safe center&lt;/option&gt;
+ &lt;option value="unsafe center"&gt;unsafe center&lt;/option&gt;
+ &lt;option value="safe right"&gt;safe right&lt;/option&gt;
+ &lt;option value="unsafe right"&gt;unsafe right&lt;/option&gt;
+ &lt;option value="safe end"&gt;safe end&lt;/option&gt;
+ &lt;option value="unsafe end"&gt;unsafe end&lt;/option&gt;
+ &lt;option value="safe flex-end"&gt;safe flex-end&lt;/option&gt;
+ &lt;option value="unsafe flex-end"&gt;unsafe flex-end&lt;/option&gt;
+ &lt;/select&gt;
+&lt;/div&gt;
+</pre>
+
+<div class="hidden">
+<h3 id="JavaScript">JavaScript</h3>
+
+<pre class="brush: js notranslate">var values = document.getElementById('values');
+var display = document.getElementById('display');
+var container = document.getElementById('container');
+
+values.addEventListener('change', function (evt) {
+ container.style.alignContent = evt.target.value;
+});
+
+display.addEventListener('change', function (evt) {
+ container.className = evt.target.value;
+});
+</pre>
+</div>
+
+<h3 id="Result">Result</h3>
+
+<p>{{EmbedLiveSample("Examples", 260, 290)}}</p>
+
+<h2 id="Specifications">Specifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName("CSS3 Box Alignment", "#propdef-align-content", "align-content")}}</td>
+ <td>{{Spec2("CSS3 Box Alignment")}}</td>
+ <td>Adds the [ first | last ]? baseline, start, end, left, right, unsafe | safe values.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName("CSS3 Flexbox", "#align-content-property", "align-content")}}</td>
+ <td>{{Spec2("CSS3 Flexbox")}}</td>
+ <td>Initial definition</td>
+ </tr>
+ </tbody>
+</table>
+
+<div>{{cssinfo}}</div>
+
+<h2 id="Browser_compatibility">Browser compatibility</h2>
+
+<div>
+
+
+<h3 id="Support_in_Flex_layout">Support in Flex layout</h3>
+
+<p>{{Compat("css.properties.align-content.flex_context")}}</p>
+
+<h3 id="Support_in_Grid_layout">Support in Grid layout</h3>
+
+<p>{{Compat("css.properties.align-content.grid_context")}}</p>
+</div>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li>CSS Flexbox Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox">Basic Concepts of Flexbox</a></em></li>
+ <li>CSS Flexbox Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container">Aligning items in a flex container</a></em></li>
+ <li>CSS Grid Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout">Box alignment in CSS Grid layouts</a></em></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Box_Alignment">CSS Box Alignment</a></li>
+</ul>
+
+<div>{{CSSRef}}</div>
diff --git a/files/ar/web/css/attribute_selectors/index.html b/files/ar/web/css/attribute_selectors/index.html
new file mode 100644
index 0000000000..cc06083b09
--- /dev/null
+++ b/files/ar/web/css/attribute_selectors/index.html
@@ -0,0 +1,199 @@
+---
+title: Attribute selectors
+slug: Web/CSS/Attribute_selectors
+tags:
+ - Attribute
+ - Attribute selectors
+ - CSS
+ - CSS 3
+ - CSS 3 Attribute selectors
+ - CSS Attributes
+ - Identifying Elements
+ - Identifying Nodes
+ - Selecting Elements
+ - Selectors
+ - محدد الخاصية
+ - محددات
+translation_of: Web/CSS/Attribute_selectors
+---
+<div>{{CSSRef}}</div>
+
+<p dir="rtl">يطابق<em><strong> محدد خاصية</strong></em> CSS عناصر تستند إلى وجود أو قيمة لخاصية معينة.</p>
+
+<pre class="brush: css no-line-numbers">/* &lt;a&gt; elements with a title attribute */
+a[title] {
+ color: purple;
+}
+
+/* &lt;a&gt; elements with an href matching "https://example.org" */
+a[href="https://example.org"] {
+ color: green;
+}
+
+/* &lt;a&gt; elements with an href containing "example" */
+a[href*="example"] {
+ font-size: 2em;
+}
+
+/* &lt;a&gt; elements with an href ending ".org" */
+a[href$=".org"] {
+ font-style: italic;
+}</pre>
+
+<dl>
+ <dt dir="rtl"><code>[<em>attr</em>]</code></dt>
+ <dd dir="rtl">يمثل عناصر ذات اسم خاصية attr.</dd>
+ <dt dir="rtl"><code>[<em>attr</em>=<em>value</em>]</code></dt>
+ <dd dir="rtl">يمثل العناصر التي تحتوي على اسم خاصية attr التي قيمتها هي ذات القيمة بالضبط.</dd>
+ <dt dir="rtl"><code>[<em>attr</em>~=<em>value</em>]</code></dt>
+ <dd dir="rtl">يمثل العناصر التي تحتوي على اسم خاصية attr التي تكون قيمتها قائمة كلمات مفصولة بمسافات بيضاء ، واحدة منها هي القيمة بالضبط.</dd>
+ <dt dir="rtl"><code>[<em>attr</em>|=<em>value</em>]</code></dt>
+ <dd dir="rtl">يمثل عناصر ذات اسم خاصية attr يمكن أن تكون قيمتها ذات قيمة بالضبط أو يمكن أن تبدأ بالقيمة مباشرة متبوعة بواصلة ، - (U + 002D).</dd>
+ <dd dir="rtl">وغالبًا ما يتم استخدامه لمطابقة اللغة الفرعية.</dd>
+ <dt dir="rtl"><code>[<em>attr</em>^=<em>value</em>]</code></dt>
+ <dd dir="rtl">يمثل عناصر ذات اسم خاصية attr التي تكون قيمتة تماثل اول القيمة</dd>
+ <dd dir="rtl">(يبحث عن تماثل في بداية القيمة).</dd>
+ <dt dir="rtl"><code>[<em>attr</em>$=<em>value</em>]</code></dt>
+ <dd dir="rtl">يمثل العناصر ذا اسم الخاصية attr التي تكون قيمته تماثل آخر القيمة</dd>
+ <dd dir="rtl">(يبحث عن تماثل في نهاية القيمة)</dd>
+ <dt dir="rtl"><code>[<em>attr</em>*=<em>value</em>]</code></dt>
+ <dd dir="rtl">يمثل عناصر ذات اسم خاصية attr تحتوي قيمتها على تواجد واحد على الأقل للقيمة</dd>
+ <dd dir="rtl">داخل قيمة الخاصية.</dd>
+ <dt dir="rtl" id="case-insensitive"><code>[<em>attr</em> <em>operator</em> <em>value</em> i]</code></dt>
+ <dd dir="rtl">تؤدي إضافة حرف (i) أو (I) قبل قوس الإغلاق إلى مقارنة القيمة بحالة غير حساسة  (للأحرف ضمن نطاق ASCII).</dd>
+</dl>
+
+<h2 dir="rtl" id="أمثلة">أمثلة</h2>
+
+<h3 dir="rtl" id="روابط">روابط</h3>
+
+<h4 dir="rtl" id="CSS">CSS</h4>
+
+<pre class="brush: css">a {
+ color: blue;
+}
+
+/* "#" الروابط الداخلية ، تبدأ بـ*/
+a[href^="#"] {
+ background-color: gold;
+}
+
+/* URL روابط مع "example" في أي مكان في عنوان */
+a[href*="example"] {
+ background-color: silver;
+}
+
+/* URL روابط "غير حساسة" في أي مكان في عنوان ،
+    بغض النظر عن الكتابة بحرف كبير*/
+a[href*="insensitive" i] {
+ color: cyan;
+}
+
+/* ".org"الروابط التي تنتهي بـ */
+a[href$=".org"] {
+ color: red;
+}
+</pre>
+
+<h4 id="HTML">HTML</h4>
+
+<pre class="brush: html">&lt;ul&gt;
+ &lt;li&gt;&lt;a href="#internal"&gt;Internal link&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="http://example.com"&gt;Example link&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#InSensitive"&gt;Insensitive internal link&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="http://example.org"&gt;Example org link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;</pre>
+
+<h4 dir="rtl" id="Result">Result</h4>
+
+<p dir="rtl">{{EmbedLiveSample('Links')}}</p>
+
+<h3 dir="rtl" id="لغات">لغات</h3>
+
+<h4 dir="rtl" id="CSS_2">CSS</h4>
+
+<pre class="brush: css">/* All divs with a `lang` attribute are bold. */
+div[lang] {
+ font-weight: bold;
+}
+
+/* All divs in US English are blue. */
+div[lang~="en-us"] {
+ color: blue;
+}
+
+/* All divs in Portuguese are green. */
+div[lang="pt"] {
+ color: green;
+}
+
+/* All divs in Chinese are red, whether
+ simplified (zh-CN) or traditional (zh-TW). */
+div[lang|="zh"] {
+ color: red;
+}
+
+/* All divs with a Traditional Chinese
+ `data-lang` are purple. */
+/* Note: You could also use hyphenated attributes
+ without double quotes */
+div[data-lang="zh-TW"] {
+ color: purple;
+}
+</pre>
+
+<h4 dir="rtl" id="HTML_2">HTML</h4>
+
+<pre class="brush: html">&lt;div lang="en-us en-gb en-au en-nz"&gt;Hello World!&lt;/div&gt;
+&lt;div lang="pt"&gt;Olá Mundo!&lt;/div&gt;
+&lt;div lang="zh-CN"&gt;世界您好!&lt;/div&gt;
+&lt;div lang="zh-TW"&gt;世界您好!&lt;/div&gt;
+&lt;div data-lang="zh-TW"&gt;?世界您好!&lt;/div&gt;
+</pre>
+
+<h4 dir="rtl" id="Result_2">Result</h4>
+
+<p dir="rtl">{{EmbedLiveSample('Languages')}}</p>
+
+<h2 dir="rtl" id="مواصفات">مواصفات</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th dir="rtl" scope="col">مواصفات</th>
+ <th dir="rtl" scope="col"><span style="display: none;"> </span>الحالة</th>
+ <th scope="col">تعليق</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('CSS4 Selectors', '#attribute-selectors', 'attribute selectors')}}</td>
+ <td>{{Spec2('CSS4 Selectors')}}</td>
+ <td>يضيف المعدل ل ASCII اختيار قيمة خاصية غير حساسة لحالة الأحرف</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('CSS3 Selectors', '#attribute-selectors', 'attribute selectors')}}</td>
+ <td>{{Spec2('CSS3 Selectors')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('CSS2.1', 'selector.html#attribute-selectors', 'attribute selectors')}}</td>
+ <td>{{Spec2('CSS2.1')}}</td>
+ <td>التعريف الأولي</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 dir="rtl" id="توافق_المتصفح">توافق المتصفح</h2>
+
+
+
+<p>{{Compat("css.selectors.attribute")}}</p>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li>Selecting a single element: {{domxref("Document.querySelector()")}}, {{domxref("DocumentFragment.querySelector()")}}, or {{domxref("Element.querySelector()")}}</li>
+ <li>Selecting all matching elements: {{domxref("Document.querySelectorAll()")}}, {{domxref("DocumentFragment.querySelectorAll()")}}, or {{domxref("Element.querySelectorAll()")}}</li>
+ <li>The above methods are all implemented based on the {{domxref("ParentNode")}} mixin; see {{domxref("ParentNode.querySelector()")}} and {{domxref("ParentNode.querySelectorAll()")}}</li>
+</ul>
diff --git a/files/ar/web/css/css_flexible_box_layout/index.html b/files/ar/web/css/css_flexible_box_layout/index.html
new file mode 100644
index 0000000000..9cb25b5221
--- /dev/null
+++ b/files/ar/web/css/css_flexible_box_layout/index.html
@@ -0,0 +1,119 @@
+---
+title: CSS Flexible Box Layout
+slug: Web/CSS/CSS_Flexible_Box_Layout
+tags:
+ - CSS
+ - CSS Flexible Boxes
+ - NeedsTranslation
+ - Overview
+ - Reference
+ - TopicStub
+ - flexbox
+translation_of: Web/CSS/CSS_Flexible_Box_Layout
+---
+<div>{{CSSRef}}</div>
+
+<p class="summary"><strong>CSS Flexible Box Layout</strong> is a module of <a href="/en-US/docs/Web/CSS">CSS</a> that defines a CSS box model optimized for user interface design, and the layout of items in one dimension. In the flex layout model, the children of a flex container can be laid out in any direction, and can “flex” their sizes, either growing to fill unused space or shrinking to avoid overflowing the parent. Both horizontal and vertical alignment of the children can be easily manipulated.</p>
+
+<h2 id="Basic_Example">Basic Example</h2>
+
+<p>In the following example a container has been set to <code>display: flex</code>, which means that the three child items become flex items. The value of <code>justify-content</code> has been set to <code>space-between</code> in order to space the items out evenly on the main axis. An equal amount of space is placed between each item with the left and right items being flush with the edges of the flex container. You can also see that the items are stretching on the cross axis, due to the default value of <code>align-items</code> being <code>stretch</code>. The items stretch to the height of the flex container, making them each appear as tall as the tallest item.</p>
+
+<p>{{EmbedGHLiveSample("css-examples/flexbox/basics/simple-example.html", '100%', 500)}}</p>
+
+<h2 id="Reference">Reference</h2>
+
+<h3 id="CSS_Properties">CSS Properties</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("flex")}}</li>
+ <li>{{cssxref("flex-basis")}}</li>
+ <li>{{cssxref("flex-direction")}}</li>
+ <li>{{cssxref("flex-flow")}}</li>
+ <li>{{cssxref("flex-grow")}}</li>
+ <li>{{cssxref("flex-shrink")}}</li>
+ <li>{{cssxref("flex-wrap")}}</li>
+ <li>{{cssxref("order")}}</li>
+</ul>
+</div>
+
+<h3 id="Alignment_Properties">Alignment Properties</h3>
+
+<p>The properties <code>align-content</code>, <code>align-self</code>, <code>align-items</code> and <code>justify-content</code> initially appeared in the Flexbox specification, but are now defined in Box Alignment. The Flexbox spec now refers to the Box Alignment specification for up to date definitions. Also additional alignment properties are now defined in Box Alignment.</p>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("justify-content")}}</li>
+ <li>{{cssxref("align-content")}}</li>
+ <li>{{cssxref("align-items")}}</li>
+ <li>{{cssxref("align-self")}}</li>
+ <li>{{cssxref("place-content")}}</li>
+ <li>{{cssxref("place-items")}}</li>
+ <li>{{cssxref("row-gap")}}</li>
+ <li>{{cssxref("column-gap")}}</li>
+ <li>{{cssxref("gap")}}</li>
+</ul>
+</div>
+
+<h3 id="Glossary_entries">Glossary entries</h3>
+
+<div class="index">
+<ul>
+ <li>{{Glossary("Flexbox", "", 1)}}</li>
+ <li>{{Glossary("Flex Container", "", 1)}}</li>
+ <li>{{Glossary("Flex Item", "", 1)}}</li>
+ <li>{{Glossary("Main Axis", "", 1)}}</li>
+ <li>{{Glossary("Cross Axis", "", 1)}}</li>
+ <li>{{Glossary("Flex", "", 1)}}</li>
+</ul>
+</div>
+
+<h2 id="Guides">Guides</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox">Basic Concepts of Flexbox</a></dt>
+ <dd>An overview of the features of Flexbox</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Relationship_of_Flexbox_to_Other_Layout_Methods">Relationship of Flexbox to other layout methods</a></dt>
+ <dd>How Flexbox relates to other layout methods, and other CSS specifications</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container">Aligning items in a flex container</a></dt>
+ <dd>How the Box Alignment properties work with Flexbox.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Ordering_Flex_Items">Ordering flex items</a></dt>
+ <dd>Explaining the different ways to change the order and direction of items, and covering the potential issues in doing so.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Controlling_Ratios_of_Flex_Items_Along_the_Main_Ax">Controlling Ratios of flex items along the main axis</a></dt>
+ <dd>Explaining the flex-grow, flex-shrink and flex-basis properties.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Mastering_Wrapping_of_Flex_Items">Mastering wrapping of flex items</a></dt>
+ <dd>How to create flex containers with multiple lines and control the display of the items in those lines.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Typical_Use_Cases_of_Flexbox">Typical use cases of Flexbox</a></dt>
+ <dd>Common design patterns that are typical Flexbox use cases.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexbox">Backwards compatibility of Flexbox</a></dt>
+ <dd>Browser status of Flexbox, interoperability issues and supporting older browsers and versions of the spec</dd>
+</dl>
+
+<h2 id="Specifications">Specifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{ SpecName('CSS3 Flexbox') }}</td>
+ <td>{{ Spec2('CSS3 Flexbox') }}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="See_also">See also</h2>
+
+<dl>
+ <dt><a href="https://github.com/philipwalton/flexbugs">Flexbugs</a></dt>
+ <dd>a community-curated list of Flexbox browser bugs and workarounds</dd>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Mixins">Cross-browser Flexbox mixins</a></dt>
+ <dd>This article provides a set of mixins for those who want to create cross-browser Flexbox experiences that even work in older browser that don't support the modern Flexbox syntax</dd>
+</dl>
diff --git a/files/ar/web/css/css_flexible_box_layout/المفاهيم_الأساسية_للصندوق_المرن/index.html b/files/ar/web/css/css_flexible_box_layout/المفاهيم_الأساسية_للصندوق_المرن/index.html
new file mode 100644
index 0000000000..c30338c62b
--- /dev/null
+++ b/files/ar/web/css/css_flexible_box_layout/المفاهيم_الأساسية_للصندوق_المرن/index.html
@@ -0,0 +1,233 @@
+---
+title: المفاهيم الأساسية للصندوق المرن
+slug: Web/CSS/CSS_Flexible_Box_Layout/المفاهيم_الأساسية_للصندوق_المرن
+translation_of: Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox
+---
+<div dir="rtl">{{CSSRef}}</div>
+
+<p class="summary" dir="rtl">يشار لوحدة الصندوق المرن عادةً  بالflexbox وقد تم تصميمها كنموذج تخطيط احادي البعد. وكطريقة يمكنها ان تعرض توزيع المسافات بين العناصر في واجهة وقدرات محاذاة (ترتيب) قوية. تقدم هذه المقالة الخطوط العريضة للميزات الرئيسية لفلكس بوكس (flexbox)، والتي سنكتشف تفاصيلها في بقية هذه الارشادات.</p>
+
+<p class="summary" dir="rtl">عندما نوصف الفلكس بوكس بأنه احادي البعد، نقوم بوصف الحقيقة ان الفلكس بوكس يتعامل مع المخطط في بعد واحد في ذات الوقت — إما كصف أو كعمود. وهذا يمكن أن يتناقض مع نموذج ثنائي الأبعاد الخاص بـ<a href="/en-US/docs/Web/CSS/CSS_Grid_Layout">تخطيط شبكة CSS Grid</a> والذي يتحكم في الصفوف والاعمدة معاً.</p>
+
+<h2 dir="rtl" id="مِحوَريّ_الفلكس_بوكس">مِحوَريّ الفلكس بوكس</h2>
+
+<p dir="rtl">عندما نشتغل بفلكس بوكس نحتاج للتفكير في محورين — المحور الاساشي او الرئيسي ومحور التقاطع (المتقاطع).<br>
+ يتم تعريف المحور الرئيسي بإستخدام الخاصية {{cssxref("flex-direction")}}<br>
+ ومن هناك يتم تعامد المحور المتقاطع بناءًا على المحور الرئيسي.<br>
+ لذا يجدر فهم كيفية عملها منذ البداية.</p>
+
+<h3 dir="rtl" id="المحور_الرئيسي">المحور الرئيسي</h3>
+
+<p dir="rtl">يتم تعريف المحور الرئيسي عن طريق <code>flex-direction</code>  ، والتي لديها اربع قيم ممكنة هي:</p>
+
+<ul dir="rtl">
+ <li>الصف <code>row</code></li>
+ <li>الصف المعكوس <code>row-reverse</code></li>
+ <li>العامود <code>column</code></li>
+ <li>العامود المعكوس <code>column-reverse</code></li>
+</ul>
+
+<p dir="rtl">هل تختار الصف او الصف المعكوس؟ سيشتغل المحور الاساسي في اتجاه مضمَن مع الصف.</p>
+
+<p><img alt="If flex-direction is set to row the main axis runs along the row in the inline direction." dir="rtl" src="https://mdn.mozillademos.org/files/15614/Basics1.png" style="display: block; height: 152px; margin: 0px auto; width: 522px;"></p>
+
+<p dir="rtl">اختر العامود او العامود المعكوس وسيعمل المحور الاساسي من رأس الصفحة الى قاعها في<strong> اتجاه السد</strong></p>
+
+<p><img alt="If flex-direction is set to column the main axis runs in the block direction." dir="rtl" src="https://mdn.mozillademos.org/files/15615/Basics2.png" style="display: block; height: 227px; margin: 0px auto; width: 709px;"></p>
+
+<h3 dir="rtl" id="محور_التقاطع">محور التقاطع</h3>
+
+<p dir="rtl">يتعامد محور التقاطع على المحور الرئيسي الذي تم تعريفة مسبقا باستخدام <code>flex-direction</code> كصف <code>row</code>  او صف معكوس <code>row-reverse</code>  فيشغل دور الاعمدة.</p>
+
+<p><img alt="If flex-direction is set to row then the cross axis runs in the block direction." dir="rtl" src="https://mdn.mozillademos.org/files/15616/Basics3.png" style="display: block; height: 125px; margin: 0px auto; width: 666px;"></p>
+
+<p dir="rtl">أما لو كان عامود <code>column</code> او عامود معكوس <code>column-reverse</code>  فيشغل محور التقاطع دور الصف.</p>
+
+<p><img alt="If flex-direction is set to column then the cross axis runs in the inline direction." dir="rtl" src="https://mdn.mozillademos.org/files/15617/Basics4.png" style="display: block; height: 244px; margin: 0px auto; width: 523px;"></p>
+
+<p dir="rtl">من المهم فهم اي محور من الاخر عندما نبدأ في البحث عن الترتيب والاصطفاف لعانصر الفلكس، خصائص ميزات الفلكس بوكس التي ستقوم بإصطفافها وترتيب المحتوى على محور او الاخر.</p>
+
+<h2 dir="rtl" id="خطوط_البداية_والنهاية">خطوط البداية والنهاية</h2>
+
+<p dir="rtl">من النقاط المهمة للغاية أن نفهم كيف يقوم فلكس بوكس بعدم افتراض كيفية الكتابة في الوثيقة. ففي الماضي، كانت الCSS مثقولة الوزن نحو الكتابة الافقية و اسلوب كتابة اليسار الى اليمين. اما في المخططات الحديثة تشمل نطاق من اساليب الكتابة. فلهذا لم نعد نفرض ان بداية خط الكتابة سيكون في يسار اعلى الصفحة ويسري الى اليمين، بصفوف جديدة تظهر اسفل بعضها تلو الاخرى.</p>
+
+<p dir="rtl">يمكنك ان تقرأ اكثر عن العلاقة ما بين الفلكس بوكس وخصائص اساليب الكتابة في مقالة لاحقة. ومع ذلك، من المفروض ان يساعدك الوصف التالي بشرح السبب للماذا لا نتحدث عن تحديد يسار ويمين واعلى واسفل عندما نقوم بوصف اتجاه سير عناصر فلكس.</p>
+
+<p dir="rtl">اذا كان الصف هو اتجاه فلكس،  <code>flex-direction: row</code> ونعمل باستخدام اللغة الانجليزية.<br>
+ اذن ستكون حافة البداية للمحور الاساسي على اليسار ويقابلها على الجهة الاخرى علي اليمين حافة النهاية.</p>
+
+<p><img alt="Working in English the start edge is on the left." dir="rtl" src="https://mdn.mozillademos.org/files/15618/Basics5.png" style="display: block; height: 152px; margin: 0px auto; width: 631px;"></p>
+
+<p dir="rtl">اما اذا كنا سنستخدم اللغة العربية، فستكون حافة البداية للمحور الاساسي على اليمين ويقابلها على الجهة الاخرى علي اليسار حافة النهاية.</p>
+
+<p><img alt="The start edge in a RTL language is on the right." dir="rtl" src="https://mdn.mozillademos.org/files/15619/Basics6.png" style="display: block; height: 152px; margin: 0px auto; width: 634px;"></p>
+
+<p dir="rtl">وفي كلا الحالتين ستكون حافة البداية للمحور المتقاطع في الاعلى من حاوية الفلكس وحافة النهاية في اسفلها. وذلك لان اللغتين يسيرون في سياق افقي للكتابة.</p>
+
+<p dir="rtl">بعد فترة، التفكير في البداية والنهاية بدلا من الايمن والايسر سيصبح طبيعيا اكثر. وسيكون مفيدا عن التعامل مع وسائل التخطيط الاخرى مثل مخطط الشبكة CSS Grid Layout الذي يتبع النمط نفسه.</p>
+
+<h2 dir="rtl" id="حاوية_فلكس">حاوية فلكس</h2>
+
+<p dir="rtl">An area of a document laid out using flexbox is called a <strong>flex container</strong>. To create a flex container, we set the value of the area's container's {{cssxref("display")}} property to <code>flex</code> or <code>inline-flex</code>. As soon as we do this the direct children of that container become <strong>flex items</strong>. As with all properties in CSS, some initial values are defined, so when creating a flex container all of the contained flex items will behave in the following way.</p>
+
+<ul dir="rtl">
+ <li>Items display in a row (the <code>flex-direction</code> property's default is <code>row</code>).</li>
+ <li>The items start from the start edge of the main axis.</li>
+ <li>The items do not stretch on the main dimension, but can shrink.</li>
+ <li>The items will stretch to fill the size of the cross axis.</li>
+ <li>The {{cssxref("flex-basis")}} property is set to <code>auto</code>.</li>
+ <li>The {{cssxref("flex-wrap")}} property is set to <code>nowrap</code>.</li>
+</ul>
+
+<p dir="rtl">The result of this is that your items will all line up in a row, using the size of the content as their size in the main axis. If there are more items than can fit in the container, they will not wrap but will instead overflow. If some items are taller than others, all items will stretch along the cross axis to fill its full size.</p>
+
+<p dir="rtl">You can see in the live example below how this looks. Try editing the items or adding additional items in order to test the initial behavior of flexbox.</p>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/the-flex-container.html", '100%', 480)}} </p>
+
+<h3 dir="rtl" id="Changing_flex-direction">Changing flex-direction</h3>
+
+<p dir="rtl">Adding the {{cssxref("flex-direction")}} property to the flex container allows us to change the direction in which our flex items display. Setting <code>flex-direction: row-reverse</code> will keep the items displaying along the row, however the start and end lines are switched.</p>
+
+<p dir="rtl">If we change <code>flex-direction</code> to <code>column</code> the main axis switches and our items now display in a column. Set <code>column-reverse</code> and the start and end lines are again switched.</p>
+
+<p dir="rtl">The live example below has <code>flex-direction</code> set to <code>row-reverse</code>. Try the other values — <code>row</code>, <code>column</code> and <code>column-reverse</code> — to see what happens to the content.</p>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/flex-direction.html", '100%', 350)}}</p>
+
+<h2 dir="rtl" id="Multi-line_flex_containers_with_flex-wrap">Multi-line flex containers with flex-wrap</h2>
+
+<p dir="rtl">While flexbox is a one dimensional model, it is possible to cause our flex items to wrap onto multiple lines. In doing so, you should consider each line as a new flex container. Any space distribution will happen across that line, without reference to the lines either side.</p>
+
+<p dir="rtl">To cause wrapping behaviour add the property {{cssxref("flex-wrap")}} with a value of <code>wrap</code>. Now, should your items be too large to all display in one line, they will wrap onto another line. The live sample below contains items that have been given a width, the total width of the items being too wide for the flex container. As <code>flex-wrap</code> is set to <code>wrap</code>, the items wrap. Set it to <code>nowrap</code>, which is also the initial value, and they will instead shrink to fit the container because they are using initial flexbox values that allows items to shrink. Using <code>nowrap</code> would cause an overflow if the items were not able to shrink, or could not shrink small enough to fit.</p>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/flex-wrap.html", '100%', 400)}}</p>
+
+<p dir="rtl">Find out more about wrapping flex items in the guide <a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Mastering_Wrapping_of_Flex_Items">Mastering Wrapping of Flex Items</a>.</p>
+
+<h2 dir="rtl" id="The_flex-flow_shorthand">The flex-flow shorthand</h2>
+
+<p dir="rtl">You can combine the two properties <code>flex-direction</code> and <code>flex-wrap</code> into the {{cssxref("flex-flow")}} shorthand. The first value specified is <code>flex-direction</code> and the second value is <code>flex-wrap</code>.</p>
+
+<p dir="rtl">In the live example below try changing the first value to one of the allowable values for <code>flex-direction</code> - <code>row</code>, <code>row-reverse</code>, <code>column</code> or <code>column-reverse</code>, and also change the second to <code>wrap</code> and <code>nowrap</code>.</p>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/flex-flow.html", '100%', 400)}}</p>
+
+<h2 dir="rtl" id="Properties_applied_to_flex_items">Properties applied to flex items</h2>
+
+<p dir="rtl">To have more control over flex items we can target them directly. We do this by way of three properties:</p>
+
+<ul dir="rtl">
+ <li>{{cssxref("flex-grow")}}</li>
+ <li>{{cssxref("flex-shrink")}}</li>
+ <li>{{cssxref("flex-basis")}}</li>
+</ul>
+
+<p dir="rtl">We will take a brief look at these properties in this overview, and you can gain a fuller understanding in the guide <a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Controlling_Ratios_of_Flex_Items_Along_the_Main_Ax">Controlling Ratios of Flex Items on the Main Axis</a>.</p>
+
+<p dir="rtl">Before we can make sense of these properties we need to consider the concept of <strong>available space</strong>. What we are doing when we change the value of these flex properties is to change the way that available space is distributed amongst our items. This concept of available space is also important when we come to look at aligning items.</p>
+
+<p dir="rtl">If we have three 100 pixel-wide items in a container which is 500 pixels wide, then the space we need to lay out our items is 300 pixels. This leaves 200 pixels of available space. If we don’t change the initial values then flexbox will put that space after the last item.</p>
+
+<p><img alt="This flex container has available space after laying out the items." dir="rtl" src="https://mdn.mozillademos.org/files/15620/Basics7.png" style="display: block; height: 198px; margin: 0px auto; width: 528px;"></p>
+
+<p dir="rtl">If we instead would like the items to grow and fill the space, then we need to have a method of distributing the leftover space between the items. This is what the <code>flex</code> properties that we apply to the items themselves, will do.</p>
+
+<h3 dir="rtl" id="The_flex-basis_property">The <code>flex-basis</code> property</h3>
+
+<p dir="rtl">The <code>flex-basis</code> is what defines the size of that item in terms of the space it leaves as available space. The initial value of this property is <code>auto</code> — in this case the browser looks to see if the items have a size. In the example above, all of the items have a width of 100 pixels and so this is used as the <code>flex-basis</code>.</p>
+
+<p dir="rtl">If the items don’t have a size then the content's size is used as the flex-basis. This is why when we just declare <code>display: flex</code> on the parent to create flex items, the items all move into a row and take only as much space as they need to display their contents.</p>
+
+<h3 dir="rtl" id="The_flex-grow_property">The <code>flex-grow</code> property</h3>
+
+<p dir="rtl">With the <code>flex-grow</code> property set to a positive integer, flex items can grow along the main axis from their <code>flex-basis</code>. This will cause the item to stretch and take up any available space on that axis, or a proportion of the available space if other items are allowed to grow too.</p>
+
+<p dir="rtl">If we gave all of our items in the example above a <code>flex-grow</code> value of 1 then the available space in the flex container would be equally shared between our items and they would stretch to fill the container on the main axis.</p>
+
+<p dir="rtl">The flex-grow property can be used to distribute space in proportion. If we give our first item a <code>flex-grow</code> value of 2 and the other items a value of 1, 2 parts will be given to the first item (100px out of 200px in the case of the example above), 1 part each the other two (50px each out of the 200px total).</p>
+
+<h3 dir="rtl" id="The_flex-shrink_property">The <code>flex-shrink</code> property</h3>
+
+<p dir="rtl">Where the <code>flex-grow</code> property deals with adding space in the main axis, the <code>flex-shrink</code> property controls how it is taken away. If we do not have enough space in the container to lay out our items and <code>flex-shrink</code> is set to a positive integer the item can become smaller than the <code>flex-basis</code>. As with <code>flex-grow</code> different values can be assigned in order to cause one item to shrink faster than others — an item with a higher value set for <code>flex-shrink</code> will shrink faster than its siblings that have lower values.</p>
+
+<p dir="rtl">The minimum size of the item will be taken into account while working out the actual amount of shrinkage that will happen, which means that flex-shrink has the potential to appear less consistent than flex-grow in behavior. We’ll therefore take a more detailed look at how this algorithm works in the article <a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Controlling_Ratios_of_Flex_Items_Along_the_Main_Ax">Controlling Ratios of items along the main axis</a>.</p>
+
+<div class="note" dir="rtl">
+<p>Note that these values for <code>flex-grow</code> and <code>flex-shrink</code> are proportions. Typically if we had all of our items set to flex: <code>1 1 200px</code> and then wanted one item to grow at twice the rate, we would set that item to flex: <code>2 1 200px</code>. However you could use flex: <code>10 1 200px</code> and flex: <code>20 1 200px</code> if you wanted.</p>
+</div>
+
+<h3 dir="rtl" id="Shorthand_values_for_the_flex_properties">Shorthand values for the flex properties</h3>
+
+<p dir="rtl">You will very rarely see the <code>flex-grow</code>, <code>flex-shrink</code>, and <code>flex-basis</code> properties used individually; instead they are combined into the {{cssxref("flex")}} shorthand. The <code>flex</code> shorthand allows you to set the three values in this order — <code>flex-grow</code>, <code>flex-shrink</code>, <code>flex-basis</code>.</p>
+
+<p dir="rtl">The live example below allows you to test out the different values of the flex shorthand; remember that the first value is <code>flex-grow</code>. Giving this a positive value means the item can grow. The second is <code>flex-shrink</code> — with a positive value the items can shrink, but only if their total values overflow the main axis. The final value is <code>flex-basis</code>; this is the value the items are using as their base value to grow and shrink from.</p>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/flex-properties.html", '100%', 510)}}</p>
+
+<p dir="rtl">There are also some predefined shorthand values which cover most of the use cases. You will often see these used in tutorials, and in many cases these are all you will need to use. The predefined values are as follows:</p>
+
+<ul dir="rtl">
+ <li><code>flex: initial</code></li>
+ <li><code>flex: auto</code></li>
+ <li><code>flex: none</code></li>
+ <li><code>flex: &lt;positive-number&gt;</code></li>
+</ul>
+
+<p dir="rtl">Setting <code>flex: initial</code> resets the item to the initial values of Flexbox. This is the same as <code>flex: 0 1 auto</code>. In this case the value of <code>flex-grow</code> is 0, so items will not grow larger than their <code>flex-basis</code> size. The value of <code>flex-shrink</code> is 1, so items can shrink if they need to rather than overflowing. The value of <code>flex-basis</code> is <code>auto</code>. Items will either use any size set on the item in the main dimension, or they will get their size from the content size.</p>
+
+<p dir="rtl">Using <code>flex: auto</code> is the same as using <code>flex: 1 1 auto</code>; everything is as with <code>flex:initial</code> but in this case the items can grow and fill the container as well as shrink if required.</p>
+
+<p dir="rtl">Using <code>flex: none</code> will create fully inflexible flex items. It is as if you wrote <code>flex: 0 0 auto</code>. The items cannot grow or shrink but will be laid out using flexbox with a <code>flex-basis</code> of <code>auto</code>.</p>
+
+<p dir="rtl">The shorthand you often see in tutorials is <code>flex: 1</code> or <code>flex: 2</code> and so on. This is as if you used <code>flex: 1 1 0</code>. The items can grow and shrink from a <code>flex-basis</code> of 0.</p>
+
+<p dir="rtl">Try these shorthand values in the live example below.</p>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/flex-shorthands.html", '100%', 510)}}</p>
+
+<h2 dir="rtl" id="Alignment_justification_and_distribution_of_free_space_between_items">Alignment, justification and distribution of free space between items</h2>
+
+<p dir="rtl">A key feature of flexbox is the ability to align and justify items on the main- and cross-axes, and to distribute space between flex items.</p>
+
+<h3 dir="rtl" id="align-items"><code>align-items</code></h3>
+
+<p dir="rtl">The {{cssxref("align-items")}} property will align the items on the cross axis.</p>
+
+<p dir="rtl">The initial value for this property is <code>stretch</code> and this is why flex items stretch to the height of the tallest one by default. They are in fact stretching to fill the flex container — the tallest item is defining the height of that.</p>
+
+<p dir="rtl">You could instead set <code>align-items</code> to <code>flex-start</code> in order to make the items line up at the start of the flex container, <code>flex-end</code> to align them to the end, or <code>center</code> to align them in the centre. Try this in the live example — I have given the flex container a height in order that you can see how the items can be moved around inside the container. See what happens if you set the value of align-items to:</p>
+
+<ul dir="rtl">
+ <li><code>stretch</code></li>
+ <li><code>flex-start</code></li>
+ <li><code>flex-end</code></li>
+ <li><code>center</code></li>
+</ul>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/align-items.html", '100%', 520)}}</p>
+
+<h3 dir="rtl" id="justify-content"><code>justify-content</code></h3>
+
+<p dir="rtl">The {{cssxref("justify-content")}} property is used to align the items on the main axis, the direction in which <code>flex-direction</code> has set the flow. The initial value is <code>flex-start</code> which will line the items up at the start edge of the container, but you could also set the value to <code>flex-end</code> to line them up at the end, or <code>center</code> to line them up in the centre.</p>
+
+<p dir="rtl">You can also use the value <code>space-between</code> to take all the spare space after the items have been laid out, and share it out evenly between the items so there will be an equal amount of space between each item. To cause an equal amount of space on the right and left of each item use the value <code>space-around</code>. With <code>space-around</code>, items have a half-size space on either end. Or, to cause items to have equal space around them use the value <code>space-evenly</code>. With <code>space-evenly</code>, items have a full-size space on either end.</p>
+
+<p dir="rtl">Try the following values of <code>justify-content</code> in the live example:</p>
+
+<ul dir="rtl">
+ <li><code>flex-start</code></li>
+ <li><code>flex-end</code></li>
+ <li><code>center</code></li>
+ <li><code>space-around</code></li>
+ <li><code>space-between</code></li>
+ <li><code>space-evenly</code></li>
+</ul>
+
+<p dir="rtl">{{EmbedGHLiveSample("css-examples/flexbox/basics/justify-content.html", '100%', 380)}}</p>
+
+<p dir="rtl">In the article <a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container">Aligning Items in a Flex Container</a> we will explore these properties in more depth, in order to have a better understanding of how they work. These simple examples however will be useful in the majority of use cases.</p>
+
+<h2 dir="rtl" id="Next_steps">Next steps</h2>
+
+<p dir="rtl">After reading this article you should have an understanding of the basic features of Flexbox. In the next article we will look at <a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Relationship_of_Flexbox_to_Other_Layout_Methods">how this specification relates to other parts of CSS</a>.</p>
diff --git a/files/ar/web/css/css_grid_layout/index.html b/files/ar/web/css/css_grid_layout/index.html
new file mode 100644
index 0000000000..5509e745fa
--- /dev/null
+++ b/files/ar/web/css/css_grid_layout/index.html
@@ -0,0 +1,253 @@
+---
+title: CSS Grid Layout
+slug: Web/CSS/CSS_Grid_Layout
+tags:
+ - CSS
+ - Grid Layout
+ - Grids
+ - Layout
+ - NeedsTranslation
+ - Overview
+ - Reference
+ - TopicStub
+translation_of: Web/CSS/CSS_Grid_Layout
+---
+<p dir="rtl"><strong><span dir="LTR">CSS Grid Layout</span></strong>  أو <strong>شبكة تخطيط الصفحة</strong> هو مخطط لترتيب الصفحة و تصنيف العناصر الرئيسية أو الاختلافات من حيث الحجم أو الموضع أو الطبقة</p>
+
+<p>Like tables, grid layout enables an author to align elements into columns and rows. However, many more layouts are either possible or easier with CSS grid than they were with tables. For example, a grid container's child elements could position themselves so they actually overlap and layer, similar to CSS positioned elements.</p>
+
+<h2 id="Basic_Example" name="Basic_Example">Basic example</h2>
+
+<p>The example below shows a three-column track grid with new rows created at a minimum of 100 pixels and a maximum of auto. Items have been placed onto the grid using line-based placement.</p>
+
+<div id="example">
+<div class="hidden">
+<pre class="brush: css">* {box-sizing: border-box;}
+.wrapper {
+ max-width: 940px;
+ margin: 0 auto;
+}
+
+.wrapper &gt; div {
+ border: 2px solid rgb(233,171,88);
+ border-radius: 5px;
+ background-color: rgba(233,171,88,.5);
+ padding: 1em;
+ color: #d9480f;
+}</pre>
+</div>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush: html">&lt;div class="wrapper"&gt;
+ &lt;div class="one"&gt;One&lt;/div&gt;
+ &lt;div class="two"&gt;Two&lt;/div&gt;
+ &lt;div class="three"&gt;Three&lt;/div&gt;
+ &lt;div class="four"&gt;Four&lt;/div&gt;
+ &lt;div class="five"&gt;Five&lt;/div&gt;
+ &lt;div class="six"&gt;Six&lt;/div&gt;
+&lt;/div&gt;</pre>
+
+<h3 id="CSS">CSS</h3>
+
+<pre class="brush: css">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-gap: 10px;
+ grid-auto-rows: minmax(100px, auto);
+}
+.one {
+ grid-column: 1 / 3;
+ grid-row: 1;
+}
+.two {
+ grid-column: 2 / 4;
+ grid-row: 1 / 3;
+}
+.three {
+ grid-column: 1;
+ grid-row: 2 / 5;
+}
+.four {
+ grid-column: 3;
+ grid-row: 3;
+}
+.five {
+ grid-column: 2;
+ grid-row: 4;
+}
+.six {
+ grid-column: 3;
+ grid-row: 4;
+}
+</pre>
+
+<p>{{ EmbedLiveSample('example', '500', '440') }}</p>
+</div>
+
+<h2 id="Reference">Reference</h2>
+
+<h3 id="CSS_properties">CSS properties</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("grid-template-columns")}}</li>
+ <li>{{cssxref("grid-template-rows")}}</li>
+ <li>{{cssxref("grid-template-areas")}}</li>
+ <li>{{cssxref("grid-template")}}</li>
+ <li>{{cssxref("grid-auto-columns")}}</li>
+ <li>{{cssxref("grid-auto-rows")}}</li>
+ <li>{{cssxref("grid-auto-flow")}}</li>
+ <li>{{cssxref("grid")}}</li>
+ <li>{{cssxref("grid-row-start")}}</li>
+ <li>{{cssxref("grid-column-start")}}</li>
+ <li>{{cssxref("grid-row-end")}}</li>
+ <li>{{cssxref("grid-column-end")}}</li>
+ <li>{{cssxref("grid-row")}}</li>
+ <li>{{cssxref("grid-column")}}</li>
+ <li>{{cssxref("grid-area")}}</li>
+ <li>{{cssxref("grid-row-gap")}}</li>
+ <li>{{cssxref("grid-column-gap")}}</li>
+ <li>{{cssxref("grid-gap")}}</li>
+</ul>
+</div>
+
+<h3 id="CSS_functions">CSS functions</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("repeat", "repeat()")}}</li>
+ <li>{{cssxref("minmax", "minmax()")}}</li>
+ <li>{{cssxref("fit-content", "fit-content()")}}</li>
+</ul>
+</div>
+
+<h3 id="CSS_data_types">CSS data types</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("&lt;flex&gt;")}}</li>
+</ul>
+</div>
+
+<h3 id="Glossary_entries">Glossary entries</h3>
+
+<div class="index">
+<ul>
+ <li><a href="/en-US/docs/Glossary/Grid">Grid</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Lines">Grid Lines</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Tracks">Grid Tracks</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Cell">Grid Cell</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Areas">Grid Area</a></li>
+ <li><a href="/en-US/docs/Glossary/Gutters">Gutters</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Axis">Grid Axis</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Rows">Grid row</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Column">Grid column</a></li>
+</ul>
+</div>
+
+<h2 id="Guides">Guides</h2>
+
+<div class="index">
+<ul>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout">Basic concepts of Grid Layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout">Relationship of Grid Layout to other layout methods</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">Layout using line-based placement</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Grid_Template_Areas">Grid template areas</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines">Layout using named grid lines</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout">Auto-placement in CSS Grid Layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout">Box alignment in CSS Grid Layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid,_Logical_Values_and_Writing_Modes">CSS Grid, Logical Values and Writing Modes</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility">CSS Grid Layout and accessibility</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement">CSS Grid and progressive enhancement</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Realising_common_layouts_using_CSS_Grid_">Realising common layouts using CSS Grid</a></li>
+</ul>
+</div>
+
+<h2 id="External_resources">External resources</h2>
+
+<ul>
+ <li><a href="http://labs.jensimmons.com/">Examples from Jen Simmons</a></li>
+ <li><a href="http://gridbyexample.com/">Grid by Example - a collection of usage examples and video tutorials</a></li>
+ <li><a href="https://tympanus.net/codrops/css_reference/grid/">Codrops Grid Reference</a></li>
+ <li><a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/How_to/Examine_grid_layouts">Firefox DevTools CSS Grid Inspector</a></li>
+ <li><a href="https://mozilladevelopers.github.io/playground/">CSS Grid Playground</a></li>
+ <li><a href="http://cssgridgarden.com">Grid Garden</a> - A game for learning CSS grid</li>
+</ul>
+
+<h2 id="Specifications">Specifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{ SpecName('CSS3 Grid') }}</td>
+ <td>{{ Spec2('CSS3 Grid') }}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<section class="Quick_links" id="Quick_Links">
+<ol>
+ <li><a href="/en-US/docs/Web/CSS"><strong>CSS</strong></a></li>
+ <li><a href="/en-US/docs/Web/CSS/Reference"><strong>CSS Reference</strong></a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout</a></li>
+ <li data-default-state="open"><a href="#"><strong>Guides</strong></a>
+ <ol>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout">Basics concepts of grid layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout">Relationship to other layout methods</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">Line-based placement</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Grid_Template_Areas">Grid template areas</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines">Layout using named grid lines</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout">Auto-placement in grid layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout">Box alignment in grid layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid,_Logical_Values_and_Writing_Modes">Grids, logical values and writing modes</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility">CSS Grid Layout and Accessibility</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement">CSS Grid Layout and Progressive Enhancement</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_Layout">Realizing common layouts using grids</a></li>
+ </ol>
+ </li>
+ <li data-default-state="open"><a href="#"><strong>Properties</strong></a>
+ <ol>
+ <li><a href="/en-US/docs/Web/CSS/grid">grid</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-area">grid-area</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-auto-columns">grid-auto-columns</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-auto-flow">grid-auto-flow</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-auto-rows">grid-auto-rows</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column">grid-column</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column-end">grid-column-end</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column-gap">grid-column-gap</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column-start">grid-column-start</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-gap">grid-gap</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row">grid-row</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row-end">grid-row-end</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row-gap">grid-row-gap</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row-start">grid-row-start</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template">grid-template</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template-areas">grid-template-areas</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template-columns">grid-template-columns</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template-rows">grid-template-rows</a></li>
+ </ol>
+ </li>
+ <li data-default-state="open"><a href="#"><strong>Glossary</strong></a>
+ <ol>
+ <li><a href="/en-US/docs/Glossary/Grid">Grid</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_lines">Grid lines</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_tracks">Grid tracks</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_cell">Grid cell</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_areas">Grid areas</a></li>
+ <li><a href="/en-US/docs/Glossary/Gutters">Gutters</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Axis">Grid Axis</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_rows">Grid row</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_column">Grid column</a></li>
+ </ol>
+ </li>
+</ol>
+</section>
diff --git a/files/ar/web/css/css_grid_layout/relationship_of_grid_layout_arabic/index.html b/files/ar/web/css/css_grid_layout/relationship_of_grid_layout_arabic/index.html
new file mode 100644
index 0000000000..7ccf10282f
--- /dev/null
+++ b/files/ar/web/css/css_grid_layout/relationship_of_grid_layout_arabic/index.html
@@ -0,0 +1,623 @@
+---
+title: العلاقة بين التنسيق الشبكي وطرق التنسيق الأخرى
+slug: Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout_arabic
+translation_of: Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout
+---
+<p dir="rtl">صمم التنسيق الشبكي ليعمل جنبا إلى جنب مع جميع التنسيقات الأخرى مشكلا بذلك نظاما متكاملا لإنشاءها. في هذا الدليل سوف نشرح كيف يتوافق النظام الشبكي مع التقنيات الأخرى التي كنت قد استعملتها سابقا.</p>
+
+<h2 dir="rtl" id="نظام_الشبكة_ونظام_الأجزاء_المرنة">نظام الشبكة ونظام الأجزاء المرنة</h2>
+
+<p dir="rtl">إن الفرق الأساسي بين نظام التنسيق الشبكي و<a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout">نظام نتسيق الأجزاء المرنة</a> يثمثل في كون أن نظام نتسيق الأجزاء المرنة قد صمم للتنسيق على بعد واحد -أي أفقيا أو عموديا. بينما صمم نظام التنسيق الشبكي لإنشاء تنسيقات على بعدين -إي أفقيا وعموديا في نفس الوقت. إن نصوص المواصفات المعيارية لكلا النظامين يلتقيان في العديد من المميزات، لذلك فإن كنت قد تعلمت استعمال نظام الأجزاء المرنة، فإن هذا التشابه المتواجد بينهما سيمكنك من ضبط استعمال نظام الشبكة.</p>
+
+<h3 dir="rtl" id="النسق_ذو_بعد_واحد_مقارنة_مع_النسق_ذو_بعدين">النسق ذو بعد واحد مقارنة مع النسق ذو بعدين</h3>
+
+<p dir="rtl">سنستعمل مثالا بسيطا لإظاهر الإختلاف المتواجد بين النسق ذو بعد واحد والنسق ذو بعدين.</p>
+
+<p dir="rtl">في هذا المثال الأول، سنستعمل نسق الأجزاء المرنة لتنسيق مجموعة من المربعات. حيث أتوفر على حاوية تضم خمسة أبناء من العناصر، وقد أعطيت خاصيات وقيم flex بيحث ستتمكن هذه العناصر من التمدد والتقلص انطلاقا من 200 بيكسل.</p>
+
+<p dir="rtl">وقمنا كذلك بإعطاء القيمة <code>wrap</code> للخاصية  {{cssxref("flex-wrap")}}،  مما ينتج عنه انتقال العناصر إلى سطر جديد في حالة إن كانت مساحة الحاوية غير كافية لضمان قيمة المرونة الأساسية.</p>
+
+<div dir="rtl" id="onedtwod">
+<div class="hidden">
+<pre class="brush: css" dir="rtl">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html">&lt;div class="wrapper"&gt;
+ &lt;div&gt;One&lt;/div&gt;
+ &lt;div&gt;Two&lt;/div&gt;
+ &lt;div&gt;Three&lt;/div&gt;
+ &lt;div&gt;Four&lt;/div&gt;
+ &lt;div&gt;Five&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">.wrapper {
+ display: flex;
+ flex-wrap: wrap;
+}
+.wrapper &gt; div {
+ flex: 1 1 200px;
+}
+</pre>
+</div>
+
+<p dir="rtl">{{ EmbedLiveSample('onedtwod', '500', '230') }}</p>
+
+<p dir="rtl">في هذه الصورة، يمكننا ملاحظة انتقال (قفز) عنصرين إلى سطر جديد. حيث يتقاسمان نفس المساحة المتوفرة وأنهما غير منتظمين في نفس العمود مع العناصر المتواجدة بالإعلى. و يرجع ذلك إلى كون الأسطر ( أو الأعمدة في حالة استعمال الأعمدة) الجديدة المكونة من انتقال عناصر مرنة جديدة تصبح حاويات (أوعية) مرنة كذلك. ويحدث هذا التوزيع على طول السطر.</p>
+
+<p dir="rtl">وسؤال المطروح هو كيف يمكننا تنظيم هاته العناصر في نفس العمود. وهنا تأتي الحاجة إلى طريقة للتنسيق العناصر على بعدين: تريد ضبط توزيع العناصر من خلال أسطر وأعمدة، وهنا يبدأ دور التنسيق الشبكي.</p>
+
+<h3 dir="rtl" id="نفس_التنسيق_باستعمال_نظام_الشبكات">نفس التنسيق باستعمال نظام الشبكات</h3>
+
+<p dir="rtl">في المثال الموالي، قمنا بانشاء نفس النسق باستعمال نظام الشبكة. حيث نتوفر حاليا على ثلاثة مسارات عمودية قياسها <code>1fr</code>. مع العلم أننا لسنا بحاجة إلى إضافة أية خاصية على مستوى العناصر نفسها، حيث ستتوزع  هاته العناصر بشكل تلاقئ وسيتموضع كل عنصر داخل خلية من الشبكة التي أنشأنها. ويمكننا ملاحظة أن هاته العناصر موزعة (متراصة) في أسطر وأعمدة، بالإضافة إلى تواجد فجوة في نهاية السطر الثاني عند استعمالنا لخسمة عناصر.</p>
+
+<div class="Two_Dimensional_With_Grid" dir="rtl">
+<div class="hidden">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html">&lt;div class="wrapper"&gt;
+ &lt;div&gt;One&lt;/div&gt;
+ &lt;div&gt;Two&lt;/div&gt;
+ &lt;div&gt;Three&lt;/div&gt;
+ &lt;div&gt;Four&lt;/div&gt;
+ &lt;div&gt;Five&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+}
+</pre>
+
+<p>{{ EmbedLiveSample('Two_Dimensional_With_Grid', '300', '170') }}</p>
+</div>
+
+<p dir="rtl">من بين الأسئلة البسيطة التي يتوجب على كل مصمم طرحها عند محاولة الاختيار بين نظام الأجزاء المرنة و نظام الشبكة هي:</p>
+
+<ul dir="rtl">
+ <li>هل أريد فقط التحكم في التنسيق في اتجاه واحد، إما على مستوى سطر أو عمود ( أفقيا أو عموديا فقط) - لدى استعمل نظام الأجزاء المرنة.</li>
+ <li>هل أريد أن أتحكم في التنسيق في الإتجاهين معا، أي على مستوى سطر وعمود ( أفقيا وعموديا معا) - لدى استعمل نظام الشبكة.</li>
+</ul>
+
+<h3 dir="rtl" id="المحتوى_الخارجي_أو_النسق_الداخلي؟">المحتوى الخارجي أو النسق الداخلي؟</h3>
+
+<p dir="rtl">توجد طريقة أخرى لتحديد النظام المناسب الذي يجب عليك اختياره عند محاولتك الاختيار بين نظام الأجزاء المرنة و نظام الشبكة، بالإضافة إلى الطريقة التي تعرفنا عليها سابقا والمتمحورة حول الفرق بين العمل على بعد واحد أو بعدين.</p>
+
+<p dir="rtl">نظام الأجزاء المرنة Flexbox يعتمد على المحتوى الخارجي. من بين طرق الاستعمال لهذا النظام وهي عند توفرك على مجموعة من العناصر وتريد توزيعها على مساحة لحاوية بشكل متساوي. حيث أن حجم محتوى كل عنصر هو المحدد الأول للمساحة التي سيحتلها ( أي أن المساحة المحتلة متناسبة مع حجم محتوى العنصر). عند انتقال العناصر إلى سطر جديد فسنتظم نفسها بناء على مقاسها و المساحة المتوفرة في هذا السطر الجديد.</p>
+
+<p dir="rtl">يعتمد نظام الشبكة على التنسيق الداخلي. أي عندما نعمل بنظام الشبكة فإننا نقوم تعريف نسق مسبقا ونحدده ثم نقوم بوضع هذه العناصر داخل هذا النسق (أو الشبكة). ويمكن كذلك استعمال خاصيات التموضع الآلي التي تعمل على توزيع العناصر داخل الشبكة في خلايا محددة باتباع نظام الشبكة المحكمة. يمكن أيضا إنشاء مسارات مرنة تتكيف مع حجم المحتوى، هذه التقينة تجعل من حجم المسار يتغيير بالكامل. ( ملاحظة سيأخد المسار حجم العنصر الذي به محتوى أكبر).</p>
+
+<p dir="rtl">إن كنت تستعمل نظام Flex وشعرت بأنك تفقد شيئا من المرونة التي يفرها فهنالك احتمال كبير على أنك بحاجة لاستعمال نظام Grid. فعلى سبيل المثال إن قمت بتحديد قيمة مئوية لعرض أحد عناصر نظام Flex لكي يأخد نفس قياس العناصر المتواجدة في السطر الأعلى، في هذه الحالة فعليك استعمال نظام Grid. </p>
+
+<h3 dir="rtl" id="المحاذات_بين_الأجزاء">المحاذات بين الأجزاء</h3>
+
+<p dir="rtl">من بين الخاصيات الأكثر إثارة للكثير منا والتي تقدم بها نظام الأجزاء المرنة هي القدرة ولأول مرة على التحكم في توزيع العناصر والمحاذاة فيما بينها وبشكل واضح. حيث جعل من عملية وضع أي جزء في مركز أية صفحة سهلة للغاية. تتمدد العناصر المرنة لتأخد كل الحيز الموجود بالحاوية، مما يعني إمكانية الحصول على أعمدة متساوية الإرتفاع. حيت تعتبر هاته الأشياء المذكورة من الأمور التي كنا دائما نرغب في فعلها منذ وقت طويل، مما جعلنا نقوم بالبحث وخلق العديد من الحيل لإنشاء تأثير بصري على الأقل مشابه لذلك.</p>
+
+<p dir="rtl">لقد تمت إضافة خاصيات المحاذاة المتواجدة في نصوص المواصفات المعيارية لنظام الأجزاء المرنة إلى معيار جديد يسمى <a href="https://drafts.csswg.org/css-align/">المحاذاة بين الأجزاء المستوى 3</a>. مما يعني أنها سوف تستعمل في نصوص المواصفات المعيارية، من ضمنها نظام الشبكة. حيث من الممكن كذلك إدراجها في أنظمة التنسيق الأخرى.</p>
+
+<p dir="rtl">سوف نتطرق وبشكل واضح في دليل مقبل من هاته السلسلة إلى الكيفية التي تعمل بها خاصيات المحاذاة بين الأجزاء في نظام الشبكة. إليك مقارنة بسيطة بين نظام الأجزاء المرنة و نظام الشبكة.</p>
+
+<p dir="rtl">في المثال الأول والذي يستعمل نظام الأجزاء المرنة، نتوفر على حاوية (وعاء) بها ثلاثة عناصر. قمنا بتحديد ارتفاع هاته الحاوية المرنة من خلال إعطاء قيمة للخاصية {{cssxref("min-height")}} للفئة wrapper. ولكي نبدأ ترتيب العناصر داخل هاته الحاوية المرنة انطلاقا من النهاية قمنا بإعطاء القيمة <code>flex-end</code> للخاصية {{cssxref("align-items")}}. نريد كذلك إلغاء خاصية التمدد الإفتراضية للعنصر <code>box1</code> وجعله يتمدد ليحتل كل ارتفاع هاته الحاوية بالإضافة لذلك قمنا بإعطاء القيمة <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">stretch</span></font> للخاصية {{cssxref("align-self")}} بالإضافة قمنا بإعطاء هاته الخاصية القيمة <code>flex-start</code> بالنسية للعنصر <code>box2</code> لكي يقوم بوضع نفسه (يصطف) انطلاقا من نقطة بداية هاته الحاوية المرنة.</p>
+
+<div class="hidden" dir="rtl">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html" dir="rtl">&lt;div class="wrapper"&gt;
+ &lt;div class="box1"&gt;One&lt;/div&gt;
+ &lt;div class="box2"&gt;Two&lt;/div&gt;
+ &lt;div class="box3"&gt;Three&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css" dir="rtl">.wrapper {
+ display: flex;
+ align-items: flex-end;
+ min-height: 200px;
+}
+.box1 {
+ align-self: stretch;
+}
+.box2 {
+ align-self: flex-start;
+}
+</pre>
+
+<p dir="rtl">{{ EmbedLiveSample('Box_alignment', '300', '230') }}</p>
+
+<h3 dir="rtl" id="المحاذاة_في_نظام_الشبكات"> المحاذاة في نظام الشبكات</h3>
+
+<p dir="rtl">في هذا المثال الثاني استعملنا نظام الشبكة لإنشاء نفس التنسيق. حيث سنستعمل خاصيات محاذاة الأجزاء كما ثم تطبيقها في التنسق الشبكي. نقوم بمحاذاة باستعمال <code>start</code> و <code>end</code> عوضا عن <code>flex-start</code>  و<code>flex-end</code>. في حالة التنسيق الشبكي، يتم توزيع العناصر لتستقر في الحيز الشبكي الخاص بها في هاته الشبكة، والمتمثلة في خلية واحدة في هذا المثال، مع إمكانية تكونه من عدد كثير من الخلايا الشبكية.</p>
+
+<div class="hidden" dir="rtl">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html" dir="rtl">&lt;div class="wrapper"&gt;
+ &lt;div class="box1"&gt;One&lt;/div&gt;
+ &lt;div class="box2"&gt;Two&lt;/div&gt;
+ &lt;div class="box3"&gt;Three&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css" dir="rtl">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(3,1fr);
+ align-items: end;
+ grid-auto-rows: 200px;
+}
+.box1 {
+ align-self: stretch;
+}
+.box2 {
+ align-self: start;
+}
+</pre>
+
+<p dir="rtl">{{ EmbedLiveSample('Alignment_in_CSS_Grids', '200', '310') }}</p>
+
+<h3 dir="rtl" id="الوحدة_fr_و_flex-basis">الوحدة <code>fr</code> و <code>flex-basis</code></h3>
+
+<p dir="rtl">لقد قمنا بالتعرف على الكيفية التي تقوم بها الوحدة <code>fr</code> لتحديد نسبة من المساحة المتوفرللمسارات الشبكية لشبكة حاوية. عند المزج بين الوحدة <code>fr</code> و بين الدالة {{cssxref("minmax", "minmax()")}} فإننا نحصل على نتيجة ( سلوك) مشابهة لخاصيات <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">flex</span></font> التي يمنحها نظام تنسيق الأجزاء المرنة مع منحنا إمكاينة إنشاء نسق ذو بعدين.</p>
+
+<p dir="rtl">إن قمنا بالرجوع إلى المثل السابق الذي بينا فيه الفرق بين التنسيق ذو البعد الواحد والتنسيق ذو البعدين، فإننا سنلاحظ الفرق في كفية استجابة بالنسبة لكل منهما. فبالنسبة للتنسيق المرن، وفي حالة تحريك نافذة المتصفح لتوسيع أو تضييق حجمها، فإن نظام الأجزاء المرنة يقوم بعمل جيد في نتظيم عدد العناصر المكونة لكل سطر بناء على المساحة المتوفر. فإن كنا نتوفر على مساحة كبيرة فإن جميع العناصر الخمسة ستجد مكانها في سطر واحد، أما إن كنا نتوفر على حاوية جد صغير فمن الممكن أن نجد أن هاته المساحة تتسع لعنصر واحد فقط.</p>
+
+<p dir="rtl">وبالمقارنة، فإن النسخة المبنية باستعمال النظام الشبكي تتكون دائما من ثلاثة مسارات عمودية. حيث تقوم هاته المسارات بالتمدد والتقلص، وستظهر لنا ثلاث مسارات عمودية دائما، لأننا قمنا بتحديدها منذ البداية عند تعريفنا لهاته الشبكة.</p>
+
+<h4 dir="rtl" id="الملأ_الآلي_لمسارات_الشبكة">الملأ الآلي لمسارات الشبكة</h4>
+
+<p dir="rtl">يمكننا إنشاء تأثير مشابه لنظام الأجزاء المرنة، مع إمكانية المحافظة على تموضع المحتوى بإحكام في أسطر وأعمدة، وذلك باستعمال الدالة repeat و الخاصيتين <code>auto-fill</code> و <code>auto-fit</code> لإنشاء مجموع هاته المسارات.</p>
+
+<p dir="rtl">في المثال التالي، استعملت الخاصية <code>auto-fill</code> عوضا عن القيم الرقيمة داخل الدالة repeat و تحديد قيمة 200 بيكسل لمجموع هاته المسارات. أي أن هاته الشبكة سوف تعمل على إنشاء العدد الكافي من أعمدة المسارات لتتناسب مع حجم الحاوية.</p>
+
+<div class="hidden" dir="rtl">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html" dir="rtl">&lt;div class="wrapper"&gt;
+ &lt;div&gt;One&lt;/div&gt;
+ &lt;div&gt;Two&lt;/div&gt;
+ &lt;div&gt;Three&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css" dir="rtl">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, 200px);
+}
+</pre>
+
+<p dir="rtl">{{ EmbedLiveSample('Auto-filling_grid_tracks', '500', '170') }}</p>
+
+<h3 dir="rtl" id="عدد_المسارات_المرنة">عدد المسارات المرنة</h3>
+
+<p dir="rtl">يختلف الوضع هنا بالنسبة لنظام الأجزاء المرنة. في المثال الخاص بنظام الأجزاء المرنة،  تنتقل العناصر إلى السطر الموالي عندما تتجاوز 200 بيكسل. ويمكننا الوصول إلى نفس النتيجة بنظام الشبكة باستعمال  <code>auto-fill</code> والدالة {{cssxref("minmax", "minmax()")}}. وفي المثال الموالي، قمت بإنشاء مسارات آلية الملأ باستعمال الدالة <code>minmax</code>. أريد من المسارات أن تأخذ عرضا لا يقل عن 200 بيكسل، وحددت الحد الأقصى في <code>1fr</code>. بمجرد أن يقوم المتصفح بحساب عدد المرات المرات الكافية لملأ الحاوية بمسارات ذات قياس 200 بيكسل - مع الأخد بعين الإعتبار قياس الفجوات المتواجدة بين مسارات الشبكة- فإنه يقوم بالتعامل مع المساحة القصوية <code>1fr</code> كوحدة لتوزيعها بين جميع العناصر المتبيقة.</p>
+
+<div class="hidden" dir="rtl">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html" dir="rtl">&lt;div class="wrapper"&gt;
+ &lt;div&gt;One&lt;/div&gt;
+ &lt;div&gt;Two&lt;/div&gt;
+ &lt;div&gt;Three&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css" dir="rtl">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
+}
+</pre>
+
+<p dir="rtl">{{ EmbedLiveSample('A_flexible_number_of_tracks', '500', '170') }}</p>
+
+<p dir="rtl">لقد أصبحنا الآن قادرين على إنشاء شبكة مكونة من عدد مرن من المسارات المرنة كذلك، في ظل إمكانية أن تتوزع هذه العناصر وفي نفس الوقت على مستوى أسطر وأعمدة.</p>
+
+<h2 dir="rtl" id="Grid_and_absolutely_positioned_elements">Grid and absolutely positioned elements</h2>
+
+<p dir="rtl">Grid interacts with absolutely positioned elements, which can be useful if you want to position an item inside a grid or grid area. The specification defines the behavior when a grid container is a containing block and a parent of the absolutely positioned item.</p>
+
+<h3 dir="rtl" id="A_grid_container_as_containing_block">A grid container as containing block</h3>
+
+<p dir="rtl">To make the grid container a containing block you need to add the position property to the container with a value of relative, just as you would make a containing block for any other absolutely positioned items. Once you have done this, if you give a grid item <code>position: absolute</code> it will take as its containing block the grid container or, if the item also has a grid position, the area of the grid it is placed into.</p>
+
+<p dir="rtl">In the below example I have a wrapper containing four child items. Item three is absolutely positioned and also placed on the grid using line-based placement. The grid container has <code>position: relative</code> and so becomes the positioning context of this item.</p>
+
+<div class="hidden" dir="rtl">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html" dir="rtl">&lt;div class="wrapper"&gt;
+ &lt;div class="box1"&gt;One&lt;/div&gt;
+ &lt;div class="box2"&gt;Two&lt;/div&gt;
+ &lt;div class="box3"&gt;
+ This block is absolutely positioned. In this example the grid container is the containing block and so the absolute positioning offset values are calculated in from the outer edges of the area it has been placed into.
+ &lt;/div&gt;
+ &lt;div class="box4"&gt;Four&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css" dir="rtl">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(4,1fr);
+ grid-auto-rows: 200px;
+ grid-gap: 20px;
+ position: relative;
+}
+.box3 {
+ grid-column-start: 2;
+ grid-column-end: 4;
+ grid-row-start: 1;
+ grid-row-end: 3;
+ position: absolute;
+ top: 40px;
+ left: 40px;
+}
+</pre>
+
+<p dir="rtl">{{ EmbedLiveSample('A_grid_container_as_containing_block', '500', '330') }}</p>
+
+<p dir="rtl">You can see that the item is taking the area from grid row line 2 to 4, and starting after line 1. Then it is offset in that area using the top and left properties. However, it has been taken out of flow as is usually for absolutely positioned items and so the auto-placement rules now place items into the same space. The item also doesn’t cause the additional row to be created to span to row line 3.</p>
+
+<p dir="rtl">If we remove <code>position:</code> <code>absolute</code> from the rules for <code>.box3</code> you can see how it would display without the positioning.</p>
+
+<h3 dir="rtl" id="A_grid_container_as_parent">A grid container as parent</h3>
+
+<p dir="rtl">If the absolutely positioned child has a grid container as a parent but that container does not create a new positioning context, then it is taken out of flow as in the previous example. The positioning context will be whatever element creates a positioning context as is common to other layout methods. In our case, if we remove <code>position:</code> <code>relative</code> from the wrapper above, positioning context is from the viewport, as shown in this image.</p>
+
+<p dir="rtl"><img alt="Image of grid container as parent" src="https://mdn.mozillademos.org/files/14661/2_abspos_example.png" style="height: 408px; width: 1702px;"></p>
+
+<p dir="rtl">Once again the item no longer participates in the grid layout in terms of sizing or when other items are auto-placed.</p>
+
+<h3 dir="rtl" id="With_a_grid_area_as_the_parent">With a grid area as the parent</h3>
+
+<p dir="rtl">If the absolutely positioned item is nested inside a grid area then you can create a positioning context on that area. In the below example we have our grid as before but this time I have nested an item inside <code>.box3</code> of the grid.</p>
+
+<p dir="rtl">I have given <code>.box3</code> position relative and then positioned the sub-item with the offset properties. In this case, the positioning context is the grid area.</p>
+
+<div class="hidden" dir="rtl">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.wrapper &gt; div {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+</pre>
+</div>
+
+<pre class="brush: html" dir="rtl">&lt;div class="wrapper"&gt;
+ &lt;div class="box1"&gt;One&lt;/div&gt;
+ &lt;div class="box2"&gt;Two&lt;/div&gt;
+ &lt;div class="box3"&gt;Three
+ &lt;div class="abspos"&gt;
+ This block is absolutely positioned. In this example the grid area is the containing block and so the absolute positioning offset values are calculated in from the outer edges of the grid area.
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;div class="box4"&gt;Four&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css" dir="rtl">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(4,1fr);
+ grid-auto-rows: 200px;
+ grid-gap: 20px;
+}
+.box3 {
+ grid-column-start: 2;
+ grid-column-end: 4;
+ grid-row-start: 1;
+ grid-row-end: 3;
+ position: relative;
+}
+.abspos {
+ position: absolute;
+ top: 40px;
+ left: 40px;
+ background-color: rgba(255,255,255,.5);
+ border: 1px solid rgba(0,0,0,0.5);
+ color: #000;
+ padding: 10px;
+}
+</pre>
+
+<p dir="rtl">{{ EmbedLiveSample('With_a_grid_area_as_the_parent', '500', '420') }}</p>
+
+<h2 dir="rtl" id="Grid_and_display_contents">Grid and <code>display: contents</code></h2>
+
+<p dir="rtl">A final interaction with another layout specification that is worth noting is the interaction between CSS Grid Layout and <code>display: contents</code>. The <code>contents</code> value of the display property is a new value that is described in the <a href="https://drafts.csswg.org/css-display/#box-generation">Display specification</a> as follows:</p>
+
+<blockquote>
+<p>“The element itself does not generate any boxes, but its children and pseudo-elements still generate boxes as normal. For the purposes of box generation and layout, the element must be treated as if it had been replaced with its children and pseudo-elements in the document tree.”</p>
+</blockquote>
+
+<p dir="rtl">If you set an item to <code>display:</code> <code>contents</code> the box it would normally create disappears, and the boxes of the child elements appear as if they have risen up a level. This means that children of a grid item can become grid items. Sound odd? Here is a simple example. In the following markup, I have a grid and the first item on the grid is set to span all three column tracks. It contains three nested items. As these items are not direct children, they don’t become part of the grid layout and so display using regular block layout.</p>
+
+<div dir="rtl" id="Display_Contents_Before">
+<div class="hidden">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.box {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+.nested {
+ border: 2px solid #ffec99;
+ border-radius: 5px;
+ background-color: #fff9db;
+ padding: 1em;
+}
+</pre>
+</div>
+
+<pre class="brush: html">&lt;div class="wrapper"&gt;
+ &lt;div class="box box1"&gt;
+ &lt;div class="nested"&gt;a&lt;/div&gt;
+ &lt;div class="nested"&gt;b&lt;/div&gt;
+ &lt;div class="nested"&gt;c&lt;/div&gt;
+ &lt;/div&gt;
+ &lt;div class="box box2"&gt;Two&lt;/div&gt;
+ &lt;div class="box box3"&gt;Three&lt;/div&gt;
+ &lt;div class="box box4"&gt;Four&lt;/div&gt;
+ &lt;div class="box box5"&gt;Five&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-auto-rows: minmax(100px, auto);
+}
+.box1 {
+ grid-column-start: 1;
+ grid-column-end: 4;
+}
+
+</pre>
+
+<p>{{ EmbedLiveSample('Display_Contents_Before', '400', '420') }}</p>
+</div>
+
+<p dir="rtl">If I now add <code>display:</code> <code>contents</code> to the rules for <code>box1</code>, the box for that item vanishes and the sub-items now become grid items and lay themselves out using the auto-placement rules.</p>
+
+<div dir="rtl" id="Display_Contents_After">
+<div class="hidden">
+<pre class="brush: css">* {box-sizing: border-box;}
+
+.wrapper {
+ border: 2px solid #f76707;
+ border-radius: 5px;
+ background-color: #fff4e6;
+}
+
+.box {
+ border: 2px solid #ffa94d;
+ border-radius: 5px;
+ background-color: #ffd8a8;
+ padding: 1em;
+ color: #d9480f;
+}
+.nested {
+ border: 2px solid #ffec99;
+ border-radius: 5px;
+ background-color: #fff9db;
+ padding: 1em;
+}
+</pre>
+</div>
+
+<pre class="brush: html">&lt;div class="wrapper"&gt;
+ &lt;div class="box box1"&gt;
+ &lt;div class="nested"&gt;a&lt;/div&gt;
+ &lt;div class="nested"&gt;b&lt;/div&gt;
+ &lt;div class="nested"&gt;c&lt;/div&gt;
+ &lt;/div&gt;
+ &lt;div class="box box2"&gt;Two&lt;/div&gt;
+ &lt;div class="box box3"&gt;Three&lt;/div&gt;
+ &lt;div class="box box4"&gt;Four&lt;/div&gt;
+ &lt;div class="box box5"&gt;Five&lt;/div&gt;
+&lt;/div&gt;
+</pre>
+
+<pre class="brush: css">.wrapper {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-auto-rows: minmax(100px, auto);
+}
+.box1 {
+ grid-column-start: 1;
+ grid-column-end: 4;
+ display: contents;
+}
+</pre>
+
+<p>{{ EmbedLiveSample('Display_Contents_After', '400', '330') }}</p>
+</div>
+
+<p dir="rtl">This can be a way to get items nested into the grid to act as if they are part of the grid, and is a way around some of the issues that would be solved by subgrids once they are implemented. You can also use <code>display:</code> <code>contents</code> in a similar way with flexbox to enable nested items to become flex items.</p>
+
+<p dir="rtl">As you can see from this guide, CSS Grid Layout is just one part of your toolkit. Don’t be afraid to mix it with other methods of doing layout, to get the different effects you need.</p>
+
+<section class="Quick_links" id="Quick_Links">
+<ol>
+ <li dir="rtl"><a href="/en-US/docs/Web/CSS"><strong>CSS</strong></a></li>
+ <li dir="rtl"><a href="/en-US/docs/Web/CSS/Reference"><strong>CSS Reference</strong></a></li>
+ <li dir="rtl"><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout</a></li>
+ <li data-default-state="open" dir="rtl"><a href="#"><strong>Guides</strong></a>
+ <ol dir="rtl">
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout">Basics concepts of grid layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout">Relationship to other layout methods</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">Line-based placement</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Grid_Template_Areas">Grid template areas</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines">Layout using named grid lines</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout">Auto-placement in grid layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout">Box alignment in grid layout</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid,_Logical_Values_and_Writing_Modes">Grids, logical values, and writing modes</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility">CSS Grid Layout and Accessibility</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement">CSS Grid Layout and Progressive Enhancement</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_Layout">Realizing common layouts using grids</a></li>
+ </ol>
+ </li>
+ <li data-default-state="open" dir="rtl"><a href="#"><strong>Properties</strong></a>
+ <ol dir="rtl">
+ <li><a href="/en-US/docs/Web/CSS/grid">grid</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-area">grid-area</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-auto-columns">grid-auto-columns</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-auto-flow">grid-auto-flow</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-auto-rows">grid-auto-rows</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column">grid-column</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column-end">grid-column-end</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column-gap">grid-column-gap</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-column-start">grid-column-start</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-gap">grid-gap</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row">grid-row</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row-end">grid-row-end</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row-gap">grid-row-gap</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-row-start">grid-row-start</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template">grid-template</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template-areas">grid-template-areas</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template-columns">grid-template-columns</a></li>
+ <li><a href="/en-US/docs/Web/CSS/grid-template-rows">grid-template-rows</a></li>
+ </ol>
+ </li>
+ <li data-default-state="open" dir="rtl"><a href="#"><strong>Glossary</strong></a>
+ <ol>
+ <li><a href="/en-US/docs/Glossary/Grid">Grid</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_lines">Grid lines</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_tracks">Grid tracks</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_cell">Grid cell</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_areas">Grid areas</a></li>
+ <li><a href="/en-US/docs/Glossary/Gutters">Gutters</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_Axis">Grid Axis</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_rows">Grid row</a></li>
+ <li><a href="/en-US/docs/Glossary/Grid_column">Grid column</a></li>
+ </ol>
+ </li>
+</ol>
+</section>
diff --git a/files/ar/web/css/css_writing_modes/index.html b/files/ar/web/css/css_writing_modes/index.html
new file mode 100644
index 0000000000..7bfa9822b4
--- /dev/null
+++ b/files/ar/web/css/css_writing_modes/index.html
@@ -0,0 +1,106 @@
+---
+title: CSS Writing Modes
+slug: Web/CSS/CSS_Writing_Modes
+translation_of: Web/CSS/CSS_Writing_Modes
+---
+<div>{{CSSRef}}</div>
+
+<p dir="rtl">نمط الكتابة بالـ CSS هو ميزة تحدد طرق كتابة عالمية متعددة، مثل من اليسار الى اليمين (مثال: اللغات المعتمدة على السركبتات اللاتينية و الهندية)، من اليمين الى اليسار (مثال: اللغة العربية و العبرية)، متعددة الاتجاه ( تستخدم عند المزج بين اللغات التي تستخدم الاتجاه من اليمين الي اليسار و من اليسار الى اليمين معاً) و اللغات التي تاخد اتجاه افقي (مثل بعض اللغات الاسيوية).</p>
+
+<h2 id="Reference">Reference</h2>
+
+<h3 id="Properties">Properties</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("direction")}}</li>
+ <li>{{cssxref("glyph-orientation-horizontal")}}</li>
+ <li>{{cssxref("text-combine-upright")}}</li>
+ <li>{{cssxref("text-orientation")}}</li>
+ <li>{{cssxref("unicode-bidi")}}</li>
+ <li>{{cssxref("writing-mode")}}</li>
+</ul>
+</div>
+
+<h2 id="Guides">Guides</h2>
+
+<p><em>None.</em></p>
+
+<h2 id="Specifications">Specifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('CSS3 Writing Modes')}}</td>
+ <td>{{Spec2('CSS3 Writing Modes')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('CSS2.1', 'text.html')}}</td>
+ <td>{{Spec2('CSS2.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('CSS1')}}</td>
+ <td>{{Spec2('CSS1')}}</td>
+ <td>Initial definition</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility">Browser compatibility</h2>
+
+<p>{{CompatibilityTable}}</p>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>1.0</td>
+ <td>{{CompatGeckoDesktop(1.0)}}</td>
+ <td>3</td>
+ <td>3.5</td>
+ <td>1.0 (85)</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>1.0 (85)</td>
+ </tr>
+ </tbody>
+</table>
+</div>
diff --git a/files/ar/web/css/index.html b/files/ar/web/css/index.html
new file mode 100644
index 0000000000..34e33dcf4f
--- /dev/null
+++ b/files/ar/web/css/index.html
@@ -0,0 +1,91 @@
+---
+title: صفحات الأنماط الانسيابية
+slug: Web/CSS
+tags:
+ - CSS
+ - صفحات الأنماط الانسيابية
+ - صفحة هبوط
+ - مرجع
+translation_of: Web/CSS
+---
+<p class="summary" dir="rtl"><span class="seoSummary"><strong>صفحات الأنماط الانسيابية</strong> <strong>(CSS)</strong> هي لغة <a href="/ar/docs/DOM/stylesheet">أنماط</a> تستخدم لوصف طريقة عرض الوثيقة المكتوبة <a href="/ar/docs/HTML">بلغة ترميز النص الفائق</a></span> أو <a href="/ar/docs/XML">بلغة الترميز القابلة للإمتداد </a> (بالإضافة إلى نكهاتها). تصف هذه التقنيّة كيف يجب على العناصر أن تظهر على الشاشة، الورقة، الكلام، أو على الوسائط الأخرى.</p>
+
+<p dir="rtl">صفحات الأنماط الانسيابية هي أحد اللغات الأساسيّة <em>للويب المفتوح</em>،<em> </em>وهي لغة قياسيّة في جميع المتصفحات بناءً على <a href="http://w3.org/Style/CSS/#specs">معايير W3C</a>. طوِّرت هذه اللغة في عدة إصدارا، الأول الآن مهجور، الثاني (2.1) موصى به، و <a href="/ar/docs/CSS/CSS3" title="CSS3">الثالث</a>، هو الآن منقسم إلى عدة وحدات، وهذا الإصدار على طريقه لصبح قياسياً في جميع المتصفحات.</p>
+
+<section id="sect1">
+<ul class="card-grid">
+ <li dir="rtl"><span>مقدمة عن صفحات الأنماط الانسيابية</span>
+
+ <p dir="rtl">إن كنت جديداً على تطوير الويب، فاحرص أن تقرأ مقالة <a href="/ar/docs/Learn/Getting_started_with_the_web/CSS_basics">أساسيات اللغة</a> لتتعرف على ماهيَّة هذه اللغة وكيف يمكنك استخدامها.</p>
+ </li>
+ <li dir="rtl"><span>دورات عن صفحات الأنماط الانسيابية</span>
+ <p>يحتوي <a href="/ar/docs/Learn/CSS">قسم تعلم هذه اللغة</a> على ثروة من الدورات التي تأخذك من الصفر إلى الإحتراف، مغطيةً جميع الأساسيات.</p>
+ </li>
+ <li><span>مرجع صفحات الأنماط الانسيابية</span>
+ <p>يصف <a href="/ar/docs/Web/CSS/Reference">مرجع اللغة الشامل</a> لمطورين الويب المخضرمين كل خاصيّة ومفهوم في هذه اللغة.</p>
+ </li>
+</ul>
+
+<div class="row topicpage-table">
+<div class="section">
+<h2 class="Documentation" dir="rtl" id="دورات">دورات</h2>
+
+<p dir="rtl">يمتاز <a href="/ar/docs/Learn/CSS">قسم تعلم صفحات الأنماط الانسيابية</a> بوحدات متعددة تُدرِس هذه التقنيّة من الألف إلى الياء، ولا يتطلب معرفة مسبقة.</p>
+
+<dl>
+ <dt dir="rtl"><a href="/ar/docs/Learn/CSS/Introduction_to_CSS">مقدمة في صفحات الأنماط الانسيابية</a></dt>
+ <dd dir="rtl">تبدأ هذه الوحدة معك بأساسيات عمل هذه التقنيّة، متضمنةً معلومات عن المحددات (selectors) الخواص (properties)، كتابة التعليمات، تطبيق التنسيقات المجراة على صفحة لغة ترميز النص الفائق، كيفيّة تحديد الطول واللون وأمور أخرى، التتالي (cascade)، الوراثة (inheritance)، أساسيات نموذج الصندوق (box model)، والتنقيح (debugging).</dd>
+ <dt dir="rtl"><a href="/ar/docs/Learn/CSS/Styling_text">تنسيق النصوص</a></dt>
+ <dd dir="rtl">تحتوي هذه المقالة على شرح لأساسيات تنسيق النصوص. تتضمن المقالة أيضاً إعداد الخطوط الغامقة والمائلة، المسافات بين الحروف والسطور، الظلال، وغيرها من خواص النصوص. ننهي المقالة بشرح كيفيّة إضافة خطوط مخصصة لصفحتك، وتنسيق القوائم والروابط.</dd>
+ <dt dir="rtl"><a href="/ar/docs/Learn/CSS/Styling_boxes">صناديق التصميم</a></dt>
+ <dd dir="rtl">سنأخذ في هذه الوحدة نظرة على صناديق التصميم (styling boxes)، والتي تعد واحدة من الخطوات الأساسيّة نحو تنظيم صفحة الويب. في هذه المقالة سنلخص نموذج الصندوق (box model)، وبعدها سنأخذ نظرة حول التحكم بنماذج الصندوق عن طريق إعداد الحشو (margin)، الحواف (border) الهوامش (padding)، وإعداد لون خلفية مخصصة، والصور وغيرها من الميزات. كما تشرح المقالة ميزات زخرفيّة، مثل استخدام الظلال (shadows) والمرشحات (filters) على الصناديق.</dd>
+ <dt dir="rtl"><a href="/ar/docs/Learn/CSS/CSS_layout">النماذج</a></dt>
+ <dd dir="rtl">في هذه المرحلة سنكون قد أخذنا نظرة حول أساسيات صفحات الأنماط الانسيابية، بدءً من كيفيّة تنسيق النصوص، إلى تنسيق والتلاعب بالصناديق التي يوجد بها محتواك. الآن حان الوقت لأخذ نظرة حول كيفيّة وضع صناديقك في المكان المناسب. قد غطينا في هذه المقالة المتطلبات الضروريّة اللازمة حتّى تتمكن من الغوص في عالم النمذجة (layout)، وتتمكن من تعلم إعدادات العرض المختلفة، وطرق النمذجة التقليديّة والتي تنطوي على التعويم (float)، التعيين (positioning)، وأدوات التخطيط الجديدة مثل الصندوق المرن (flexbox).</dd>
+</dl>
+</div>
+
+<div class="section">
+<h2 class="Tools" dir="rtl" id="مراجع">مراجع</h2>
+
+<ul dir="rtl">
+ <li><a href="/ar/docs/Web/CSS/Reference">مرجع صفحات الأنماط الانسيابية</a>: مرجع شامل لمطورين الويب المخضرمين. يشرح هذا المرجع كل خاصيّة ومفهوم تحتويه هذه اللغة.</li>
+ <li>المفاهيم الأساسية في اللغة:
+ <ul dir="rtl">
+ <li><a href="/ar/docs/CSS/Syntax">البنيّة والصيغ الكتابيّة للغة</a>.</li>
+ <li><a href="/ar/docs/CSS/Specificity">اﻷولويّة</a> (Specificity) و<a href="/ar/docs/CSS/inheritance">الوراثة</a>.</li>
+ <li><a href="/ar/docs/CSS/box_model">نموذج الصندوق</a> و<a href="/ar/docs/CSS/margin_collapsing">تداخل الهوامش</a> (margin collapse).</li>
+ <li><a href="/ar/docs/Web/CSS/All_About_The_Containing_Block">الكتلة الحاويّة</a> (Containing Block).</li>
+ <li><a href="/ar/docs/CSS/Understanding_z-index/The_stacking_context">التكديس</a> (Stacking) و<a href="/ar/docs/CSS/block_formatting_context">تنسيق كتلة السياقات</a> (block-formatting context).</li>
+ <li>القيم <a href="/ar/docs/CSS/initial_value">المبدئية</a> (intial)، <a href="/ar/docs/CSS/computed_value">المحسوبة</a> (computed)، <a href="/ar/docs/CSS/used_value">المُستخدمة</a> (used)، <a href="/ar/docs/CSS/actual_value">الفعليّة</a> (actual).</li>
+ <li><a href="/ar/docs/CSS/Shorthand_properties">الخصائص المُختزلة</a> (shorthand properties).</li>
+ <li><a href="/ar/docs/Web/CSS/CSS_Flexible_Box_Layout">خاصيّة الصندوق المرن</a> (flexbox).</li>
+ <li><a href="/ar/docs/Web/CSS/CSS_Grid_Layout">شبكة التخطيط</a> (grid layout).</li>
+ </ul>
+ </li>
+</ul>
+
+<h2 class="Tools" dir="rtl" id="أدوات_تطوير">أدوات تطوير</h2>
+
+<ul dir="rtl">
+ <li>يمكنك استخدام <a href="https://jigsaw.w3.org/css-validator/">خدمة التحقق من W3C</a> للتحقق مما إذا كانت شيفرتك سليمة (قياسيّة وخالية من الأخطاء). تعد هذه الأداة مهمة في عمليّة التنقيح.</li>
+ <li>تتيح لك مجموعة <a href="/ar/docs/Tools">أداة موزيلا للمطورين</a> بالعرض والتعديل الحي لشيفرة صفحات الأنماط الانسيابية باستخدام <a href="/ar/docs/Tools/Page_Inspector">الفاحص</a> (Inspector) و<a href="/ar/docs/Tools/Style_Editor">محرر الأنماط/التصميم</a> (Style Editor).</li>
+ <li>تتيح لك <a href="https://addons.mozilla.org/en-US/firefox/addon/60">إضافات مطورين الويب</a> القيام بالتتبع والتعديل الحي لشيفرتك.</li>
+ <li>قام مجتمع الويب بصنع <a href="/ar/docs/Web/CSS/Tools">أدوات متنوعة</a> أخرى لتتمكن من استخدامها.</li>
+</ul>
+
+<h2 dir="rtl" id="علل">علل</h2>
+
+<ul>
+ <li>: {{bug(1323667)}}</li>
+</ul>
+</div>
+</div>
+</section>
+
+<h2 dir="rtl" id="انظر_أيضاً">انظر أيضاً</h2>
+
+<ul dir="rtl">
+ <li><a href="/ar/docs/Web/Demos_of_open_web_technologies#CSS">أمثلة عن اللغة</a>: احصل على دفعة إبداعيّة من خلال استكشاف أمثلة لآخر تقنيات اللغة.</li>
+ <li>اللغات التي غالباً ما تستخدم مع هذه التقنيّة: <a href="/ar/docs/HTML">لغة ترميز النص الفائق</a>، <a href="/ar/docs/SVG">لغة الرسوميات المتجهيّة المتغيرة</a>، <a href="/ar/docs/XHTML">لغة ترميز النص الفائق القابلة للامتداد</a>، <a href="/ar/docs/XML">لغة الترميز القابلة للامتداد</a>.</li>
+ <li>تقنيات موزيلا التي تجعل استخدام اللغة واسع النطاق: <a href="/ar/docs/Mozilla/Tech/XUL">لغة واجهة المستخدم للغة الترميز القابلة للإمتداد</a> (XUL)، <a href="/ar/Firefox">فايرفوكس</a>، <a href="/ar/docs/Mozilla/Thunderbird">ثندربرد</a>، <a href="/ar/Add-ons">الإضافات</a>، و<a href="/ar/Add-ons/Themes">السمات</a>.</li>
+</ul>
diff --git a/files/ar/web/css/order/index.html b/files/ar/web/css/order/index.html
new file mode 100644
index 0000000000..918eb9016a
--- /dev/null
+++ b/files/ar/web/css/order/index.html
@@ -0,0 +1,108 @@
+---
+title: order
+slug: Web/CSS/order
+translation_of: Web/CSS/order
+---
+<div dir="rtl">{{CSSRef}}</div>
+
+<p dir="rtl"><strong><code>order</code></strong> عبارة عن خاصية <a href="/en-US/docs/Web/CSS">CSS</a> تضع الترتيب كقالب مرن او شبكة. العناصر في القالب تخزن بشكل تصاعدي القيمة و من ثم حسب ترتيب الكود المصدري.</p>
+
+<div>{{EmbedInteractiveExample("pages/css/order.html")}}</div>
+
+
+
+<h2 dir="rtl" id="النحو">النحو</h2>
+
+<pre class="brush:css no-line-numbers">/* &lt;integer&gt; values */
+order: 5;
+order: -5;
+
+/* Global values */
+order: inherit;
+order: initial;
+order: unset;</pre>
+
+<div class="note">
+<p><strong>Note</strong>: <code>order</code> is only meant to affect the <em>visual order</em> of elements and not their logical or tab order. <code>order</code> must not be used on non-visual media such as <a href="/en-US/docs/Web/CSS/@media#speech">speech</a>.</p>
+</div>
+
+<h3 dir="rtl" id="القيم">القيم</h3>
+
+<dl>
+ <dt dir="rtl">{{cssxref("&lt;integer&gt;")}}</dt>
+ <dd dir="rtl">تمثل المجموعة المرتبة ليستخدمه العنصر</dd>
+</dl>
+
+<h3 dir="rtl" id="الصيغة_النحوية">الصيغة النحوية</h3>
+
+<pre class="syntaxbox" dir="rtl">{{csssyntax}}</pre>
+
+<h2 dir="rtl" id="مثال">مثال</h2>
+
+<p dir="rtl">هنا مثال اساسي ل html chunk:</p>
+
+<pre class="brush:html;" dir="rtl">&lt;header&gt;...&lt;/header&gt;
+&lt;main&gt;
+ &lt;article&gt;Article&lt;/article&gt;
+ &lt;nav&gt;Nav&lt;/nav&gt;
+ &lt;aside&gt;Aside&lt;/aside&gt;
+&lt;/main&gt;
+&lt;footer&gt;...&lt;/footer&gt;
+</pre>
+
+<p dir="rtl">كود الcss التالي ينشأ زوجي sidebar كلاسيكي  الشكل  محيط بمحتوى الblock.نموذج تصميم الصندوق المرن يشكل blocks متساوي الحجم بشكل عمودي و يستخدم مساحة افقية حسب الامكانية.</p>
+
+<pre class="brush:css;">main { display: flex; text-align:center; }
+main &gt; article { flex:1; order: 2; }
+main &gt; nav { width: 200px; order: 1; }
+main &gt; aside { width: 200px; order: 3; }</pre>
+
+<h3 dir="rtl" id="النتيجة">النتيجة</h3>
+
+<p>{{ EmbedLiveSample('Example') }}</p>
+
+<h2 dir="rtl" id="هواجز_الوصول">هواجز الوصول</h2>
+
+<p dir="rtl">استخدام خاصية ال<code>order</code> سينشأ فصل اتصال بين العرض المرئي للمحتوى  و ترتيب ال DOM. هذا سيؤثر عكسيا على تجربة المستخدمين ذي الرؤية المنخفضة للتصفح مع مساعدة التقنيات المساعدة مثل قارئ الشاشة. اذا كان ترتيب ال(CSS) المرئي مهم, اذاً لن يكون لمستخدمي قارئ الشاشة وصصول لقراءة الترتيب الصحيح.</p>
+
+<ul>
+ <li><a href="https://tink.uk/flexbox-the-keyboard-navigation-disconnect/">Flexbox &amp; the keyboard navigation disconnect — Tink</a></li>
+ <li><a href="http://adrianroselli.com/2015/09/source-order-matters.html">Source Order Matters | Adrian Roselli</a></li>
+ <li><a href="/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable#Guideline_1.3_%E2%80%94_Create_content_that_can_be_presented_in_different_ways">MDN Understanding WCAG, Guideline 1.3 explanations</a></li>
+ <li><a href="https://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-sequence.html">Understanding Success Criterion 1.3.2 | W3C Understanding WCAG 2.0</a></li>
+</ul>
+
+<h2 dir="rtl" id="مواصفات">مواصفات</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">المواصفة</th>
+ <th scope="col">الحالة</th>
+ <th scope="col">التعليق</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('CSS3 Flexbox', '#order-property', 'order')}}</td>
+ <td>{{Spec2('CSS3 Flexbox')}}</td>
+ <td>Initial definition</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>{{cssinfo}}</p>
+
+<h2 dir="rtl" id="ملائمة_المتصفح">ملائمة المتصفح</h2>
+
+
+
+<p>{{Compat("css.properties.order")}}</p>
+
+<h2 dir="rtl" id="انظر_ايضا">انظر ايضا</h2>
+
+<ul>
+ <li>CSS Flexbox Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox">Basic Concepts of Flexbox</a></em></li>
+ <li>CSS Flexbox Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Ordering_Flex_Items">Ordering flex items</a></em></li>
+ <li>CSS Grid Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility">CSS Grid Layout and accessibility</a></em></li>
+</ul>
diff --git a/files/ar/web/css/pointer-events/index.html b/files/ar/web/css/pointer-events/index.html
new file mode 100644
index 0000000000..7974b501d6
--- /dev/null
+++ b/files/ar/web/css/pointer-events/index.html
@@ -0,0 +1,148 @@
+---
+title: pointer-events
+slug: Web/CSS/pointer-events
+translation_of: Web/CSS/pointer-events
+---
+<div><font><font>{{CSSRef}}</font></font></div>
+
+<p><font><font>و </font><a href="/en-US/docs/Web/CSS"><font>CSS</font></a><font> مجموعات الممتلكات تحت أي ظرف من الظروف (إن وجدت) لعنصر رسومي معين يمكن أن تصبح </font><a href="/en-US/docs/Web/API/Event/target"><font>الهدف</font></a><font> من الأحداث المؤشر.</font></font><strong> <code>pointer-events</code></strong></p>
+
+<div>{{EmbedInteractiveExample("pages/css/pointer-events.html")}}</div>
+
+
+<p class="hidden"><font><font>يتم تخزين مصدر هذا المثال التفاعلي في مستودع GitHub. </font><font>إذا كنت ترغب في المساهمة في مشروع الأمثلة التفاعلية ، فيرجى استنساخ </font></font><a href="https://github.com/mdn/interactive-examples"><font><font>https://github.com/mdn/interactive-exexs</font></font></a><font><font> وإرسال طلب سحب إلينا.</font></font></p>
+
+<p><font><font>عندما تكون هذه الخاصية غير محددة ، </font></font><code>visiblePainted</code><font><font>تنطبق </font><font>نفس خصائص </font><font>القيمة على محتوى SVG.</font></font></p>
+
+<p><font><font>بالإضافة إلى الإشارة إلى أن العنصر ليس هدفًا لأحداث المؤشر ، </font></font><code>none</code><font><font>ترشد </font><font>القيمة </font><font>حدث المؤشر إلى "استعراض" العنصر والهدف مهما كان "أسفل" هذا العنصر بدلاً من ذلك.</font></font></p>
+
+<h2 id="بناء_الجملة"><font><font>بناء الجملة</font></font></h2>
+
+<pre class="brush: css no-line-numbers"><font><font>/ * قيم الكلمات الرئيسية * /</font></font><font><font>
+أحداث مؤشر: السيارات.</font></font><font><font>
+أحداث المؤشر: لا شيء ؛</font></font><font><font>
+أحداث المؤشر: visualPainted؛ </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث المؤشر: visualFill؛ </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث المؤشر: visualStroke؛ </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث مؤشر: مرئية. </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث المؤشر: رسمت. </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث المؤشر: ملء ؛ </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث مؤشر: السكتة الدماغية. </font><font>/ * SVG فقط * /</font></font><font><font>
+أحداث المؤشر: جميع ؛ </font><font>/ * SVG فقط * /</font></font>
+<font><font>
+/ * القيم العالمية * /</font></font><font><font>
+أحداث المؤشر: ترث.</font></font><font><font>
+أحداث المؤشر: الأولي ؛</font></font><font><font>
+أحداث المؤشر: unset؛</font></font>
+</pre>
+
+<p><font><font>و </font></font><code>pointer-events</code><font><font>يتم تحديد الممتلكات، كلمة رئيسية واحدة اختياره من قائمة القيم أدناه.</font></font></p>
+
+<h3 id="القيم"><font><font>القيم</font></font></h3>
+
+<dl>
+ <dt><code>auto</code></dt>
+ <dd><font><font>يتصرف العنصر كما لو </font></font><code>pointer-events</code><font><font>لم يتم تحديد الخاصية. </font><font>في محتوى SVG ، يكون لهذه القيمة والقيمة </font></font><code>visiblePainted</code><font><font>نفس التأثير.</font></font></dd>
+ <dt><code>none</code></dt>
+ <dd><font><font>العنصر ليس </font></font><a href="/en-US/docs/Web/API/Event/target"><font><font>هدفًا</font></font></a><font><font> لأحداث المؤشر ؛ </font><font>ومع ذلك ، قد تستهدف أحداث المؤشر عناصره التنازلي إذا كانت تلك النزول قد عيّنت </font></font><code>pointer-events</code><font><font>بعض القيمة الأخرى. </font><font>في هذه الظروف ، ستؤدي أحداث المؤشر إلى تشغيل مستمعي الأحداث على هذا العنصر الرئيسي كما هو مناسب في طريقهم إلى / من السليل أثناء </font><font>مراحل </font><font>التقاط / </font></font><a href="/en-US/docs/Web/API/Event/bubbles"><font><font>فقاعة</font></font></a><font><font> الحدث </font><font>.</font></font></dd>
+</dl>
+
+<h4 id="SVG_فقط"><font><font>SVG فقط</font></font></h4>
+
+<dl>
+ <dt><code>visiblePainted</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر فقط عند </font></font><code>visibility</code><font><font>تعيين الخاصية على </font></font><code>visible</code><font><font>سبيل المثال عندما يكون مؤشر الماوس فوق الجزء الداخلي (أي ، "تعبئة") للعنصر وتعيين </font></font><code>fill</code><font><font>الخاصية على قيمة أخرى بخلاف </font></font><code>none</code><font><font>، أو عندما مؤشر الماوس فوق المحيط (أي ، "حد") للعنصر </font></font><code>stroke</code><font><font>ويتم ضبط الخاصية على قيمة أخرى غير </font></font><code>none</code><font><font>.</font></font></dd>
+ <dt><code>visibleFill</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر فقط عندما </font></font><code>visibility</code><font><font>يتم تعيين الخاصية إلى </font></font><code>visible</code><font><font>وعندما على سبيل المثال ، يكون مؤشر الماوس فوق الجزء الداخلي (أي ، تعبئة) العنصر. </font></font><code>fill</code><font><font>لا تؤثر </font><font>قيمة </font><font>الخاصية على معالجة الحدث.</font></font></dd>
+ <dt><code>visibleStroke</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر فقط عند </font></font><code>visibility</code><font><font>تعيين الخاصية على </font></font><code>visible</code><font><font>سبيل المثال عندما يكون مؤشر الماوس فوق محيط العنصر (أي الحد). </font></font><code>stroke</code><font><font>لا تؤثر </font><font>قيمة </font><font>الخاصية على معالجة الحدث.</font></font></dd>
+ <dt><code>visible</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر عند </font></font><code>visibility</code><font><font>تعيين الخاصية على </font></font><code>visible</code><font><font>سبيل المثال ، يكون مؤشر الماوس على الجانب الداخلي (أي ، الحشو) أو المحيط (أي الحد) للعنصر. </font><font>قيم </font></font><code>fill</code><font><font>و </font></font><code>stroke</code><font><font>لا تؤثر على معالجة الحدث.</font></font></dd>
+ <dt><code>painted</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو الهدف لحدث المؤشر فقط عندما يكون مؤشر الماوس فوق المنطقة الداخلية (على سبيل المثال ، "تعبئة") </font></font><code>fill</code><font><font>ويتم ضبط الخاصية على قيمة أخرى بخلاف </font></font><code>none</code><font><font>أو عندما يكون مؤشر الماوس فوق المحيط (أي ، "حد") للعنصر </font></font><code>stroke</code><font><font>والممتلكات يتم تعيينها على قيمة غير </font></font><code>none</code><font><font>. </font></font><code>visibility</code><font><font>لا تؤثر </font><font>قيمة </font><font>الخاصية على معالجة الحدث.</font></font></dd>
+ <dt><code>fill</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر فقط عندما يكون المؤشر فوق الجزء الداخلي (أي ، تعبئة) العنصر. </font><font>قيم </font></font><code>fill</code><font><font>و </font></font><code>visibility</code><font><font>خصائص لا تؤثر معالجة الحدث.</font></font></dd>
+ <dt><code>stroke</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر فقط عندما يكون المؤشر فوق محيط العنصر (أي الحد). </font><font>قيم </font></font><code>stroke</code><font><font>و </font></font><code>visibility</code><font><font>خصائص لا تؤثر معالجة الحدث.</font></font></dd>
+ <dt><code>all</code></dt>
+ <dd><font><font>SVG فقط. </font><font>يمكن أن يكون العنصر هو هدف حدث المؤشر فقط عندما يكون المؤشر فوق الجزء الداخلي (أي ، التعبئة) أو المحيط (أي الحد) للعنصر. </font><font>قيم </font></font><code>fill</code><font><font>، </font></font><code>stroke</code><font><font>و </font></font><code>visibility</code><font><font>خصائص لا تؤثر معالجة الحدث.</font></font></dd>
+</dl>
+
+<h3 id="بناء_الجملة_الرسمي"><font><font>بناء الجملة الرسمي</font></font></h3>
+
+<pre class="syntaxbox"><font><font>{{csssyntax}}</font></font></pre>
+
+<h2 id="أمثلة"><font><font>أمثلة</font></font></h2>
+
+<h3 id="مثال_أساسي"><font><font>مثال أساسي</font></font></h3>
+
+<p><font><font>يعطل هذا المثال أحداث المؤشر (النقر والسحب والتحويم وما إلى ذلك) على جميع الصور.</font></font></p>
+
+<pre class="brush:css"><font><font>img</font></font><font><font>
+ أحداث المؤشر: لا شيء ؛</font></font><font><font>
+}</font></font></pre>
+
+<h3 id="تعطيل_الروابط"><font><font>تعطيل الروابط</font></font></h3>
+
+<p><font><font>يعطل هذا المثال أحداث المؤشر على الرابط إلى http://example.com.</font></font></p>
+
+<pre class="brush:html"><font><font>&lt;UL&gt;</font></font><font><font>
+ &lt;li&gt; &lt;a href="https://developer.mozilla.org"&gt; MDN &lt;/a&gt; &lt;/li&gt;</font></font><font><font>
+ &lt;li&gt; &lt;a href="http://example.com"&gt; example.com &lt;/a&gt; &lt;/li&gt;</font></font><font><font>
+&lt;/ UL&gt;</font></font></pre>
+
+<pre class="brush:css"><font><font>a [href = "http://example.com"] {</font></font><font><font>
+ أحداث المؤشر: لا شيء ؛</font></font><font><font>
+}</font></font></pre>
+
+<div>{{EmbedLiveSample("Disabling_links", "500", "100")}}</div>
+
+<h2 id="ملاحظات"><font><font>ملاحظات</font></font></h2>
+
+<p><font><font>لاحظ أن منع عنصر من كونها هدفا للأحداث المؤشر باستخدام </font></font><code>pointer-events</code><font><font>لا </font></font><em><font><font>لا</font></font></em><font><font> يعني بالضرورة أن المستمعين الحدث المؤشر على هذا العنصر </font></font><em><font><font>لا يمكن</font></font></em><font><font> أو </font></font><em><font><font>لا</font></font></em><font><font> يمكن تشغيلها. </font><font>إذا كان أحد أطفال العنصر قد </font></font><code>pointer-events</code><font><font>حدد صراحة </font></font><em><font><font>للسماح</font></font></em><font><font> لهذا الطفل بأن يكون هدفًا لأحداث المؤشر ، فإن أي أحداث تستهدف هذا الطفل تمر عبر الوالد أثناء انتقال الحدث على طول سلسلة الوالدين ، وتحفيز مستمعي الحدث على الوالد كما هو مناسب. . </font><font>بالطبع لن يتم القبض على أي نشاط مؤشر في نقطة على الشاشة يغطيه الوالد ولكن ليس من قِبل الطفل من قِبل الطفل أو الوالد (سوف يمر "الوالد" ويستهدف كل ما هو تحتها).</font></font></p>
+
+<p><code>pointer-events: none</code><font><font>ستظل </font><font>العناصر التي تحتوي </font><font>على التركيز من خلال التنقل المتسلسل للوحة المفاتيح باستخدام </font></font><kbd>Tab</kbd><font><font>المفتاح.</font></font></p>
+
+<p><font><font>نود أن نوفر تحكمًا محببًا دقيقًا (أكثر من مجرد </font></font><code>auto</code><font><font>و </font></font><code>none</code><font><font>) في HTML لأي أجزاء من العنصر ستؤدي إلى "التقاط" أحداث المؤشر ومتى. </font><font>لمساعدتنا في تحديد الكيفية التي </font></font><code>pointer-events</code><font><font>ينبغي بها تمديد HTML ، إذا كان لديك أي أشياء معينة ترغب في القيام بها مع هذه الخاصية ، يرجى إضافتها إلى قسم حالات الاستخدام في </font></font><a class="link-https" href="https://wiki.mozilla.org/SVG:pointer-events"><font><font>صفحة الويكي هذه</font></font></a><font><font> (لا تقلق حول ابقائها مرتبة).</font></font></p>
+
+<h2 id="مواصفات"><font><font>مواصفات</font></font></h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col"><font><font>تخصيص</font></font></th>
+ <th scope="col"><font><font>الحالة</font></font></th>
+ <th scope="col"><font><font>تعليق</font></font></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('SVG2', 'interact.html#PointerEventsProperty', 'pointer-events')}}</td>
+ <td><font><font>{{Spec2 ( 'SVG2')}}</font></font></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('SVG1.1', 'interact.html#PointerEventsProperty', 'pointer-events')}}</td>
+ <td><font><font>{{Spec2 ( 'SVG1.1')}}</font></font></td>
+ <td><font><font>التعريف الأولي</font></font></td>
+ </tr>
+ </tbody>
+</table>
+
+<p><font><font>{{cssinfo}}</font></font></p>
+
+<p><font><font>امتداده إلى عناصر HTML ، على الرغم من وجوده في المسودات المبكرة من CSS Basic User Interface Module المستوى 3 ، فقد تم دفعه إلى </font></font><a class="external" href="http://wiki.csswg.org/spec/css4-ui#pointer-events"><font><font>المستوى 4</font></font></a><font><font> .</font></font></p>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility"><font><font>التوافق المتصفح</font></font></h2>
+
+<div class="hidden"><font><font>يتم إنشاء جدول التوافق في هذه الصفحة من البيانات المنظمة. </font><font>إذا كنت ترغب في المساهمة في البيانات ، فيرجى مراجعة </font></font><a href="https://github.com/mdn/browser-compat-data"><font><font>https://github.com/mdn/browser-compat-data</font></font></a><font><font> وإرسال طلب سحب إلينا.</font></font></div>
+
+<p>{{Compat("css.properties.pointer-events")}}</p>
+
+<h2 id="أنظر_أيضا"><font><font>أنظر أيضا</font></font></h2>
+
+<ul>
+ <li><font><font>سمة SVG {{SVGAttr ("pointer-events")}}</font></font></li>
+ <li><font><font>سمة SVG {{SVGAttr ("visibility")}}</font></font></li>
+ <li><font><font>توسيع </font><a class="external" href="http://webkit.org/specs/PointerEventsProperty.html"><font>WebKit Specs PointerEventsProperty</font></a><font> للاستخدام في محتوى HTML (X)</font></font></li>
+</ul>
diff --git a/files/ar/web/css/reference/index.html b/files/ar/web/css/reference/index.html
new file mode 100644
index 0000000000..e0d134fb04
--- /dev/null
+++ b/files/ar/web/css/reference/index.html
@@ -0,0 +1,179 @@
+---
+title: CSS reference
+slug: Web/CSS/Reference
+translation_of: Web/CSS/Reference
+---
+<div>{{CSSRef}}</div>
+
+<p>Use this <strong>CSS reference</strong> to browse an <a href="#Keyword_index">alphabetical index</a> of all the standard <a href="/en-US/docs/Web/CSS">CSS</a> properties, <a href="/en-US/docs/Web/CSS/Pseudo-classes">pseudo-classes</a>, <a href="/en-US/docs/Web/CSS/Pseudo-elements">pseudo-elements</a>, <a href="/en-US/docs/Web/CSS/CSS_Types">data types</a>, and <a href="/en-US/docs/Web/CSS/At-rule">at-rules</a>. You can also browse a list of all the CSS <a href="#Selectors">selectors organized by type</a> and a list of <a href="#Concepts">key CSS concepts</a>. Also included is a brief <a href="#DOM-CSS_CSSOM">DOM-CSS / CSSOM reference</a>.</p>
+
+<h2 id="Basic_rule_syntax">Basic rule syntax</h2>
+
+<h3 id="Style_rule_syntax">Style rule syntax</h3>
+
+<pre class="syntaxbox"><var>style-rule</var> <strong>::=</strong>
+ <var>selectors-list</var> <strong>{</strong>
+ <var>properties-list</var>
+ <strong>}</strong>
+</pre>
+
+<p>... where :</p>
+
+<pre class="syntaxbox"><var>selectors-list</var> <strong>::=</strong>
+ <var>selector[</var><strong>:</strong><var>pseudo-class] [</var><strong>::</strong><var>pseudo-element]
+ [</var><strong>,</strong><var> selectors-list]</var>
+
+<var>properties-list</var> <strong>::=</strong>
+ <var>[property</var> <strong>:</strong> <var>value] [</var><strong>;</strong> <var>properties-list]</var>
+</pre>
+
+<p>See <a href="#Selectors"><em>selector</em></a>, <a href="#Pseudo-classes"><em>pseudo-class</em></a>, <em><a href="#Pseudo-elements">pseudo-element</a></em> lists below. The syntax for each specified <em>value</em> depends on the data type defined for each specified <em>property</em>.</p>
+
+<h4 id="Style_rule_examples">Style rule examples</h4>
+
+<pre class="brush: css">strong {
+ color: red;
+}
+
+div.menu-bar li:hover &gt; ul {
+ display: block;
+}
+</pre>
+
+<p>For a beginner-level introduction to the syntax of CSS selectors, please see <a href="/en-US/docs/Learn/CSS/Introduction_to_CSS/Selectors">this tutorial</a>. Be aware that any <a href="/en-US/docs/Web/CSS/syntax">CSS syntax</a> error in a rule definition invalidates the entire rule. Invalid rules are ignored by the browser. Note that CSS rule definitions are entirely (ASCII) <a href="https://www.w3.org/TR/css-syntax-3/#intro">text-based</a>, whereas DOM-CSS / CSSOM (the rule management system) is <a href="https://www.w3.org/TR/cssom/#introduction">object-based</a>.</p>
+
+<h3 id="At-rule_syntax">At-rule syntax</h3>
+
+<p>As the structure of at-rules varies widely, please see <a href="/en-US/docs/Web/CSS/At-rule">At-rule</a> to find the syntax of the specific one you want.</p>
+
+<h2 id="Keyword_index">Keyword index</h2>
+
+<div class="blockIndicator note">
+<p><strong>Note:</strong> The property names in this index do <strong>not</strong> include the <a href="/en-US/docs/Web/CSS/CSS_Properties_Reference">JavaScript names</a> where they differ from the CSS standard names.</p>
+</div>
+
+<div>{{CSS_Ref}}</div>
+
+<h2 id="Selectors">Selectors</h2>
+
+<p>The following are the various <a href="/en-US/docs/Web/CSS/CSS_Selectors">selectors</a>, which allow styles to be conditional based on various features of elements within the DOM.</p>
+
+<h3 id="Simple_selectors">Simple selectors</h3>
+
+<p><strong>Simple selectors</strong> are fundamental selectors; these are the most basic selectors that are frequently combined to create other, more complex selectors.</p>
+
+<ul>
+ <li><a href="/en-US/docs/Web/CSS/Type_selectors">Type selector</a> <code>elementname</code></li>
+ <li><a href="/en-US/docs/Web/CSS/Class_selectors">Class selector</a> <code>.classname</code></li>
+ <li><a href="/en-US/docs/Web/CSS/ID_selectors">ID selector</a> <code>#idname</code></li>
+ <li><a href="/en-US/docs/Web/CSS/Universal_selectors">Universal selector</a> <code>*</code>, <code>ns|*</code>, <code>*|*</code>, <code>|*</code></li>
+ <li><a href="/en-US/docs/Web/CSS/Attribute_selectors">Attribute selectors</a> <code>[attr=value]</code></li>
+</ul>
+
+<h3 id="Combinators">Combinators</h3>
+
+<p>Combinators are selectors that establish a relationship between two or more simple selectors, such as "A is a child of B" or "A is adjacent to B."</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Web/CSS/Adjacent_sibling_combinator">Adjacent sibling combinator</a> <code>A + B</code></dt>
+ <dd>Specifies that the elements selected by both <code>A</code> and <code>B</code> have the same parent and that the element selected by <code>B</code> immediately follows the element selected by <code>A</code> horizontally.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/General_sibling_combinator">General sibling combinator</a> <code>A ~ B</code></dt>
+ <dd>Specifies that the elements selected by both <code>A</code> and <code>B</code> share the same parent and that the element selected by <code>A</code> comes before—but not necessarilyl immediately before—the element selected by <code>B</code>.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/Child_combinator">Child combinator</a> <code>A &gt; B</code></dt>
+ <dd>Specifies that the element selected by <code>B</code> is the direct child of the element selected by <code>A</code>.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/Descendant_combinator">Descendant combinator</a> <code>A B</code></dt>
+ <dd>Specifies that the element selected by <code>B</code> is a descendant of the element selected by A, but is not necessarily a direct child.</dd>
+ <dt><a href="/en-US/docs/Web/CSS/Column_combinator">Column combinator</a> <code>A || B</code> {{Experimental_Inline}}</dt>
+ <dd>Specifies that the element selected by <code>B</code> is located within the table column specified by <code>A</code>. Elements which span multiple columns are considered to be a member of all of those columns.</dd>
+</dl>
+
+<h3 id="Pseudo-classes"><a href="/en-US/docs/Web/CSS/Pseudo-classes">Pseudo-classes</a></h3>
+
+<div class="index">
+<ul>
+ <li class="hidden">{{Page("/en-US/docs/Web/CSS/Pseudo-classes", "index")}}</li>
+</ul>
+</div>
+
+<h3 id="Pseudo-elements"><a href="/en-US/docs/Web/CSS/Pseudo-elements">Pseudo-elements</a></h3>
+
+<div class="index">
+<ul>
+ <li class="hidden">{{Page("/en-US/docs/Web/CSS/Pseudo-elements", "index")}}</li>
+</ul>
+</div>
+
+<div class="blockIndicator note">
+<p><strong>See also:</strong> A complete <a href="https://www.w3.org/TR/selectors/#selectors">list of selectors</a> in the Selectors Level 3 specification.</p>
+</div>
+
+<h2 id="Concepts">Concepts</h2>
+
+<h3 id="Syntax_and_semantics">Syntax and semantics</h3>
+
+<ul>
+ <li><a href="/en-US/docs/Web/CSS/Syntax">CSS syntax</a></li>
+ <li><a href="/en-US/docs/Web/CSS/At-rule">At-rules</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Cascade">Cascade</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Comments">Comments</a></li>
+ <li><a href="/en-US/docs/Glossary/Descriptor_(CSS)">Descriptor</a></li>
+ <li><a href="/en-US/docs/Web/CSS/inheritance">Inheritance</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Shorthand_properties">Shorthand properties</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Specificity">Specificity</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Value_definition_syntax">Value definition syntax</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Values_and_Units">CSS unit and value types</a></li>
+</ul>
+
+<h3 id="Values">Values</h3>
+
+<ul>
+ <li><a href="/en-US/docs/Web/CSS/actual_value">Actual value</a></li>
+ <li><a href="/en-US/docs/Web/CSS/computed_value">Computed value</a></li>
+ <li><a href="/en-US/docs/Web/CSS/initial_value">Initial value</a></li>
+ <li><a href="/en-US/docs/Web/CSS/resolved_value">Resolved value</a></li>
+ <li><a href="/en-US/docs/Web/CSS/specified_value">Specified value</a></li>
+ <li><a href="/en-US/docs/Web/CSS/used_value">Used value</a></li>
+</ul>
+
+<h3 id="Layout">Layout</h3>
+
+<ul>
+ <li><a href="/en-US/docs/Web/Guide/CSS/Block_formatting_context">Block formatting context</a></li>
+ <li><a href="/en-US/docs/Web/CSS/box_model">Box model</a></li>
+ <li><a href="/en-US/docs/Web/CSS/All_About_The_Containing_Block">Containing block</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Layout_mode">Layout mode</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing">Margin collapsing</a></li>
+ <li><a href="/en-US/docs/Web/CSS/Replaced_element">Replaced elements</a></li>
+ <li><a href="/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context">Stacking context</a></li>
+ <li><a href="/en-US/docs/Web/Guide/CSS/Visual_formatting_model">Visual formatting model</a></li>
+</ul>
+
+<h2 id="DOM-CSS_CSSOM">DOM-CSS / CSSOM</h2>
+
+<h3 id="Major_object_types">Major object types</h3>
+
+<ul>
+ <li>{{DOMxRef("DocumentOrShadowRoot.styleSheets")}}</li>
+ <li><code>{{DOMxRef("StyleSheetList", "styleSheets", "", 1)}}[i].{{DOMxRef("CSSRuleList", "cssRules", "", 1)}}</code></li>
+ <li><code>cssRules[i].{{DOMxRef("CSSRule.cssText", "cssText", "", 1)}}</code> <span style="white-space: nowrap;">(selector &amp; style)</span></li>
+ <li><code>cssRules[i].{{DOMxRef("CSSStyleRule.selectorText", "selectorText", "", 1)}}</code></li>
+ <li>{{DOMxRef("HTMLElement.style")}}</li>
+ <li><code>HTMLElement.style.{{DOMxRef("CSSStyleDeclaration.cssText", "cssText", "", 1)}}</code> (just style)</li>
+ <li>{{DOMxRef("Element.className")}}</li>
+ <li>{{DOMxRef("Element.classList")}}</li>
+</ul>
+
+<h3 id="Important_methods">Important methods</h3>
+
+<ul>
+ <li>{{DOMxRef("CSSStyleSheet.insertRule()")}}</li>
+ <li>{{DOMxRef("CSSStyleSheet.deleteRule()")}}</li>
+</ul>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/CSS/Mozilla_Extensions">Mozilla CSS extensions</a> (prefixed with <code style="white-space: nowrap;">-moz-</code>)</li>
+ <li><a href="/en-US/docs/Web/CSS/WebKit_Extensions">WebKit CSS extensions</a> (mostly prefixed with <code style="white-space: nowrap;">-webkit-</code>)</li>
+ <li><a href="/en-US/docs/Web/CSS/Microsoft_Extensions">Microsoft CSS extensions</a> (prefixed with <code style="white-space: nowrap;">-ms-</code>)</li>
+</ul>
diff --git a/files/ar/web/css/التحول/index.html b/files/ar/web/css/التحول/index.html
new file mode 100644
index 0000000000..93ef2bb84e
--- /dev/null
+++ b/files/ar/web/css/التحول/index.html
@@ -0,0 +1,136 @@
+---
+title: التحول (transform)
+slug: Web/CSS/التحول
+tags:
+ - التحول
+ - التحول في صفحات الطرز المتراصة
+ - خواص صفحات الطرز المتراصة
+ - صفحات الطرز المتراصة
+ - مرجع
+translation_of: Web/CSS/transform
+---
+<div>{{CSSRef}}</div>
+
+<p>تسمح لك خاصية التحويل <strong><code>transform</code></strong> في CSS بإدارة وتغيير إحداثيات وأبعاد العناصر وما إلى ذلك كما سنتعرف في هذه الوثيقة.</p>
+
+<p>ويتم ذلك عن طريق تعديل الإحداثيات <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Visual_formatting_model">لنموذج التنسيق المرئي للـ CSS.</a></p>
+
+<p> </p>
+
+<div>{{EmbedInteractiveExample("pages/css/transform.html")}}</div>
+
+<p class="hidden">يتم تخزين المصدر لهذا المثال التفاعلي في مستودع GitHub. إذا كنت ترغب في المساهمة في مشروع الأمثلة التفاعلية ، فيرجى استنساخ <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples </a>وإرسال طلب سحب.</p>
+
+<p>إذا كانت الخاصية لها قيمة مختلفة عن <code>none</code> ، فسيتم إنشاء سياق تجميع. في هذه الحالة ، سيكون الكائن بمثابة كتلة تحتوي على <code>position: fixed</code> العناصر التي تحتوي عليها.</p>
+
+<h2 id="بناء_الجملة">بناء الجملة</h2>
+
+<pre class="brush: css no-line-numbers">/* قيم رئيسية */
+transform: none;
+
+/* قيم وضيفية */
+transform: matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0);
+transform: translate(12px, 50%);
+transform: translateX(2em);
+transform: translateY(3in);
+transform: scale(2, 0.5);
+transform: scaleX(2);
+transform: scaleY(0.5);
+transform: rotate(0.5turn);
+transform: skew(30deg, 20deg);
+transform: skewX(30deg);
+transform: skewY(1.07rad);
+transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
+transform: translate3d(12px, 50%, 3em);
+transform: translateZ(2px);
+transform: scale3d(2.5, 1.2, 0.3);
+transform: scaleZ(0.3);
+transform: rotate3d(1, 2.0, 3.0, 10deg);
+transform: rotateX(10deg);
+transform: rotateY(10deg);
+transform: rotateZ(10deg);
+transform: perspective(17px);
+
+/* قيم وضيفية متعددة */
+transform: translateX(10px) rotate(10deg) translateY(5px);
+
+/* قيمة عامة */
+transform: inherit;
+transform: initial;
+transform: unset;
+</pre>
+
+<p>التحويل يمكن أن يحدد بقيمة واحدة أو أكثر من وضيفة.</p>
+
+<h3 id="القيم">القيم</h3>
+
+<dl>
+ <dt id="&lt;transform-function>">{{cssxref("&lt;transform-function&gt;")}}</dt>
+ <dd>يمكنك استعمال وظيفة واحد أو أكثر من <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function">وظائف تحويل CSS </a>ليتم تطبيقها. يتم تطبيق التحويلات المركبة بشكل فعال بالترتيب من اليسار إلى اليمين.</dd>
+ <dt id="none"><code>none</code>يحدد بعدم تحديد أي تحويل.</dt>
+</dl>
+
+<h3 id="البنية">البنية</h3>
+
+<pre class="syntaxbox">{{csssyntax}}</pre>
+
+<h2 id="أمثلة">أمثلة</h2>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush: html">&lt;div&gt;عنصر التحويل&lt;/div&gt;</pre>
+
+<h3 id="CSS">CSS</h3>
+
+<pre class="brush: css">div {
+ border: solid red;
+ transform: translate(30px, 20px) rotate(20deg);
+ width: 140px;
+ height: 60px;
+}</pre>
+
+<h3 id="النتيجة">النتيجة</h3>
+
+<p>{{EmbedLiveSample("Examples", "400", "160")}}</p>
+
+<p>Please see <a href="/en-US/docs/Web/Guide/CSS/Using_CSS_transforms">Using CSS transforms</a> and {{cssxref("&lt;transform-function&gt;")}} for more examples.</p>
+
+<h2 id="الميزات">الميزات</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">الميزة</th>
+ <th scope="col">الحالة</th>
+ <th scope="col">التعليق</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('CSS Transforms 2', '#transform-functions', 'transform')}}</td>
+ <td>{{Spec2('CSS Transforms 2')}}</td>
+ <td>Adds 3D transform functions.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('CSS3 Transforms', '#transform-property', 'transform')}}</td>
+ <td>{{Spec2('CSS3 Transforms')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>{{cssinfo}}</p>
+
+<h2 id="توافق_المتصفح">توافق المتصفح</h2>
+
+<div class="hidden">يتم إنشاء جدول التوافق في هذه الصفحة من البيانات المنظمة. إذا كنت ترغب في المساهمة في البيانات ، فيرجى مراجعة <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data </a>وإرسال طلب سحب.</div>
+
+<p>{{Compat("css.properties.transform")}}</p>
+
+<h2 id="قد_يفيدك">قد يفيدك</h2>
+
+<ul>
+ <li><a href="/en-US/docs/CSS/Using_CSS_transforms">استعمال CSS transforms</a></li>
+ <li>{{cssxref("&lt;transform-function&gt;")}} نوع البيانات</li>
+ <li> إظافة التحول إلى<a href="https://louisremi.github.io/jquery.transform.js/"> jQuery</a></li>
+</ul>
diff --git a/files/ar/web/css/التعليقات/index.html b/files/ar/web/css/التعليقات/index.html
new file mode 100644
index 0000000000..4fbf59d3f9
--- /dev/null
+++ b/files/ar/web/css/التعليقات/index.html
@@ -0,0 +1,64 @@
+---
+title: التعليقات
+slug: Web/CSS/التعليقات
+tags:
+ - CSS
+ - تعليقات
+ - مرجع
+ - ملاحظات
+translation_of: Web/CSS/Comments
+---
+<div>{{CSSRef}}</div>
+
+<p>تعليقات CSS تستخدم من أجل إضافة جمل توضيحية وتنبيهات في الكود أو حتى لمنع المتصفح من تطبيق بعض الأكواد المكتوبة في ورقة الأنماط (ملف CSS)، هذه التعليقات لا تؤثر على تصميم الملفات نهائيًا.</p>
+
+<h2 id="طريقة_الكتابة">طريقة الكتابة</h2>
+
+<p>يمكن كتابة التعليقات في أي مكان داخل ورقة الأنماط، سواء كانت بسطر واحد أو بعدة أسطر.</p>
+
+<pre class="syntaxbox">/* تعليق */</pre>
+
+<h2 id="أمثلة">أمثلة</h2>
+
+<pre class="brush:css">/* تعليق بسطر واحد */
+
+/*
+تعليق
+يمكن
+كتابته
+بأكثر
+من
+سطر
+*/
+
+/* التعليق أدناه جعل الخواص المذكروة للعنصر
+ Span
+ دون تأثير */
+/*
+span {
+ color: blue;
+ font-size: 1.5em;
+}
+*/
+</pre>
+
+<h2 id="تنبيهات">تنبيهات</h2>
+
+<p>الرمز /* */ يستخدم في كلا الحالتين سطر واحد أو متعدد الأسطر، لا يوجد أي طريقة أخرى من أجل كتابة تعليقات داخل ورقة الأنماط، عندما تستخدم عنصر {{htmlelement("style")}} فيمكنك استخدام <code>&lt;!-- --&gt;</code> من أجل إخفاء أكواد CSS عن المتصفحات القديمة، رغم أن ذلك غير مستحسن، معظم المبرمجين يستخدمون صيغة /* */.</p>
+
+<p>لا يمكن كتابة التعليقات بشكل متداخل، بمعنى أن التعليقات ستبدأ عند كتابة /* وستغلق عند أول علامة */ تقابلها.</p>
+
+<h2 id="الخصائص">الخصائص</h2>
+
+<ul>
+ <li><a href="http://www.w3.org/TR/CSS21/syndata.html#comments">CSS 2.1 Syntax and basic data types #comments</a></li>
+</ul>
+
+<h2 id="اقرأ_أيضًا">اقرأ أيضًا</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/CSS/Reference">مرجع CSS</a></li>
+ <li>{{CSS_key_concepts}}</li>
+</ul>
+
+<p> </p>
diff --git a/files/ar/web/css/العناصر_التي_يمكن_تحريكها_باستخدام_css_transitions/index.html b/files/ar/web/css/العناصر_التي_يمكن_تحريكها_باستخدام_css_transitions/index.html
new file mode 100644
index 0000000000..d9a0da44f2
--- /dev/null
+++ b/files/ar/web/css/العناصر_التي_يمكن_تحريكها_باستخدام_css_transitions/index.html
@@ -0,0 +1,19 @@
+---
+title: العناصر التي يمكن تحريكها باستخدام CSS Transitions
+slug: Web/CSS/العناصر_التي_يمكن_تحريكها_باستخدام_CSS_Transitions
+tags:
+ - CSS
+ - CSS3
+ - تحريك
+ - ترانزشن
+ - سلاسة
+ - نعومة
+translation_of: Web/CSS/CSS_animated_properties
+---
+<p>{{CSSRef}}</p>
+
+<p>يمكن تحريك بعض عناصر CSS بشكل ناعم وسلس عندما تتغير قيم وخصائص العناصر، سواء باستخدام <a href="/en-US/docs/Web/CSS/CSS_Animations">CSS Animations</a> أو <a href="/en-US/docs/Web/CSS/CSS_Transitions">CSS Transitions</a>.</p>
+
+<p>هذه قائمة بالعناصر التي يمكن استخدام خاصية Transitions عليها:</p>
+
+<p>{{CSSAnimatedProperties}}</p>