به آموزشگاه مجازی سینا خوش آمدید!

آموزش کار با ردیف ها و ستون های گرید در CSS

امتیاز
(0)

ما در درون ظرف گرید، تعداد و سایز ستون ها(columns) و ردیف های(rows) گرید را مشخص می کنیم. برای انجام این کار، از ویژگی های زیر استفاده می کنیم:

  1. grid-template-columns : این ویژگی، تعداد و عرض(width) ستون های درون گرید را مشخص می کند. 
  2. grid-template-rows : این ویژگی تعداد و ارتفاع(height) ردیف ها را در گرید مشخص می کند. 
  3. grid-template-areas : این ویژگی روش نمایش ستون ها و ردیف ها را با استفاده از آیتم های گرید نام گذاری شده، تعریف می کند. 

ویژگی grid-template-columns در CSS

ویژگی grid-template-columns تعداد و عرض ستون ها را در گرید مشخص می کند. مقدار این ویژگی، یک لیست از مقادیر است که با استفاده از فاصله های سفید از یکدیگر جدا شده اند؛ به طوری که هر مقدار، عرض ستون مربوطه را مشخص می کند. مقادیر متداول به صورت زیر هستند:

(100px 300px 200px) مقادیر ثابت
درصد (20% 60% 20%)
(1fr 2fr 1fr) واحد اف آر
auto (auto auto auto)
repeat() (repeat(3, 1fr))
minmax() (minmax(80px, 1fr) 150px 150px)

دستور grid-template-columns: auto در CSS

برای ایجاد یک چینش گرید که سه ستون برابر داشته باشد، از کلمه ی کلیدی auto استفاده می کنیم. 

مثال شماره 1

ایجاد یک گرید با سه ستون برابر:

.container {
  display: grid;
  grid-template-columns: auto auto auto;
}

نتیجه:

1
2
3
4
5
6

امتحان کنید

ستون های گرید با عرض مختلط

برای ایجاد یک چینش گرید با سه ستون، به طوری که دو ستون آن، عرض ثابتی داشته باشند و سایز یک ستون نیز برابر با auto باشد، به صورت زیر عمل کنید:

مثال شماره 2

ایجاد یک گرید با یک سایز ثابت برای ستون های 1 و 2 و استفاده از سایز auto برای ستون 3:

.container {
  display: grid;
  grid-template-columns: 80px 200px auto;
}

نتیجه:

1
2
3
4
5
6

امتحان کنید

نکته: اگر در یک گرید سه ستونه، بیش از سه آیتم گرید قرار داشته باشد، این گرید به طور اتوماتیک ردیف های جدیدی را اضافه می کند تا آیتم ها در آن جا شوند. 


استفاده از ستون های گرید با واحد fr

fr مخفف کلمه ی "fraction" به معنی قسمت است. این واحد، به طور اتوماتیک فضای در دسترس را به چند قسمت تقسیم می کند. 1fr یک قسمت از فضای در دسترس را اشغال می کند، درحالیکه 2fr دو قسمت از فضای در دسترس را اشغال می کند. 

مثال شماره 3

در اینجا، هر ستون %33.3 از عرض ظرف(container) را اشغال می کند، پس این فضا به طور مساوی تقسیم می شود: 

.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

نتیجه:

1
2
3
4
5
6

امتحان کنید

مثال شماره 4

در اینجا، ستون دوم دو برابر بزرگتر از دیگر ستون ها است:

.container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

نتیجه:

1
2
3
4
5
6

امتحان کنید

ستون های گرید به همراه تابع repeat()

از تابع repeat() برای تکرار کردن مقدار یک مجموعه از ستون ها یا ردیف ها در گرید استفاده می شود. 

مثال شماره 5

در این مثال، از تابع repeat() برای ایجاد سه ستون با عرض برابر در یک گرید استفاده شده است:

.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

نتیجه:

1
2
3
4
5
6

امتحان کنید

ستون های گرید و تابع minmax()

از تابع minmax() برای تعریف یک محدوده یا بازه،  که بزرگتر یا مساوی با یک مقدار مینیمم(min) و کوچکتر یا مساوی با یک مقدار ماکزیمم(max) است، استفاده می شود. 

مثال شماره 6

استفاده از minmax() برای تعریف اینکه اولین ستون حداقل 80px عرض داشته باشد و این اندازه بتواند تا 1fr افزایش یابد:

.container {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) 150px 150px;
}

نتیجه:

1
2
3
4
5
6

امتحان کنید

ویژگی grid-template-rows در CSS

ویژگی grid-template-rows تعداد و ارتفاع ردیف ها(row) را در گرید تعریف می کند. مقدار این ویژگی، یک لیست است که محتوای آن با استفاده از فاصله ی سفید از یکدیگر جدا شده اند و هر مقدار بیانگر ارتفاعِ ردیفِ(row) مربوطه است. 

مقادیر متداول این ویژگی عبارتند از:

  • طول های ثابت
  • درصد
  • واحد fr
  • auto
  • min-content
  • max-content
  • repeat()
  • minmax()
  • fit-content()

مثال شماره 7

 در این مثال، ردیف اول 80px ارتفاع دارد و ردیف دوم 200px ارتفاع دارد:

.container {
  display: grid;
  grid-template-rows: 80px 200px;
}

نتیجه:

1
2
3
4
5
6
7
8

امتحان کنید

نکته: توجه کنید که اولین ردیف در گرید 80px ارتفاع دارد و دومین ردیف 200px ارتفاع دارد و ردیف های بعدی به طور پیش فرض از مقدار auto استفاده می کنند.


منبع: https://www.w3schools.com/css

 

  • بازدید: 41

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال