آموزش رایگان CSS

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

10م شهریور 1402 محراب حسن زاده
آموزش 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) در جاوا اسکریپت: راهنمای جامع
28م مهر 1403

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

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

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

مطالعه بیشتر
آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی
4م آبان 1403

آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی

مطالعه بیشتر
آموزش کامل Super Global ها در PHP (متغیرهای سراسری)
27م تیر 1405

آموزش کامل Super Global ها در PHP (متغیرهای سراسری)

مطالعه بیشتر
تفاوت PHP با HTML، CSS و JavaScript؛ راهنمای جامع و ساده برای مبتدیان
21م خرداد 1405

تفاوت PHP با HTML، CSS و JavaScript؛ راهنمای جامع و ساده برای مبتدیان

مطالعه بیشتر
تفاوت متد GET و POST در PHP؛ راهنمای جامع و استاندارد گوگل
27م تیر 1405

تفاوت متد GET و POST در PHP؛ راهنمای جامع و استاندارد گوگل

مطالعه بیشتر
آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب
12م آبان 1403

آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگ‌ها و ایجاد افکت‌های جذاب

مطالعه بیشتر
پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها
2م بهمن 1402

پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها

مطالعه بیشتر
معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن
28م شهریور 1402

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها
30م مهر 1403

مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها

مطالعه بیشتر
نصب Vue.js و ایجاد پروژه ساده: آموزش گام‌به‌گام راه‌اندازی Vue
28م شهریور 1402

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

مطالعه بیشتر
راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا
18م مرداد 1402

راهنمای کامل تگ‌های متنی HTML و اصول سئو برای محتوا

مطالعه بیشتر

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