الفرق بين المراجعتين ل"CSS/grid"

من موسوعة حسوب
< CSS
اذهب إلى التنقل اذهب إلى البحث
 
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الخاصية <code>grid</code>}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الخاصية <code>grid</code>}}</noinclude>
الخاصية <code>grid</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>[[CSS/grid-auto-rows|grid-auto-rows]]</code> و <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> و <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code>)، والخاصيات التي تُضبِط الفراغ بين الأعمدة والأسطر (أي <code>[[CSS/grid-column-gap|grid-column-gap]]</code> و <code>[[CSS/grid-row-gap|grid-row-gap]]</code>)، وكل ذلك في قاعدة واحدة.<syntaxhighlight lang="css">
+
الخاصية <code>grid</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>[[CSS/grid-auto-rows|grid-auto-rows]]</code> و <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> و <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code>)، والخاصيات التي تُضبِط الفراغ بين الأعمدة والأسطر (أي <code>[[CSS/grid-column-gap|grid-column-gap]]</code> و <code>[[CSS/grid-row-gap|grid-row-gap]]</code>)، وكل ذلك في قاعدة واحدة.
/* <grid-template> */
 
grid: none;
 
grid: "a" 100px "b" 1fr;
 
grid: [linename1] "a" 100px [linename2];
 
grid: "a" 200px "b" min-content;
 
grid: "a" minmax(100px, max-content) "b" 20%;
 
grid: 100px / 200px;
 
grid: minmax(400px, min-content) / repeat(auto-fill, 50px);
 
 
 
/* <grid-template-rows> / [ auto-flow && dense? ] <grid-auto-columns>? */
 
grid: 200px / auto-flow;
 
grid: 30% / auto-flow dense;
 
grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px;
 
grid: [line1] minmax(20em, max-content) / auto-flow dense 40%;
 
  
/* [ auto-flow && dense? ] <grid-auto-rows>? / <grid-template-columns> */
+
== بطاقة الخاصية ==
grid: auto-flow / 200px;
 
grid: auto-flow dense / 30%;
 
grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px);
 
grid: auto-flow dense 40% / [line1] minmax(20em, max-content);
 
 
 
/* القيم العامة */
 
grid: inherit;
 
grid: initial;
 
grid: unset;
 
</syntaxhighlight>
 
ملاحظة: يمكنك تحديد القيم التي تُحدِّد خصائص الشبكة بوضوح (explicit) '''أو''' التي تُحدِّدها ضمنيًا (implicit) في قاعدة grid، والخاصيات التي لا تُحدِّد قيمتها ستُضبَط إلى القيمة الابتدائية (كما هو معتاد في الخاصيات المختصرة).
 
 
{| class="wikitable" style="width: 100%;"
 
{| class="wikitable" style="width: 100%;"
 
|-
 
|-
سطر 62: سطر 37:
  
 
|}
 
|}
 +
 +
<syntaxhighlight lang="css">
 +
/* <grid-template> */
 +
grid: none;
 +
grid: "a" 100px "b" 1fr;
 +
grid: [linename1] "a" 100px [linename2];
 +
grid: "a" 200px "b" min-content;
 +
grid: "a" minmax(100px, max-content) "b" 20%;
 +
grid: 100px / 200px;
 +
grid: minmax(400px, min-content) / repeat(auto-fill, 50px);
 +
 +
/* <grid-template-rows> / [ auto-flow && dense? ] <grid-auto-columns>? */
 +
grid: 200px / auto-flow;
 +
grid: 30% / auto-flow dense;
 +
grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px;
 +
grid: [line1] minmax(20em, max-content) / auto-flow dense 40%;
 +
 +
/* [ auto-flow && dense? ] <grid-auto-rows>? / <grid-template-columns> */
 +
grid: auto-flow / 200px;
 +
grid: auto-flow dense / 30%;
 +
grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px);
 +
grid: auto-flow dense 40% / [line1] minmax(20em, max-content);
 +
 +
/* القيم العامة */
 +
grid: inherit;
 +
grid: initial;
 +
grid: unset;
 +
</syntaxhighlight>
 +
ملاحظة: يمكنك تحديد القيم التي تُحدِّد خصائص الشبكة بوضوح (explicit) '''أو''' التي تُحدِّدها ضمنيًا (implicit) في قاعدة grid، والخاصيات التي لا تُحدِّد قيمتها ستُضبَط إلى القيمة الابتدائية (كما هو معتاد في الخاصيات المختصرة).
  
 
== أمثلة ==
 
== أمثلة ==
سطر 116: سطر 120:
 
<syntaxhighlight lang="css">
 
<syntaxhighlight lang="css">
 
<grid-template-rows> / [ auto-flow && dense? ] <grid-auto-columns>?
 
<grid-template-rows> / [ auto-flow && dense? ] <grid-auto-columns>?
</syntaxhighlight>ضبط آلية ملء المحتوى بتحديد مسارات الأسطر (row tracks) بوضوح عبر الخاصية <code>[[CSS/grid-template-rows|grid-template-rows]]</code> (وبضبط قيمة الخاصية <code>[[CSS/grid-template-columns|grid-template-columns]]</code> إلى <code>none</code>) وبتحديد كيفية تكرار مسارات الأعمدة (column tracks) عبر الخاصية <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> (وبضبط قيمة الخاصية <code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> إلى <code>auto</code>)؛ وستُضبَط الخاصية <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code> إلى <code>column</code>، مع القيمة <code>dense</code> إن حُدِّدَت.
+
</syntaxhighlight>ضبط آلية ملء المحتوى بتحديد مسارات الأسطر (row tracks) بوضوح عبر الخاصية <code>[[CSS/grid-template-rows|grid-template-rows]]</code> (وبضبط الخاصية <code>[[CSS/grid-template-columns|grid-template-columns]]</code> إلى <code>none</code>) وبتحديد كيفية تكرار مسارات الأعمدة (column tracks) عبر الخاصية <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> (وبضبط الخاصية <code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> إلى <code>auto</code>)؛ وستُضبَط الخاصية <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code> إلى <code>column</code>، مع <code>dense</code> إن حُدِّدَت.
  
 
سيُعاد ضبط جميع الخاصيات الأخرى التي تضبطها الخاصية <code>grid</code> إلى قيمها الابتدائية.
 
سيُعاد ضبط جميع الخاصيات الأخرى التي تضبطها الخاصية <code>grid</code> إلى قيمها الابتدائية.
سطر 123: سطر 127:
 
<syntaxhighlight lang="css">
 
<syntaxhighlight lang="css">
 
[ auto-flow && dense? ] <grid-auto-rows>? / <grid-template-columns>
 
[ auto-flow && dense? ] <grid-auto-rows>? / <grid-template-columns>
</syntaxhighlight>ضبط آلية ملء المحتوى بتحديد مسارات الأعمدة (column tracks) بوضوح عبر الخاصية <code>[[CSS/grid-template-columns|grid-template-columns]]</code> (وبضبط قيمة الخاصية <code>[[CSS/grid-template-rows|grid-template-rows]]</code> إلى <code>none</code>) وبتحديد كيفية تكرار مسارات الأسطر (row tracks) عبر الخاصية <code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> (وبضبط قيمة الخاصية <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> إلى <code>auto</code>)؛ وستُضبَط الخاصية <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code> إلى <code>row</code>، مع القيمة <code>dense</code> إن حُدِّدَت.
+
</syntaxhighlight>ضبط آلية ملء المحتوى بتحديد مسارات الأعمدة (column tracks) بوضوح عبر الخاصية <code>[[CSS/grid-template-columns|grid-template-columns]]</code> (وبضبط الخاصية <code>[[CSS/grid-template-rows|grid-template-rows]]</code> إلى <code>none</code>) وبتحديد كيفية تكرار مسارات الأسطر (row tracks) عبر الخاصية <code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> (وبضبط الخاصية <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> إلى <code>auto</code>)؛ وستُضبَط الخاصية <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code> إلى <code>row</code>، مع <code>dense</code> إن حُدِّدَت.
  
 
سيُعاد ضبط جميع الخاصيات الأخرى التي تضبطها الخاصية <code>grid</code> إلى قيمها الابتدائية.
 
سيُعاد ضبط جميع الخاصيات الأخرى التي تضبطها الخاصية <code>grid</code> إلى قيمها الابتدائية.
سطر 131: سطر 135:
 
grid: <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>;
 
grid: <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>;
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
== انظر أيضًا ==
 +
* صفحة الخاصيات الفرعية التي تضبطها الخاصية <code>grid</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-area]]</code><code>[[CSS/grid-auto-rows|grid-auto-rows]]</code> و <code>[[CSS/grid-auto-columns|grid-auto-columns]]</code> و <code>[[CSS/grid-auto-flow|grid-auto-flow]]</code> و <code>[[CSS/grid-column-gap|grid-column-gap]]</code> و <code>[[CSS/grid-row-gap|grid-row-gap]]</code>.
 +
 
== مصادر ومواصفات ==
 
== مصادر ومواصفات ==
 
* مواصفة [https://drafts.csswg.org/css-grid/#propdef-grid CSS Grid Layout].  
 
* مواصفة [https://drafts.csswg.org/css-grid/#propdef-grid CSS Grid Layout].  
[[تصنيف:CSS]]
+
[[تصنيف:CSS|{{SUBPAGENAME}}]]
[[تصنيف:CSS Property]]
+
[[تصنيف:CSS Property|{{SUBPAGENAME}}]]
[[تصنيف:CSS Grid]]
+
[[تصنيف:CSS Grid|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 07:54، 12 سبتمبر 2018

الخاصية grid المختصرة في CSS تضبط جميع الخاصيات التي تُحدَّد خصائص الشبكة بوضوح (أي grid-template-rows و grid-template-columns و grid-template-areas)، وجميع الخاصيات التي تُحدِّد خصائص الشبكة ضمنيًا (أي grid-auto-rows و grid-auto-columns و grid-auto-flow)، والخاصيات التي تُضبِط الفراغ بين الأعمدة والأسطر (أي grid-column-gap و grid-row-gap)، وكل ذلك في قاعدة واحدة.

بطاقة الخاصية

القيمة الابتدائية لكل قيمة مختصرة:
تُطبَّق على حاويات grid.
قابلة للوراثة لا
قابلة للتحريك لا
القيمة المحسوبة لكل قيمة مختصرة:
/* <grid-template> */
grid: none;
grid: "a" 100px "b" 1fr;
grid: [linename1] "a" 100px [linename2];
grid: "a" 200px "b" min-content;
grid: "a" minmax(100px, max-content) "b" 20%;
grid: 100px / 200px;
grid: minmax(400px, min-content) / repeat(auto-fill, 50px);

/* <grid-template-rows> / [ auto-flow && dense? ] <grid-auto-columns>? */
grid: 200px / auto-flow;
grid: 30% / auto-flow dense;
grid: repeat(3, [line1 line2 line3] 200px) / auto-flow 300px;
grid: [line1] minmax(20em, max-content) / auto-flow dense 40%;

/* [ auto-flow && dense? ] <grid-auto-rows>? / <grid-template-columns> */
grid: auto-flow / 200px;
grid: auto-flow dense / 30%;
grid: auto-flow 300px / repeat(3, [line1 line2 line3] 200px);
grid: auto-flow dense 40% / [line1] minmax(20em, max-content);

/* القيم العامة */
grid: inherit;
grid: initial;
grid: unset;

ملاحظة: يمكنك تحديد القيم التي تُحدِّد خصائص الشبكة بوضوح (explicit) أو التي تُحدِّدها ضمنيًا (implicit) في قاعدة grid، والخاصيات التي لا تُحدِّد قيمتها ستُضبَط إلى القيمة الابتدائية (كما هو معتاد في الخاصيات المختصرة).

أمثلة

استعملنا في المثال الآتي تخطيط grid مع تحديد مسارات الأسطر (row tracks) لتقسيم الشبكة إلى سطرين، وكل سطر بارتفاع 60px، أما الأعمدة فهي بعرض 80px:

<div id="container">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

شيفرة CSS:

#container {
  display: grid;
  grid: repeat(2, 60px) / auto-flow 80px;
}

#container > div {
  background-color: #8ca0ff;
  width: 50px;
  height: 50px;
}

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 57.0 52.0 10 (مع السابقة -ms-) 44 10.1

الإصدارات القديمة من متصفح Edge كانت تدعم تخطيط Grid دعمًا جزئيًا (كما في متصفح IE)، لكن الإصدار Edge 16 أصبح يدعم تخطيط Gird دعمًا كاملًا.

البنية العامة

تقبل الخاصية gird القيم التالية.

خصائص القالب

<grid-template>

تحديد قيمة للخاصية grid-template التي تتضمن الخاصيات grid-template-columns و grid-template-rows و grid-template-areas.

مسارات الأسطر

<grid-template-rows> / [ auto-flow && dense? ] <grid-auto-columns>?

ضبط آلية ملء المحتوى بتحديد مسارات الأسطر (row tracks) بوضوح عبر الخاصية grid-template-rows (وبضبط الخاصية grid-template-columns إلى none) وبتحديد كيفية تكرار مسارات الأعمدة (column tracks) عبر الخاصية grid-auto-columns (وبضبط الخاصية grid-auto-rows إلى auto)؛ وستُضبَط الخاصية grid-auto-flow إلى column، مع dense إن حُدِّدَت.

سيُعاد ضبط جميع الخاصيات الأخرى التي تضبطها الخاصية grid إلى قيمها الابتدائية.

مسارات الأعمدة

[ auto-flow && dense? ] <grid-auto-rows>? / <grid-template-columns>

ضبط آلية ملء المحتوى بتحديد مسارات الأعمدة (column tracks) بوضوح عبر الخاصية grid-template-columns (وبضبط الخاصية grid-template-rows إلى none) وبتحديد كيفية تكرار مسارات الأسطر (row tracks) عبر الخاصية grid-auto-rows (وبضبط الخاصية grid-auto-columns إلى auto)؛ وستُضبَط الخاصية grid-auto-flow إلى row، مع dense إن حُدِّدَت.

سيُعاد ضبط جميع الخاصيات الأخرى التي تضبطها الخاصية grid إلى قيمها الابتدائية.

البنية الرسمية

grid: <'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>;

انظر أيضًا

مصادر ومواصفات