cssطراحی سایت

جلسه ۶۶: نحوه ایجاد تنظیمات اولیه شبکه برای موسیقی کتی در CSS

نحوه ایجاد تنظیمات اولیه شبکه برای موسیقی کتی

ما با یک سند HTML بسیار ساده شروع خواهیم کرد.

<body> <aside></aside>

   <main></main> <footer></footer> </body>

در انتخاب این ساختار کمی آینده نگری دخیل است. خیلی زود خواهید فهمید همچنین توجه داشته باشید که نشانه گذاری کمی معنایی است. این یکی از مزایای استفاده از CSS grid است. شما بدون دردسرهای استفاده از علامت گذاری container اضافی را ذخیره می کنید اکنون سند را استایل کنید.

body { display: grid; min-height: ۱۰۰% }

با ایجاد بدنه به عنوان یک محفظه شبکه ، این قالب قالب بندی شبکه شروع می شود اکنون می توانیم ساختار ردیف و ستون را در داخل شبکه تعریف کنیم.

چگونه می توان ردیف ها و ستون ها را برای موسیقی کتی ایجاد کرد

ایجاد سطرها و ستون ها بسیار آسان است. طرح نهایی که ما به دنبال آن هستیم این است:

با این حال ، تنظیمات اولیه grid ای که به آن نیاز داریم ، grid ای با ۲ ردیف و ۲ ستون است.

در اینجا چند نکته در مورد تنظیم ستون ذکر شده است
  1. ستون اول باید یک عرض ثابت داشته باشد – مثلاً ۵۰ پیکسل
  2. ستون دوم باید عرض باقیمانده را در grid پر کند.
هنگام تنظیم ردیف:
  1. ردیف دوم باید یک ارتفاع ثابت داشته باشد – مثلاً ۱۰۰ پیکسل
  2. ردیف اول نیز باید ارتفاع باقیمانده را در شبکه پر کند.

راه حل منطقی.

اگر با CSS خیلی تجربه ندارید ، احتمالاً این را می نویسید:
body {

   ...
grid-template-rows: 100% 100px;
grid-template-columns: 50px 100%;
}
var gridArea = "content"
آنچه در بالا انجام می شود مانند این است که بگویید ، “رشته ، محتوا را در متغیر gridArea ذخیره کنید آنچه اعلامیه های CSS در بالا انجام می دهد کاملاً مشابه است. هر مورد از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد. دوباره آن را بخوانید موارد بسیاری از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد با این حال ، قبل از انجام این کار ، ضروری است که موارد شبکه را به یک نام منطقه متصل کنید. مثل اینکه متغیرها را در Javascript اختصاص دهید – مرتب کنید.
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}
بلوک کد بالا می گوید ، اجازه دهید عنصر .main یک نام منطقه از محتوا داشته باشد. بگذارید عنصر .footer نام منطقه ای از پاورقی باشد. در آخر ، اجازه دهید کلاس .aside یک نام شبکه از نوار کناری داشته باشد اکنون به همه عناصر شبکه نام ناحیه اختصاص داده شده است. در برنامه نویسی ، متغیرها قرار است در جای دیگری استفاده شوند. بیایید در درس بعدی از نام grid area استفاده کنیم.
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}

آنجا چه اتفاقی می افتد؟

اگر کمی Javascript یا هر زبان برنامه نویسی بلد باشید ، مفاهیم متغیرها برای شما جدید نیستند. در Javascript می توان گفت:
var gridArea = "content"
آنچه در بالا انجام می شود مانند این است که بگویید ، “رشته ، محتوا را در متغیر gridArea ذخیره کنید آنچه اعلامیه های CSS در بالا انجام می دهد کاملاً مشابه است. هر مورد از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد. دوباره آن را بخوانید موارد بسیاری از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد با این حال ، قبل از انجام این کار ، ضروری است که موارد شبکه را به یک نام منطقه متصل کنید. مثل اینکه متغیرها را در Javascript اختصاص دهید – مرتب کنید.
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}
بلوک کد بالا می گوید ، اجازه دهید عنصر .main یک نام منطقه از محتوا داشته باشد. بگذارید عنصر .footer نام منطقه ای از پاورقی باشد. در آخر ، اجازه دهید کلاس .aside یک نام شبکه از نوار کناری داشته باشد اکنون به همه عناصر شبکه نام ناحیه اختصاص داده شده است. در برنامه نویسی ، متغیرها قرار است در جای دیگری استفاده شوند. بیایید در درس بعدی از نام grid area استفاده کنیم.
body {
   ...
   grid-template-rows: 1fr 50px;
   grid-template-columns: 50px 1fr;
و این تمام شد – انجام شد! ۵۰ پیکسل به مسیرهای ثابت و فضای تعویض شده توسط مسیر شبکه دیگر اختصاص می یابد. اگر هنوز با واحد fr اشتباه گرفته اید ، لطفاً بخش Cractal Unit (Fr) CSS را به زبان ساده و قابل دسترسی بررسی کنید. خواندن فقط ۳ دقیقه طول می کشد.

نامگذاری و موقعیت یابی موارد بر اساس مناطق شبکه

در درس قبلی ، ما به وضوح سیستم شبکه را ایجاد کردیم. حالا ، اجازه دهید شبکه را برای استفاده قرار دهیم. هدف این بخش یادگیری موقعیت یابی موارد شبکه با استفاده از مناطق شبکه است. اگر از درس قبلی به یاد بیاورید ، منطقه شبکه هر منطقه محدود شده با ۴ خط شبکه است.

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

چگونه شروع به استفاده از grid areas می کنید؟

مکان منطقی برای شروع نامگذاری grid areas است. بگذارید در این مورد توضیح دهم. بلوک کد زیر را در نظر بگیرید:

<div class=”aside”></div> <div class=”main”></div> <div class=”footer”></div>

۳ divs – ساده است. به هر حال ، استفاده از تگ های اصلی و پاورقی از نظر معنایی بهتر است. من فقط کارها را ساده انجام خواهم داد اکنون به این نگاه کنید:
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}

آنجا چه اتفاقی می افتد؟

اگر کمی Javascript یا هر زبان برنامه نویسی بلد باشید ، مفاهیم متغیرها برای شما جدید نیستند. در Javascript می توان گفت:
var gridArea = "content"
آنچه در بالا انجام می شود مانند این است که بگویید ، “رشته ، محتوا را در متغیر gridArea ذخیره کنید آنچه اعلامیه های CSS در بالا انجام می دهد کاملاً مشابه است. هر مورد از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد. دوباره آن را بخوانید موارد بسیاری از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد با این حال ، قبل از انجام این کار ، ضروری است که موارد شبکه را به یک نام منطقه متصل کنید. مثل اینکه متغیرها را در Javascript اختصاص دهید – مرتب کنید.
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}
بلوک کد بالا می گوید ، اجازه دهید عنصر .main یک نام منطقه از محتوا داشته باشد. بگذارید عنصر .footer نام منطقه ای از پاورقی باشد. در آخر ، اجازه دهید کلاس .aside یک نام شبکه از نوار کناری داشته باشد اکنون به همه عناصر شبکه نام ناحیه اختصاص داده شده است. در برنامه نویسی ، متغیرها قرار است در جای دیگری استفاده شوند. بیایید در درس بعدی از نام grid area استفاده کنیم.
body {
   ...
   grid-template-rows: calc(100% - 50px) 50px;
   grid-template-columns: 50px calc(100%-50px);
این بسیار هوشمندانه است. اما این یک مشکل دارد – خیلی قابل نگهداری نیست. به عنوان مثال ، اگر مجبورید هر یک از عرضهای ثابت را تغییر دهید ، باید همیشه تعریف calc را هر بار تغییر دهید.

راه حل کارآمد

خوشبختانه CSS Grid دارای واحد جدیدی است که این مشکل را با ظرافت حل می کند.

fractional unit (fr)

fractional unit مشکل توزیع خودکار فضا را حل می کند. اگر سه ستون شبکه مطابق شکل زیر تراز کنید ،fractional unit به طور خودکار فضا را به طور مساوی توزیع می کند.

اگر به هر دلیلی عناصر بیشتری اضافه کردید – جای نگرانی نیست. واحد fr به یک اندازه فضا را توزیع می کند.

سرانجام ، اگر یک عنصر با عرض ثابت دارید ، می توانید فضای باقیمانده را با واحد fr اشغال کنید. منظور من این است:
body {
   ...
   grid-template-rows: 1fr 50px;
   grid-template-columns: 50px 1fr;
و این تمام شد – انجام شد! ۵۰ پیکسل به مسیرهای ثابت و فضای تعویض شده توسط مسیر شبکه دیگر اختصاص می یابد. اگر هنوز با واحد fr اشتباه گرفته اید ، لطفاً بخش Cractal Unit (Fr) CSS را به زبان ساده و قابل دسترسی بررسی کنید. خواندن فقط ۳ دقیقه طول می کشد.

نامگذاری و موقعیت یابی موارد بر اساس مناطق شبکه

در درس قبلی ، ما به وضوح سیستم شبکه را ایجاد کردیم. حالا ، اجازه دهید شبکه را برای استفاده قرار دهیم. هدف این بخش یادگیری موقعیت یابی موارد شبکه با استفاده از مناطق شبکه است. اگر از درس قبلی به یاد بیاورید ، منطقه شبکه هر منطقه محدود شده با ۴ خط شبکه است.

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

چگونه شروع به استفاده از grid areas می کنید؟

مکان منطقی برای شروع نامگذاری grid areas است. بگذارید در این مورد توضیح دهم. بلوک کد زیر را در نظر بگیرید:

<div class=”aside”></div> <div class=”main”></div> <div class=”footer”></div>

۳ divs – ساده است. به هر حال ، استفاده از تگ های اصلی و پاورقی از نظر معنایی بهتر است. من فقط کارها را ساده انجام خواهم داد اکنون به این نگاه کنید:
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}

آنجا چه اتفاقی می افتد؟

اگر کمی Javascript یا هر زبان برنامه نویسی بلد باشید ، مفاهیم متغیرها برای شما جدید نیستند. در Javascript می توان گفت:
var gridArea = "content"
آنچه در بالا انجام می شود مانند این است که بگویید ، “رشته ، محتوا را در متغیر gridArea ذخیره کنید آنچه اعلامیه های CSS در بالا انجام می دهد کاملاً مشابه است. هر مورد از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد. دوباره آن را بخوانید موارد بسیاری از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد با این حال ، قبل از انجام این کار ، ضروری است که موارد شبکه را به یک نام منطقه متصل کنید. مثل اینکه متغیرها را در Javascript اختصاص دهید – مرتب کنید.
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}
بلوک کد بالا می گوید ، اجازه دهید عنصر .main یک نام منطقه از محتوا داشته باشد. بگذارید عنصر .footer نام منطقه ای از پاورقی باشد. در آخر ، اجازه دهید کلاس .aside یک نام شبکه از نوار کناری داشته باشد اکنون به همه عناصر شبکه نام ناحیه اختصاص داده شده است. در برنامه نویسی ، متغیرها قرار است در جای دیگری استفاده شوند. بیایید در درس بعدی از نام grid area استفاده کنیم. مشکل این مسئله این است که شما به طور تصادفی شبکه ای ایجاد کرده اید که عرض و ارتفاع آن در کل ۱۰۰٪ + ۵۰px باشد ما می خواهیم عرض و ارتفاع کلی دقیقاً ۱۰۰٪ داشته باشیم ، بنابراین این روش اشتباه است.

راه حل شخص “باهوش”.

اگر تجربه CSS را دارید ، احتمالاً کار بسیار هوشمندانه تری انجام خواهید داد. مثل این:
body {
   ...
   grid-template-rows: calc(100% - 50px) 50px;
   grid-template-columns: 50px calc(100%-50px);
این بسیار هوشمندانه است. اما این یک مشکل دارد – خیلی قابل نگهداری نیست. به عنوان مثال ، اگر مجبورید هر یک از عرضهای ثابت را تغییر دهید ، باید همیشه تعریف calc را هر بار تغییر دهید.

راه حل کارآمد

خوشبختانه CSS Grid دارای واحد جدیدی است که این مشکل را با ظرافت حل می کند.

fractional unit (fr)

fractional unit مشکل توزیع خودکار فضا را حل می کند. اگر سه ستون شبکه مطابق شکل زیر تراز کنید ،fractional unit به طور خودکار فضا را به طور مساوی توزیع می کند.

اگر به هر دلیلی عناصر بیشتری اضافه کردید – جای نگرانی نیست. واحد fr به یک اندازه فضا را توزیع می کند.

سرانجام ، اگر یک عنصر با عرض ثابت دارید ، می توانید فضای باقیمانده را با واحد fr اشغال کنید. منظور من این است:
body {
   ...
   grid-template-rows: 1fr 50px;
   grid-template-columns: 50px 1fr;
و این تمام شد – انجام شد! ۵۰ پیکسل به مسیرهای ثابت و فضای تعویض شده توسط مسیر شبکه دیگر اختصاص می یابد. اگر هنوز با واحد fr اشتباه گرفته اید ، لطفاً بخش Cractal Unit (Fr) CSS را به زبان ساده و قابل دسترسی بررسی کنید. خواندن فقط ۳ دقیقه طول می کشد.

نامگذاری و موقعیت یابی موارد بر اساس مناطق شبکه

در درس قبلی ، ما به وضوح سیستم شبکه را ایجاد کردیم. حالا ، اجازه دهید شبکه را برای استفاده قرار دهیم. هدف این بخش یادگیری موقعیت یابی موارد شبکه با استفاده از مناطق شبکه است. اگر از درس قبلی به یاد بیاورید ، منطقه شبکه هر منطقه محدود شده با ۴ خط شبکه است.

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

چگونه شروع به استفاده از grid areas می کنید؟

مکان منطقی برای شروع نامگذاری grid areas است. بگذارید در این مورد توضیح دهم. بلوک کد زیر را در نظر بگیرید:

<div class=”aside”></div> <div class=”main”></div> <div class=”footer”></div>

۳ divs – ساده است. به هر حال ، استفاده از تگ های اصلی و پاورقی از نظر معنایی بهتر است. من فقط کارها را ساده انجام خواهم داد اکنون به این نگاه کنید:
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}

آنجا چه اتفاقی می افتد؟

اگر کمی Javascript یا هر زبان برنامه نویسی بلد باشید ، مفاهیم متغیرها برای شما جدید نیستند. در Javascript می توان گفت:
var gridArea = "content"
آنچه در بالا انجام می شود مانند این است که بگویید ، “رشته ، محتوا را در متغیر gridArea ذخیره کنید آنچه اعلامیه های CSS در بالا انجام می دهد کاملاً مشابه است. هر مورد از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد. دوباره آن را بخوانید موارد بسیاری از شبکه را می توان به منطقه ای در ظرف شبکه اختصاص داد با این حال ، قبل از انجام این کار ، ضروری است که موارد شبکه را به یک نام منطقه متصل کنید. مثل اینکه متغیرها را در Javascript اختصاص دهید – مرتب کنید.
.main {
  grid-area: content;
}
.footer {
  grid-area: footer;
}
.aside {
  grid-area: sidebar;
}
بلوک کد بالا می گوید ، اجازه دهید عنصر .main یک نام منطقه از محتوا داشته باشد. بگذارید عنصر .footer نام منطقه ای از پاورقی باشد. در آخر ، اجازه دهید کلاس .aside یک نام شبکه از نوار کناری داشته باشد اکنون به همه عناصر شبکه نام ناحیه اختصاص داده شده است. در برنامه نویسی ، متغیرها قرار است در جای دیگری استفاده شوند. بیایید در درس بعدی از نام grid area استفاده کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا