الفرق بين المراجعتين لصفحة: «CSS/grid-template»
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
لا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الخاصية <code>grid-template</code>}}</noinclude> | <noinclude>{{DISPLAYTITLE:الخاصية <code>grid-template</code>}}</noinclude> | ||
الخاصية <code>grid-template</code> في CSS هي خاصية مختصرة تستعمل لضبط قيم للخاصيات <code>[[CSS/grid-template-rows|grid-template-rows]]</code> و <code>[[CSS/grid-template-columns|grid-template-columns]]</code> و <code>[[CSS/grid-template-areas|grid-template-areas]]</code>. | الخاصية <code>grid-template</code> في CSS هي خاصية مختصرة تستعمل لضبط قيم للخاصيات <code>[[CSS/grid-template-rows|grid-template-rows]]</code> و <code>[[CSS/grid-template-columns|grid-template-columns]]</code> و <code>[[CSS/grid-template-areas|grid-template-areas]]</code>. | ||
== بطاقة الخاصية == | |||
{| class="wikitable" style="width: 100%;" | {| class="wikitable" style="width: 100%;" | ||
|- | |- | ||
سطر 47: | سطر 26: | ||
* <code>[[CSS/grid-template-areas|grid-template-areas]]</code>: كما حُدِّدَت. | * <code>[[CSS/grid-template-areas|grid-template-areas]]</code>: كما حُدِّدَت. | ||
|} | |}<syntaxhighlight lang="css"> | ||
/* كلمة محجوزة */ | |||
grid-template: none; | |||
/* grid-template-rows / grid-template-columns */ | |||
grid-template: 100px 1fr / 50px 1fr; | |||
grid-template: auto 1fr / auto 1fr auto; | |||
grid-template: [linename] 100px / [columnname1] 30% [columnname2] 70%; | |||
grid-template: fit-content(100px) / fit-content(40%); | |||
/* grid-template-areas grid-template-rows / grid-template-column */ | |||
grid-template: "a a a" | |||
"b b b"; | |||
grid-template: "a a a" 20% | |||
"b b b" auto; | |||
grid-template: [header-top] "a a a" [header-bottom] | |||
[main-top] "b b b" 1fr [main-bottom] | |||
/ auto 1fr auto; | |||
/* القيم العامة */ | |||
grid-template: inherit; | |||
grid-template: initial; | |||
grid-template: unset; | |||
</syntaxhighlight> | |||
== أمثلة == | == أمثلة == | ||
استعملنا في المثال الآتي عناصر <code>[[HTML/section|<section>]]</code> و <code>[[HTML/header|<header>]]</code> و <code>[[HTML/nav|<nav>]]</code> و <code>[[HTML/main|<main>]]</code> و <code>[[HTML/footer|<footer>]]</code> لإنشاء تقسيم للصفحة، لاحظ كيف استخدمنا الخاصية <code>grid-template</code> لتعريف خصائص الشبكة، وكيف استعملنا أسماء المناطق مع الخاصية <code>[[CSS/grid-area|grid-area]]</code>:<syntaxhighlight lang="html"> | استعملنا في المثال الآتي عناصر <code>[[HTML/section|<section>]]</code> و <code>[[HTML/header|<header>]]</code> و <code>[[HTML/nav|<nav>]]</code> و <code>[[HTML/main|<main>]]</code> و <code>[[HTML/footer|<footer>]]</code> لإنشاء تقسيم للصفحة، لاحظ كيف استخدمنا الخاصية <code>grid-template</code> لتعريف خصائص الشبكة، وكيف استعملنا أسماء المناطق مع الخاصية <code>[[CSS/grid-area|grid-area]]</code>:<syntaxhighlight lang="html"> | ||
<section id="page"> | <section id="page"> | ||
<header> | <header>الرأس</header> | ||
<nav> | <nav>قائمة التنقل</nav> | ||
<main> | <main>المنطقة الرئيسية</main> | ||
<footer> | <footer>الذيل</footer> | ||
</section> | </section> | ||
</syntaxhighlight>شيفرة CSS:<syntaxhighlight lang="css"> | </syntaxhighlight>شيفرة CSS:<syntaxhighlight lang="css"> | ||
سطر 107: | سطر 109: | ||
== البنية العامة == | == البنية العامة == | ||
تقبل الخاصية <code>grid-template</code> القيم التالية، لاحظ أنَّ الخاصية المختصرة <code>[[CSS/grid|grid]]</code> تقبل القيم نفسها، لكنها تُعيد ضبط | تقبل الخاصية <code>grid-template</code> القيم التالية، لاحظ أنَّ الخاصية المختصرة <code>[[CSS/grid|grid]]</code> تقبل القيم نفسها، لكنها تُعيد ضبط الخاصيات التي تُحدِّد خصائص الشبكة ضمنيًا إلى قيمها الابتدائية. | ||
=== | === <code>none</code> === | ||
كلمة محجوزة تُعيد ضبط | كلمة محجوزة تُعيد ضبط جميع الخاصيات المُختصرَة إلى <code>none</code>، مما يعني أنَّنا لن نُصرِّح عن أبعاد الشبكة، ولا توجد مناطق مُسماة فيها، وستولّد الأسطر والأعمدة ضمنيًا، وستُحدَّد أبعادها عبر الخاصيتين <code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> و <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code>. | ||
=== | === <code><grid-template-rows> / <grid-template-columns></code> === | ||
ضبط | ضبط الخاصيتين <code>[[CSS/grid-template-rows|grid-template-rows]]</code> و <code>[[CSS/grid-template-columns|grid-template-columns]]</code> إلى القيم المُحدَّدة، وضبط الخاصية <code>[[CSS/grid-template-areas|grid-template-areas]]</code> إلى <code>none</code>. | ||
=== ضبط جميع | === ضبط جميع الخاصيات === | ||
<syntaxhighlight lang="css"> | <syntaxhighlight lang="css"> | ||
[ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]? | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]? | ||
</syntaxhighlight>ضبط | </syntaxhighlight>ضبط الخاصية <code>[[CSS/grid-template-areas|grid-template-areas]]</code> إلى السلاسل النصية المضبوطة، والخاصية <code>[[CSS/grid-template-rows|grid-template-rows]]</code> إلى أبعاد المسار التي تلي كل سلسلة نصية (وستُستعمل <code>auto</code> لأيّة أبعاد غير موجودة)، ويمكن تحديد أسماء الأسطر قبل وبعد كل بُعد. وستُضبَط الخاصية <code>[[CSS/grid-template-columns|grid-template-columns]]</code> بعد الشرطة المائلة <code>/</code> (وستكون هي <code>none</code> إذا لم تُحدَّد). | ||
ملاحظة: لا يمكن استخدام الدالة <code>[[CSS/repeat|repeat()]]</code> هنا لضبط أبعاد المسارات. | ملاحظة: لا يمكن استخدام الدالة <code>[[CSS/repeat|repeat()]]</code> هنا لضبط أبعاد المسارات. | ||
سطر 137: | سطر 139: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== انظر أيضًا == | |||
* صفحة الخاصيات الفرعية التي تضبطها الخاصية <code>grid-template</code> وهي <code>[[CSS/grid-template-rows|grid-template-rows]]</code> و <code>[[CSS/grid-template-columns|grid-template-columns]]</code> و <code>[[CSS/grid-template-areas|grid-template-areas]]</code>. | |||
* صفحة الخاصية <code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> التي تضبط أبعاد مسارات الأسطر المُنشأة ضمنيًا. | |||
* صفحة الخاصية <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code> التي تضبط كيف ستعمل خوارزمية تحديد مواضع عناصر grid التلقائية. | |||
* صفحة الخاصية <code>[[CSS/grid-column|grid-column]]</code> والخاصيات الفرعية منها وهي: <code>[[CSS/grid-column-start|grid-column-start]]</code> و <code>[[CSS/grid-column-end|grid-column-end]]</code> و <code>[[CSS/grid-column-gap|grid-column-gap]]</code>. | |||
* صفحة الخاصية <code>[[CSS/grid-column|grid-]][[CSS/grid-row|row]]</code> والخاصيات الفرعية منها وهي: <code>[[CSS/grid-row-start|grid-row-start]]</code> و <code>[[CSS/grid-row-end|grid-row-end]]</code> و <code>[[CSS/grid-column-gap|grid-]][[CSS/grid-row-gap|row]][[CSS/grid-column-gap|-gap]]</code>. | |||
== مصادر ومواصفات == | == مصادر ومواصفات == |
المراجعة الحالية بتاريخ 14:15، 24 أكتوبر 2018
الخاصية grid-template
في CSS هي خاصية مختصرة تستعمل لضبط قيم للخاصيات grid-template-rows
و grid-template-columns
و grid-template-areas
.
بطاقة الخاصية
القيمة الابتدائية | لكل خاصية مختصرة:
|
---|---|
تُطبَّق على | حاويات grid. |
قابلة للوراثة | لا |
قابلة للتحريك | لا |
القيمة المحسوبة | لكل خاصية مختصرة:
|
/* كلمة محجوزة */
grid-template: none;
/* grid-template-rows / grid-template-columns */
grid-template: 100px 1fr / 50px 1fr;
grid-template: auto 1fr / auto 1fr auto;
grid-template: [linename] 100px / [columnname1] 30% [columnname2] 70%;
grid-template: fit-content(100px) / fit-content(40%);
/* grid-template-areas grid-template-rows / grid-template-column */
grid-template: "a a a"
"b b b";
grid-template: "a a a" 20%
"b b b" auto;
grid-template: [header-top] "a a a" [header-bottom]
[main-top] "b b b" 1fr [main-bottom]
/ auto 1fr auto;
/* القيم العامة */
grid-template: inherit;
grid-template: initial;
grid-template: unset;
أمثلة
استعملنا في المثال الآتي عناصر <section>
و <header>
و <nav>
و <main>
و <footer>
لإنشاء تقسيم للصفحة، لاحظ كيف استخدمنا الخاصية grid-template
لتعريف خصائص الشبكة، وكيف استعملنا أسماء المناطق مع الخاصية grid-area
:
<section id="page">
<header>الرأس</header>
<nav>قائمة التنقل</nav>
<main>المنطقة الرئيسية</main>
<footer>الذيل</footer>
</section>
شيفرة CSS:
#page {
display: grid;
width: 100%;
height: 200px;
grid-template: [header-left] "head head" 30px [header-right]
[main-left] "nav main" 1fr [main-right]
[footer-left] "nav foot" 30px [footer-right]
/ 120px 1fr;
}
header {
background-color: lime;
grid-area: head;
}
nav {
background-color: lightblue;
grid-area: nav;
}
main {
background-color: yellow;
grid-area: main;
}
footer {
background-color: red;
grid-column: foot;
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 57.0 | 52.0 | 10 (مع السابقة -ms- )
|
44 | 10.1 |
الإصدارات القديمة من متصفح Edge كانت تدعم تخطيط Grid دعمًا جزئيًا (كما في متصفح IE)، لكن الإصدار Edge 16 أصبح يدعم تخطيط Gird دعمًا كاملًا.
البنية العامة
تقبل الخاصية grid-template
القيم التالية، لاحظ أنَّ الخاصية المختصرة grid
تقبل القيم نفسها، لكنها تُعيد ضبط الخاصيات التي تُحدِّد خصائص الشبكة ضمنيًا إلى قيمها الابتدائية.
none
كلمة محجوزة تُعيد ضبط جميع الخاصيات المُختصرَة إلى none
، مما يعني أنَّنا لن نُصرِّح عن أبعاد الشبكة، ولا توجد مناطق مُسماة فيها، وستولّد الأسطر والأعمدة ضمنيًا، وستُحدَّد أبعادها عبر الخاصيتين grid-auto-rows
و grid-auto-columns
.
<grid-template-rows> / <grid-template-columns>
ضبط الخاصيتين grid-template-rows
و grid-template-columns
إلى القيم المُحدَّدة، وضبط الخاصية grid-template-areas
إلى none
.
ضبط جميع الخاصيات
[ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
ضبط الخاصية grid-template-areas
إلى السلاسل النصية المضبوطة، والخاصية grid-template-rows
إلى أبعاد المسار التي تلي كل سلسلة نصية (وستُستعمل auto
لأيّة أبعاد غير موجودة)، ويمكن تحديد أسماء الأسطر قبل وبعد كل بُعد. وستُضبَط الخاصية grid-template-columns
بعد الشرطة المائلة /
(وستكون هي none
إذا لم تُحدَّد).
ملاحظة: لا يمكن استخدام الدالة repeat()
هنا لضبط أبعاد المسارات.
البنية الرسمية
grid-template: none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?;
حيث:
<line-names> = '[' <custom-ident>* ']'
<track-size> = <track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )
<explicit-track-list> = [ <line-names>? <track-size> ]+ <line-names>?
حيث:
<track-breadth> = <length-percentage> | <flex> | min-content | max-content | auto
<inflexible-breadth> = <length> | <percentage> | min-content | max-content | auto
حيث:
<length-percentage> = <length> | <percentage>
انظر أيضًا
- صفحة الخاصيات الفرعية التي تضبطها الخاصية
grid-template
وهيgrid-template-rows
وgrid-template-columns
وgrid-template-areas
. - صفحة الخاصية
grid-auto-rows
التي تضبط أبعاد مسارات الأسطر المُنشأة ضمنيًا. - صفحة الخاصية
grid-auto-flow
التي تضبط كيف ستعمل خوارزمية تحديد مواضع عناصر grid التلقائية. - صفحة الخاصية
grid-column
والخاصيات الفرعية منها وهي:grid-column-start
وgrid-column-end
وgrid-column-gap
. - صفحة الخاصية
grid-row
والخاصيات الفرعية منها وهي:grid-row-start
وgrid-row-end
وgrid-row-gap
.
مصادر ومواصفات
- مواصفة CSS Grid Layout.