Grid في CSS
```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.
روابط ذات صلة
- CSS
- CSS Flexbox
- CSS Positioning
- CSS Units
- Media Queries
- Responsive Web Design
- HTML Structure
- Web Accessibility
- CSS Selectors
- CSS Properties
استراتيجيات الخيارات الثنائية والتحليل الفني
- استراتيجية مارتينجال (Martingale Strategy)
- استراتيجية فيبوناتشي (Fibonacci Strategy)
- استراتيجية بولينجر باند (Bollinger Bands Strategy)
- تحليل الشموع اليابانية (Candlestick Pattern Analysis)
- تحليل حجم التداول (Volume Analysis)
- مؤشر القوة النسبية (RSI) (Relative Strength Index - RSI)
- مؤشر الماكد (MACD) (Moving Average Convergence Divergence - MACD)
- مؤشر ستوكاستيك (Stochastic Oscillator)
- الاتجاهات الصاعدة والهابطة (Uptrends and Downtrends)
- خطوط الدعم والمقاومة (Support and Resistance Levels)
- استراتيجية الاختناق (Straddle Strategy)
- استراتيجية الفراشة (Butterfly Strategy)
- استراتيجية التداول السريع (Scalping Strategy)
- تحليل الموجات إليوت (Elliott Wave Analysis)
- استراتيجية الاختراق (Breakout Strategy)
- تحليل أخبار السوق (Market News Analysis)
- إدارة المخاطر في الخيارات الثنائية (Risk Management in Binary Options)
- تحليل أساسي للخيارات الثنائية (Fundamental Analysis for Binary Options)
- تحليل فني متقدم للخيارات الثنائية (Advanced Technical Analysis for Binary Options)
- استراتيجية التداول العكسي (Reverse Trading Strategy)
- استراتيجية التداول على المدى القصير (Short-Term Trading Strategy)
- استراتيجية التداول على المدى الطويل (Long-Term Trading Strategy)
- استراتيجية التداول مع الاتجاه العام (Trend Following Strategy)
- استراتيجية تداول المتوسطات المتحركة (Moving Average Trading Strategy)
- استراتيجية تداول القنوات (Channel Trading Strategy)
```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين