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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

20م مرداد 1402

مطالعه بیشتر

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

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

2م شهریور 1403

مطالعه بیشتر

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

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

2م آبان 1403

مطالعه بیشتر

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

30م مهر 1403

مطالعه بیشتر

آموزش ایجاد فرم با استفاده از HTML: طراحی فرم‌های ساده و کاربردی

آموزش ایجاد فرم با استفاده از HTML: طراحی فرم‌های ساده و کاربردی

21م مرداد 1402

مطالعه بیشتر

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

28م شهریور 1402

مطالعه بیشتر

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

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

3م آبان 1403

مطالعه بیشتر

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

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

28م مهر 1403

مطالعه بیشتر

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

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

28م مهر 1403

مطالعه بیشتر

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

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

12م آبان 1403

مطالعه بیشتر

آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگ‌های img و a

آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگ‌های img و a

21م مرداد 1402

مطالعه بیشتر

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

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

28م شهریور 1402

مطالعه بیشتر

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