به آموزشگاه مجازی سینا خوش آمدید!

آموزش مدیا کوئری ها در واکنش گرایی در CSS

امتیاز
(0)

مدیا کوئری ها به ما امکان می دهند تا استایل هایی را بسته به ویژگی های یک دستگاه یا محیطی که صفحه ی وب را نمایش می دهد، اعمال کنیم. استفاده از مدیا کوئری ها برای ایجاد صفحات وب واکنش گرا ضروری است. از دستور سی اس اس @media برای اضافه کردن مدیا کوئری ها به برگه های استایل(style sheet) استفاده می شود. 


استفاده از مدیا کوئری ها برای اضافه کردن یک نقطه شکست(Breakpoint)

در مقاله ی قبلی، یک صفحه ی وب با چینش گرید ایجاد کردیم. اکنون می خواهیم با استفاده از مدیا کوئری ها، یک نقطه ی شکست(breakpoint) اضافه کنیم تا آیتم های گرید را در صفحه های بزرگتر، مجدداً تنظیم کنیم. 

(دسکتاپ)

(موبایل)

مثال شماره 1

در مثال زیر، از یک مدیا کوئری برای اضافه کردن یک نقطه شکست در 600px استفاده شده است:

@media (min-width: 600px) {
  .header {grid-area: 1 / span 6;}
  .menu {grid-area: 2 / span 1;}
  .content {grid-area: 2 / span 4;}
  .facts {grid-area: 2 / span 1;}
  .footer {grid-area: 3 / span 6;}
}
امتحان کنید

یک نقطه ی شکست دیگر

ما می توانیم هر تعداد که بخواهیم نقطه ی شکست(breakpoint) اضافه کنیم. 

دسکتاپ

تبلت

موبایل

 

مثال شماره 2

در مثال زیر، از مدیا کوئری ها برای اضافه کردن نقاط شکست هنگامی که صفحه نمایش کمتر از 600px می شود و هنگامی که صفحه نمایش کمتر از 768px استفاده می کنیم:

@media (min-width: 600px) {
  .header {grid-area: 1 / span 6;}
  .menu {grid-area: 2 / span 1;}
  .content {grid-area: 2 / span 4;}
  .facts {grid-area: 3 / span 6;}
  .footer {grid-area: 4 / span 6;}
}

@media (min-width: 768px) {
  .header {grid-area: 1 / span 6;}
  .menu {grid-area: 2 / span 1;}
  .content {grid-area: 2 / span 4;}
  .facts {grid-area: 2 / span 1;}
  .footer {grid-area: 3 / span 6;}
}
امتحان کنید

بررسی نقاط شکست معمولی در CSS

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

مثال شماره 3

 /* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {...}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {...}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {...}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {...}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {...} 
امتحان کنید

استفاده از مدیا کوئری ها برای جهت صفحه

ما همچنین می توانیم از مدیا کوئری ها برای تغییر دادن چینش یک صفحه، بسته به جهت صفحه ی نمایش، استفاده کنیم. در مثال زیر، اگر جهت صفحه به صورت افقی(landscape) باشد، رنگ پس زمینه ی body تغییر می کند:

مثال شماره 4

@media only screen and (orientation: landscape) {
  body {
    background-color: lightblue;
  }
}
امتحان کنید

مخفی کردن عناصر با مدیا کوئری ها

در مثال زیر، با استفاده از مدیا کوئری ها، یک عنصر را در دستگاه های کوچک مخفی می کنیم:

مثال شماره 5

/* مخفی کردن عنصر اگر عرض منطقه دید 600 پیکسل یا کمتر باشد */
@media screen and (max-width: 600px) {
  #div1 {
    display: none;
  }
}
امتحان کنید

تغییر دادن سایز فونت با استفاده از مدیا کوئری ها

در مثال زیر، از مدیا کوئری ها برای تغییر دادن سایز فونت یک عنصر، در عرض های مختلف منطقه دید(viewport) استفاده می کنیم:

مثال شماره 6

/* اگر عرض منطقه دید 600 پیکسل یا بیشتر باشد، font-size برابر با 80 پیکسل تنظیم می شود */
@media screen and (min-width: 600px) {
  #div1 {
    font-size: 80px;
  }
}
امتحان کنید

استفاده از مدیا کوئری ها برای تنظیمات برگزیده کاربر(User Preferences)

برخی از کاربران، به حرکات حساسیت دارند و ترجیح می دهند که وب سایت ها از انیمیشن های کمتری استفاده کنند. ویژگی مدیای prefers-reduced-motion به ما امکان می دهد تا اگر یک کاربر درخواست کاهش حرکت انیمیشن یا transition داشته باشد، این موضوع را برای او بررسی کنیم. از این ویژگی برای خاموش کردن انیمیشن ها و transition ها برای کاربرانی که این تنظیم را در رایانه ی خود فعال کرده اند، استفاده می شود. 

مثال شماره 7

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
امتحان کنید

منبع: https://www.w3schools.com/css

 

  • بازدید: 106

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال