Grid في CSS

From binaryoption
Jump to navigation Jump to search
Баннер1

```wiki

Grid في CSS: دليل شامل للمبتدئين

Grid (الشبكة) في CSS هي نظام تخطيط ثنائي الأبعاد قوي يسمح لك بإنشاء تخطيطات معقدة للصفحات بسهولة ومرونة. على عكس أنظمة التخطيط القديمة مثل Floats و Positioning، يوفر Grid تحكماً كاملاً في كلا البعدين الأفقي والرأسي. هذا الدليل مصمم للمبتدئين الذين يرغبون في تعلم أساسيات Grid وكيفية استخدامه لإنشاء تخطيطات ويب حديثة.

ما هو Grid ولماذا نستخدمه؟

تقليدياً، كان إنشاء تخطيطات ويب معقدة يتطلب استخدام تقنيات متعددة مثل Floats و Positioning و Inline-block. هذه التقنيات غالباً ما كانت تؤدي إلى أكواد معقدة وصعبة الصيانة، بالإضافة إلى مشاكل في التوافق بين المتصفحات.

Grid يحل هذه المشاكل من خلال توفير نظام تخطيط مصمم خصيصاً لإنشاء تخطيطات ثنائية الأبعاد. باستخدام Grid، يمكنك تحديد هيكل التخطيط الخاص بك بشكل صريح، وتحديد حجم وموضع العناصر داخل هذا الهيكل.

فوائد استخدام Grid:

  • تحكم كامل: يوفر تحكماً كاملاً في كل من الأبعاد الأفقية والرأسية.
  • مرونة: يسمح بإنشاء تخطيطات مرنة تتكيف مع أحجام الشاشات المختلفة.
  • بساطة: يبسط عملية إنشاء التخطيطات المعقدة.
  • صيانة: يجعل الكود أكثر قابلية للقراءة والصيانة.
  • توافق: مدعوم بشكل جيد من قبل جميع المتصفحات الحديثة.

المفاهيم الأساسية في Grid

لفهم Grid، يجب أن تكون على دراية بالمفاهيم الأساسية التالية:

  • Grid Container (حاوية الشبكة): العنصر الذي يحتوي على عناصر الشبكة. يتم تعريف حاوية الشبكة باستخدام الخاصية `display: grid;`.
  • Grid Item (عنصر الشبكة): العناصر المباشرة للأبناء داخل حاوية الشبكة.
  • Grid Lines (خطوط الشبكة): الخطوط الأفقية والرأسية التي تحدد خلايا الشبكة.
  • Grid Tracks (مسارات الشبكة): المساحات بين خطوط الشبكة. يمكن أن تكون إما صفوف (rows) أو أعمدة (columns).
  • Grid Cell (خلية الشبكة): المساحة التي يحددها تقاطع مسارين من الشبكة.
  • Grid Area (منطقة الشبكة): مجموعة من خلايا الشبكة المجاورة.

إنشاء Grid أساسي

لإنشاء Grid أساسي، قم بتعيين الخاصية `display: grid;` على العنصر الذي تريد أن يكون حاوية الشبكة.

```css .container {

 display: grid;

} ```

بشكل افتراضي، سيقوم Grid بإنشاء شبكة ذات عمود واحد وصف واحد. يمكنك بعد ذلك إضافة عناصر الشبكة داخل الحاوية.

تعريف الأعمدة والصفوف

لتحديد عدد وحجم الأعمدة والصفوف، يمكنك استخدام الخاصيتين `grid-template-columns` و `grid-template-rows`.

  • `grid-template-columns` : تحدد عدد وحجم الأعمدة.
  • `grid-template-rows` : تحدد عدد وحجم الصفوف.

يمكنك استخدام وحدات مختلفة لتحديد حجم الأعمدة والصفوف، مثل:

  • `px` (بكسل): حجم ثابت.
  • `em` (إيم): حجم نسبي بالنسبة لحجم الخط للعنصر الأصل.
  • `rem` (روم): حجم نسبي بالنسبة لحجم الخط للعنصر الجذر (HTML).
  • `%` (نسبة مئوية): حجم نسبي بالنسبة لحجم العنصر الأصل.
  • `fr` (كسر): وحدة مرنة تمثل جزءاً من المساحة المتاحة.

مثال:

```css .container {

 display: grid;
 grid-template-columns: 1fr 2fr 1fr; /* ثلاثة أعمدة، العمود الثاني ضعف حجم العمودين الآخرين */
 grid-template-rows: 100px 200px; /* صفان، الأول 100 بكسل والثاني 200 بكسل */

} ```

وضع العناصر في Grid

بمجرد تحديد هيكل الشبكة، يمكنك وضع العناصر داخل الشبكة باستخدام الخصائص التالية:

  • `grid-column-start` و `grid-column-end` : تحددان بداية ونهاية العمود الذي يشغله العنصر.
  • `grid-row-start` و `grid-row-end` : تحددان بداية ونهاية الصف الذي يشغله العنصر.
  • `grid-area` : طريقة مختصرة لتحديد بداية ونهاية الصفوف والأعمدة في سطر واحد.

مثال:

```css .item1 {

 grid-column-start: 1;
 grid-column-end: 3; /* يمتد عبر العمودين الأول والثاني */
 grid-row-start: 1;
 grid-row-end: 2;

}

.item2 {

 grid-area: 2 / 3 / 3 / 4; /* صف 2، عمود 3، صف 3، عمود 4 */

} ```

استخدام `grid-template-areas`

`grid-template-areas` هي خاصية قوية تسمح لك بتحديد تخطيط الشبكة باستخدام أسماء للمناطق. هذا يجعل الكود أكثر قابلية للقراءة والصيانة.

مثال:

```css .container {

 display: grid;
 grid-template-columns: 1fr 2fr 1fr;
 grid-template-rows: 100px 200px;
 grid-template-areas:
   "header header header"
   "sidebar main right"
   "footer footer footer";

}

.header {

 grid-area: header;

}

.sidebar {

 grid-area: sidebar;

}

.main {

 grid-area: main;

}

.right {

 grid-area: right;

}

.footer {

 grid-area: footer;

} ```

الخصائص الإضافية في Grid

  • `grid-gap` : تحدد المسافة بين خلايا الشبكة.
  • `grid-column-gap` : تحدد المسافة بين الأعمدة.
  • `grid-row-gap` : تحدد المسافة بين الصفوف.
  • `justify-items` : تحدد كيفية محاذاة العناصر داخل خلايا الشبكة على طول المحور الأفقي.
  • `align-items` : تحدد كيفية محاذاة العناصر داخل خلايا الشبكة على طول المحور الرأسي.
  • `justify-content` : تحدد كيفية توزيع العناصر داخل حاوية الشبكة على طول المحور الأفقي.
  • `align-content` : تحدد كيفية توزيع العناصر داخل حاوية الشبكة على طول المحور الرأسي.

Grid المتجاوب (Responsive Grid)

يمكنك جعل Grid متجاوباً باستخدام استعلامات الوسائط (Media Queries). يسمح لك ذلك بتغيير هيكل الشبكة بناءً على حجم الشاشة.

مثال:

```css .container {

 display: grid;
 grid-template-columns: 1fr 2fr 1fr;

}

@media (max-width: 768px) {

 .container {
   grid-template-columns: 1fr; /* عمود واحد على الشاشات الصغيرة */
 }

} ```

الخلاصة

Grid في CSS هو أداة قوية لإنشاء تخطيطات ويب معقدة ومرنة. من خلال فهم المفاهيم الأساسية والخصائص المختلفة، يمكنك إنشاء تخطيطات حديثة وسهلة الصيانة. التجربة والتدريب هما مفتاح إتقان Grid.

روابط ذات صلة

استراتيجيات الخيارات الثنائية والتحليل الفني

```

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер