در حال بارگذاری...

آیتم‌های Grid

آیتم‌های Grid (Grid Items) عناصر فردی داخل یک Grid Container در CSS هستند که ساختار و چینش محتوای صفحه وب را تعیین می‌کنند. این آیتم‌ها اهمیت زیادی دارند زیرا با کنترل دقیق آن‌ها می‌توان محتوا را به صورت منظم، هماهنگ و پاسخگو نمایش داد؛ همانند ساخت یک خانه که هر اتاق کارکرد و جایگاه مشخص خود را دارد. در یک فروشگاه آنلاین (online shop)، آیتم‌های Grid برای نمایش محصولات در ردیف‌ها و ستون‌های منظم استفاده می‌شوند، در سایت خبری (news website) مقالات، تصاویر و تبلیغات با Grid Itemها سازماندهی می‌شوند، در وبلاگ شخصی (personal blog) پست‌ها و تصاویر به شکل منظم مرتب می‌شوند و در پرتال‌های دولتی (government portal) محتوا و بخش‌های مختلف سایت با نظم و ترتیب مناسب نمایش داده می‌شوند.
در این آموزش شما خواهید آموخت که چگونه با استفاده از ویژگی‌هایی مانند grid-column، grid-row، justify-self و align-self هر آیتم را به صورت دقیق در جایگاه دلخواه قرار دهید و اندازه و موقعیت آن را مدیریت کنید. همچنین یاد می‌گیرید چگونه آیتم‌های Grid را به شکل پاسخگو (responsive) طراحی کنید تا روی دستگاه‌های مختلف به درستی نمایش داده شوند. کار با Grid Items مانند چیدمان اتاق یا سازماندهی یک کتابخانه است: هر آیتم جایگاه مشخص خود را دارد و چینش صحیح باعث افزایش کارایی و زیبایی صفحه وب می‌شود. پس از مطالعه این آموزش، قادر خواهید بود طرح‌های پیچیده و قابل نگهداری برای پروژه‌های واقعی ایجاد کنید.

مثال پایه

css
CSS Code
.container {
display: grid; /* تعریف کانتینر به عنوان Grid */
grid-template-columns: repeat(3, 1fr); /* سه ستون با عرض برابر */
grid-template-rows: 100px 200px; /* دو ردیف با ارتفاع متفاوت */
gap: 10px; /* فاصله بین آیتم‌ها */
}

.item1 { grid-column: 1 / 3; /* اشغال دو ستون اول */ }
.item2 { grid-row: 2 / 3; /* قرار گرفتن در ردیف دوم */ }

در این مثال، با استفاده از display: grid کانتینر به یک Grid تبدیل شده است که پایه هر ساختار CSS Grid محسوب می‌شود. ویژگی grid-template-columns با دستور repeat(3, 1fr) سه ستون با عرض مساوی ایجاد می‌کند، که 1fr بیانگر یک قسمت از فضای موجود است. grid-template-rows دو ردیف با ارتفاع متفاوت تعریف می‌کند و gap فاصله بین آیتم‌ها را مشخص می‌کند، مشابه فاصله دادن بین مبلمان در یک اتاق.
آیتم .item1 با grid-column: 1 / 3 دو ستون اول را اشغال می‌کند و .item2 با grid-row: 2 / 3 در ردیف دوم قرار می‌گیرد. این ویژگی‌ها به توسعه‌دهندگان اجازه می‌دهند هر آیتم را دقیقاً در مکان و اندازه دلخواه خود قرار دهند. برای مبتدیان، درک تفاوت بین شماره ردیف/ستون و استفاده از span اهمیت دارد؛ می‌توان خطوط Grid را مانند قفسه‌های یک کتابخانه تصور کرد تا محدوده‌ی هر آیتم بهتر قابل فهم باشد.

مثال کاربردی

css
CSS Code
.shop-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* ستون‌های انعطاف‌پذیر */
grid-auto-rows: 150px; /* ارتفاع پیش‌فرض ردیف‌ها */
gap: 15px;
}

.product { background-color: #f0f0f0; padding: 10px; } /* استایل بصری */
.product.featured { grid-column: span 2; grid-row: span 2; } /* برجسته کردن محصولات ویژه */

در این مثال پیشرفته، از auto-fit و minmax برای ایجاد ستون‌های انعطاف‌پذیر استفاده شده که با عرض صفحه نمایش تغییر می‌کنند؛ این یک نمونه از طراحی موبایل فرست (mobile-first) است. grid-auto-rows ارتفاع پیش‌فرض ردیف‌ها را تعیین می‌کند تا ساختار آیتم‌ها یکنواخت باشد. ویژگی gap فاصله مناسب بین آیتم‌ها را فراهم می‌کند.
هر محصول با .product دارای پس‌زمینه و padding است تا از نظر بصری متمایز شود. محصولات ویژه با استفاده از grid-column: span 2 و grid-row: span 2 چند ستون و ردیف را اشغال می‌کنند و برجسته می‌شوند. این تکنیک مناسب فروشگاه آنلاین برای نمایش محصولات مهم، وبلاگ برای مقالات ویژه یا سایت خبری برای محتوای برجسته است. توانایی گسترش آیتم‌ها در چند ستون و ردیف، یکی از مهارت‌های پیشرفته برای ایجاد چینش‌های پویا و سلسله‌مراتبی است.

بهترین شیوه‌ها شامل طراحی mobile-first برای اطمینان از عملکرد صحیح در همه دستگاه‌ها، بهینه‌سازی عملکرد با جلوگیری از Nestingهای اضافی و سلکتورهای پیچیده، کدنویسی تمیز و Semantic و ساخت Gridهای مدولار برای نگهداری آسان است.
اشتباهات رایج شامل تضاد specificity که باعث اعمال نشدن استایل‌ها می‌شود، طراحی پاسخگو ضعیف که منجر به بهم ریختگی آیتم‌ها می‌شود، overrideهای بیش از حد که کد را ناخوانا می‌کند و غفلت از grid-gap که ساختار را فشرده نشان می‌دهد. برای دیباگینگ، از ابزارهای توسعه مرورگر برای بررسی خطوط Grid و spanها استفاده کنید و با رنگ‌های پس‌زمینه موقت، چینش را نمایش دهید. توصیه عملی این است که طرح‌ها را مرحله‌به‌مرحله ایجاد کنید، همانند چیدمان اتاق به صورت مرحله‌ای برای رسیدن به یک طراحی منسجم.

📊 مرجع سریع

Property/Method Description Example
grid-column تعیین ستون‌های اشغال شده توسط آیتم grid-column: 1 / 3;
grid-row تعیین ردیف‌های اشغال شده توسط آیتم grid-row: 2 / 4;
justify-self تراز افقی آیتم در سلول justify-self: center;
align-self تراز عمودی آیتم در سلول align-self: end;
grid-area تعیین موقعیت و اندازه آیتم در یک ویژگی grid-area: 1 / 1 / 3 / 3;
gap فاصله بین آیتم‌ها gap: 10px;

خلاصه این که، آیتم‌های Grid (Grid Items) عناصر اساسی برای ساختارهای پیشرفته CSS Grid هستند. با ویژگی‌هایی مانند grid-column، grid-row، justify-self و align-self می‌توان موقعیت، اندازه و تراز هر آیتم را دقیقاً کنترل کرد. این مهارت‌ها با ساختار HTML و تعاملات JavaScript برای محتوای پویا مرتبط هستند. نکات کلیدی شامل اهمیت طراحی پاسخگو، ساختار مدولار و کدنویسی تمیز است. گام‌های بعدی شامل یادگیری grid-template-areas، auto-fill، minmax و ترکیب Grid و Flexbox برای ساختارهای هیبریدی است. تمرین مستمر با پروژه‌های واقعی مانند فروشگاه آنلاین، وبلاگ شخصی و سایت خبری، درک شما را تقویت و مهارت‌های طراحی و عملکرد را بهبود می‌بخشد.

🧠 دانش خود را بیازمایید

آماده شروع

آزمون دانش شما

درک خود از این موضوع را با سوالات کاربردی بسنجید.

4
سوالات
🎯
70%
برای قبولی
♾️
زمان
🔄
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود