آموزش رایگان 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 می‌توانید استایل‌ها و چیدمان‌ها را برای اندازه‌های مختلف تنظیم کنید و وب‌سایتی بسازید که در تمامی دستگاه‌ها خوانا و زیبا باشد. با تمرین و اجرای این اصول، می‌توانید مهارت‌های طراحی واکنش‌گرا خود را بهبود بخشید و تجربه کاربری بهتری برای کاربران خود فراهم کنید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

مطالعه بیشتر
کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

مطالعه بیشتر
بررسی کتابخانه‌های محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها
4م آبان 1403

بررسی کتابخانه‌های محبوب جاوا اسکریپت: آشنایی با Lodash و Moment.js - مزایا و کاربردها

مطالعه بیشتر
راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو
20م مرداد 1402

راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو

مطالعه بیشتر
مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها
28م مهر 1403

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر
آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination
29م مرداد 1402

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع
2م آبان 1403

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

مطالعه بیشتر
مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها
29م مهر 1403

مفاهیم پیشرفته در کلاس‌ها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثال‌ها

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

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

مطالعه بیشتر
استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی
11م آبان 1403

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

مطالعه بیشتر
تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها
9م آبان 1403

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403

مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی

مطالعه بیشتر

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