آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

دسته : آموزش رایگان CSS

آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

طراحی واکنش‌گرا (Responsive Design) یک روش طراحی وب‌سایت است که برای بهبود تجربه کاربری در انواع دستگاه‌ها، از موبایل گرفته تا دسکتاپ، مورد استفاده قرار می‌گیرد. یکی از ابزارهای اصلی برای دستیابی به طراحی واکنش‌گرا Media Queries در CSS است. Media Queries به شما امکان می‌دهد استایل‌های متناسب با ابعاد و شرایط مختلف صفحه‌نمایش را تنظیم کنید. در این مقاله، نحوه استفاده از Media Queries و اصول کلیدی برای ایجاد وب‌سایت‌های واکنش‌گرا را یاد خواهیم گرفت.

 

Media Queries چیست و چرا مهم است؟

Media Queries یک ویژگی در CSS است که به شما امکان می‌دهد استایل‌ها را بر اساس ویژگی‌های صفحه‌نمایش (مانند عرض، ارتفاع، جهت نمایش و رزولوشن) تغییر دهید. این ویژگی برای طراحی وب‌سایت‌های واکنش‌گرا ضروری است زیرا کمک می‌کند طرح، چیدمان و استایل‌ها متناسب با اندازه صفحه‌نمایش کاربران تغییر کند و در نتیجه تجربه کاربری بهتری ایجاد شود.

 

نحوه استفاده از Media Queries در CSS

Media Queries به شما امکان می‌دهد که اندازه و نوع صفحه‌نمایش را کنترل کرده و استایل‌های خاصی را در شرایط خاص اعمال کنید. ساختار Media Queries به شکل زیر است:



@media (شرط) {
  /* استایل‌هایی که برای شرط تعیین‌شده اعمال می‌شوند */
}

 

مثال ساده Media Query



@media (max-width: 768px) {
  body {
    background-color: lightblue;
  }
}

 

در اینجا، اگر عرض صفحه‌نمایش کمتر از 768 پیکسل باشد، رنگ پس‌زمینه صفحه به آبی روشن تغییر می‌کند.

 

تنظیم Breakpoints در Media Queries

Breakpoints نقاطی در طراحی واکنش‌گرا هستند که در آن‌ها چیدمان و استایل وب‌سایت تغییر می‌کند. انتخاب Breakpoints مناسب به بهبود تجربه کاربری کمک می‌کند. معمولاً از Breakpoints زیر برای اندازه‌های مختلف صفحه‌نمایش استفاده می‌شود:

  • موبایل‌های کوچک: کمتر از 576 پیکسل

  • موبایل‌های بزرگ و تبلت‌های کوچک: بین 576 تا 768 پیکسل

  • تبلت‌های بزرگ و دسکتاپ‌های کوچک: بین 768 تا 992 پیکسل

  • دسکتاپ‌های بزرگ: بیشتر از 1200 پیکسل

مثال تعیین Breakpoints



/* موبایل‌های کوچک */
@media (max-width: 576px) {
  body {
    font-size: 14px;
  }
}

/* موبایل‌های بزرگ و تبلت‌های کوچک */
@media (min-width: 576px) and (max-width: 768px) {
  body {
    font-size: 16px;
  }
}

/* تبلت‌های بزرگ و دسکتاپ‌های کوچک */
@media (min-width: 768px) and (max-width: 992px) {
  body {
    font-size: 18px;
  }
}

/* دسکتاپ‌های بزرگ */
@media (min-width: 1200px) {
  body {
    font-size: 20px;
  }
}

 

در اینجا، اندازه فونت بر اساس Breakpoints مختلف تنظیم می‌شود تا در هر اندازه صفحه‌نمایش خوانا و متناسب باشد.

 

استفاده از Media Queries برای طراحی منوهای واکنش‌گرا

منوهای ناوبری یکی از بخش‌های مهم طراحی واکنش‌گرا هستند. در صفحه‌نمایش‌های کوچک، منوهای طولانی معمولاً به منوهای همبرگری تغییر پیدا می‌کنند.



/* نمایش منوی همبرگری در صفحه‌نمایش‌های کوچک */
@media (max-width: 768px) {
  .menu {
    display: none;
  }

  .hamburger-menu {
    display: block;
  }
}

/* نمایش منوی کامل در دسکتاپ */
@media (min-width: 769px) {
  .menu {
    display: flex;
  }

  .hamburger-menu {
    display: none;
  }
}

 

در اینجا:

  • در صفحه‌نمایش‌های کوچک، منوی اصلی پنهان و منوی همبرگری نمایش داده می‌شود.

  • در صفحه‌نمایش‌های بزرگ، منوی کامل به صورت افقی نمایش داده می‌شود.

 

طراحی شبکه‌های واکنش‌گرا با Media Queries

CSS Grid و Flexbox دو ابزار مفید برای ایجاد شبکه‌های واکنش‌گرا هستند که با استفاده از Media Queries می‌توانید تعداد ستون‌ها و چیدمان شبکه را برای دستگاه‌های مختلف تغییر دهید.

مثال طراحی واکنش‌گرا با Grid



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

@media (min-width: 576px) {
  .container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .container {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 992px) {
  .container {
    grid-template-columns: repeat(4, 1fr);
  }
}

 

در اینجا:

  • در صفحه‌های کوچک (کمتر از 576 پیکسل)، شبکه به صورت یک‌ستونی نمایش داده می‌شود.

  • در تبلت‌ها و دسکتاپ‌ها، تعداد ستون‌ها به ترتیب به 2، 3 و 4 افزایش می‌یابد.

 

تغییر اندازه تصاویر و ویدئوها با Media Queries

برای حفظ نسبت تصاویر و ویدئوها و جلوگیری از بارگذاری تصاویر بزرگ در صفحه‌نمایش‌های کوچک، می‌توانید اندازه تصاویر و ویدئوها را با Media Queries تنظیم کنید.



img {
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  img {
    width: 50%;
  }
}

 

در اینجا:

  • تصاویر در صفحه‌نمایش‌های کوچک به عرض کامل عنصر والد تنظیم می‌شوند.

  • در صفحه‌نمایش‌های بزرگ‌تر، تصاویر به 50 درصد کاهش می‌یابند تا فضای بیشتری در اختیار سایر محتواها قرار گیرد.

 

استفاده از Flexbox و Media Queries برای طراحی ریسپانسیو

Flexbox ابزاری مناسب برای ایجاد طرح‌های واکنش‌گرا است و می‌توانید با Media Queries جهت قرارگیری، فاصله‌ها و چیدمان عناصر را برای اندازه‌های مختلف تنظیم کنید.

مثال استفاده از Flexbox و Media Queries



.container {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .container {
    flex-direction: row;
  }
}

 

در اینجا:

  • در صفحه‌های کوچک، عناصر به صورت عمودی چیده می‌شوند.

  • در تبلت و دسکتاپ‌ها، عناصر به صورت افقی کنار هم قرار می‌گیرند.

 

استفاده از Media Queries برای فونت و تایپوگرافی

با استفاده از Media Queries می‌توانید اندازه و سبک فونت‌ها را برای اندازه‌های مختلف صفحه‌نمایش تنظیم کنید تا متن‌ها خوانا و زیبا باشند.



body {
  font-size: 16px;
}

@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}

@media (min-width: 1200px) {
  body {
    font-size: 18px;
  }
}

 

در اینجا:

  • اندازه فونت برای موبایل کوچک‌تر و برای دسکتاپ بزرگ‌تر تعیین شده است.

 

نکات و بهترین شیوه‌ها برای طراحی واکنش‌گرا

  • شروع طراحی با موبایل (Mobile-First Design): با طراحی برای صفحه‌نمایش‌های کوچک شروع کنید و سپس برای صفحه‌نمایش‌های بزرگتر استایل‌ها را اضافه کنید. این روش باعث می‌شود که کدهای اضافی برای موبایل تولید نشوند.

  • استفاده از واحدهای نسبی (em و rem): برای اندازه‌دهی متون و فضاها از واحدهای نسبی مانند em و rem استفاده کنید تا با تغییر اندازه صفحه‌نمایش، متن و چیدمان‌ها متناسب تغییر کنند.

  • پرهیز از استفاده بیش از حد از Media Queries: برای کاهش پیچیدگی و بهینه‌سازی کدها، تنها برای Breakpoints اصلی از Media Queries استفاده کنید.

  • آزمایش در دستگاه‌های مختلف: طراحی خود را در دستگاه‌های مختلف مانند موبایل، تبلت و دسکتاپ آزمایش کنید تا مطمئن شوید به درستی نمایش داده می‌شود.

 

نتیجه‌گیری

استفاده از Media Queries یکی از مهارت‌های کلیدی برای طراحی وب‌سایت‌های واکنش‌گرا است. با استفاده از Media Queries می‌توانید استایل‌ها و چیدمان‌ها را برای اندازه‌های مختلف تنظیم کنید و وب‌سایتی بسازید که در تمامی دستگاه‌ها خوانا و زیبا باشد. با تمرین و اجرای این اصول، می‌توانید مهارت‌های طراحی واکنش‌گرا خود را بهبود بخشید و تجربه کاربری بهتری برای کاربران خود فراهم کنید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

28م مهر 1403

مطالعه بیشتر

نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue

نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue

28م شهریور 1402

مطالعه بیشتر

آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی

آموزش طراحی و استایل‌دهی جدول‌ها در CSS: راهنمای ساده و کاربردی

10م شهریور 1402

مطالعه بیشتر

راهنمای کامل تگ‌های <img> و <a> در HTML: تصاویر و لینک‌ها

راهنمای کامل تگ‌های <img> و <a> در HTML: تصاویر و لینک‌ها

21م مرداد 1402

مطالعه بیشتر

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

9م آبان 1403

مطالعه بیشتر

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

11م آبان 1403

مطالعه بیشتر

تفاوت Callbacks و Promises در جاوا اسکریپت: مقایسه جامع با مثال‌ها

تفاوت Callbacks و Promises در جاوا اسکریپت: مقایسه جامع با مثال‌ها

30م مهر 1403

مطالعه بیشتر

آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی

آموزش قالب‌بندی متن در HTML: استفاده از تگ‌ها و CSS برای استایل‌دهی

23م مرداد 1402

مطالعه بیشتر

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

آموزش استفاده از box-shadow و text-shadow در CSS: ایجاد سایه‌های زیبا و جذاب

11م آبان 1403

مطالعه بیشتر

آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی

آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی

29م مرداد 1402

مطالعه بیشتر

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

استفاده از font face در CSS برای اضافه کردن فونت‌های سفارشی: راهنمای کامل

16م آبان 1403

مطالعه بیشتر

آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

آموزش کامل کار با آرایه‌ها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش

2م شهریور 1403

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد