مدیا کوئریها
10 دی
استفاده از مدیا کوئریها (Media Query) در واقع روشی است که بتوانیم برای دستگاههای مختلف که ویژگیهای متفاوتی دارند استایلهای CSS متفاوتی را تعریف کنیم. این ایده اولین بار در CSS نسخهی ۲ تحت عنوان دستورهای media@ معرفی شد اما اقبال چندانی نیافت. در نسخهی سوم CSS این امکان به شکل کوئریهای مدیا درآمد که به جای بررسی نوع دستگاه، قابلیتهای هر دستگاه را بررسی میکند.
مثال بارز استفاده از این امکان، تعریف استایلهای مختلف برای موبایلها، تبلتها و کامپیوترهای دسکتاپ است که موجب میشود سیستمهای تحت وب نمایش مناسبی در نمایشگرهای کوچک و بزرگ داشته باشند و به اصطلاح ریسپانسیو شوند.
نحوه استفاده از مدیا کوئری
ساختار کلی یک مدیا کوئری به شکل زیر است:
@media not|only mediatype and (expressions) {
CSS-Code;
}
در واقع مجموع دستورهای CSS را با این ساختار گروهبندی میکنیم و هرکدام از دستهها که با شرایط مدیای خود بخواند، اجرا میشوند. شرایط مدیا شامل mediatype
و شروط expressions
هستند که هر دو باید در وضعیت true
قرار بگیرند تا کدهای درون مدیا اجرا شود.
اگر از only
به عنوان محدودکننده و از not
به عنوان منفیکننده استفاده نکنید، مشخص کردن نوع mediatype
اختیاری است و اگر استفاده نشود همه انواع دستگاهها مد نظر قرار میگیرد. انواع واژگانی که میتوانید به عنوان mediatype
به کار ببرید به شرح زیر است:
نوع مدیا | توضیح |
---|---|
screen | فقط برای نمایشگرها به کار میرود. |
برای پرینترها کاربرد دارد. | |
speech | برای دستگاههای خوانش به کار میرود. |
all | همه انواع دستگاهها رو مد نظر قرار میدهد. |
همچنین شرطی که میخواهیم به دستگاه انتخابی اعمال شود را در قسمت expressions
به کار میبریم. شروط زیادی وجود دارند که شامل طول و عرض دستگاه، طول و عرض نمایشگر، جهت دستگاه، رزولوشن و غیره میشود. مهمترین موارد شرطی را در جدول زیر مشاهده میکنید و برای موارد کممصرفتر میتوانید گوگل کنید:
اسم شرط | توضیح |
---|---|
aspect-ratio | نسبت طول به عرض صفحه وب. |
max-aspect-ratio | حداکثر نسبت طول به عرض صفحه وب. |
min-aspect-ratio | حداقل نسبت طول به عرض صفحه وب. |
height | طولی که صفحه وب در آن نمایش داده میشود. |
max-height | حداکثر طولی که صفحه وب در آن نمایش داده میشود. |
min-height | حداقل طولی که صفحه وب در آن نمایش داده میشود. |
width | عرضی که صفحه وب در آن نمایش داده میشود. |
max-width | حداکثر عرضی که صفحه وب در آن نمایش داده میشود. |
min-width | حداقل عرضی که صفحه وب در آن نمایش داده میشود. |
orientation | جهتگیری دستگاه که دو مقدار portrait و landscape دارد. |
چند مثال
میخواهیم بنویسیم که اگر عرض صفحه محتوی وب از ۳۲۰ پیکسل کمتر باشد، رنگ پسزمینه وب قرمز شود. میتوان نوشت:
@media only screen and (max-width: 320px){
body{
color: red;
}
}
میخواهیم بنویسیم اگر صفحه وب افقی باشد اندازه فونت ۱۴ و در غیر این صورت ۱۲ پیکسل باشد. میتوان نوشت:
@media only screen and (orientation: landscape) {
body {
font-size: 14px;
}
}
@media only screen and (orientation: portrait) {
body {
font-size: 12px;
}
}
میخواهیم اگر نسبت طول به عرض صفحهی محتوی وب بیشتر از یک و نیم برابر باشد، پسزمینه خاکستری شود . میتوان نوشت:
@media only screen and (min-aspect-ratio: 3/2){
body{
background-color: #ccc;
}
}
میخواهیم اگر طول صفحه وب بیشتر از ۳۰۰ پیکسل باشد، برای عرضهای کمتر از ۳۲۰ پیکسل یا عرضهای بیشتر از ۱۰۰۰ پیکسل، رنگ پسزمینه آبی شود. با استفاده از کاما به عنوان اوپراتور OR میتوان نوشت:
@media (min-height: 300px) and (max-width: 320px),
(min-height: 300px) and (min-width: 1000px) {
body{
background-color: blue;
}
}
سخن آخر
تا اینجا همه چیز سرراست است. یک مطلب باقی میماند و آن اینکه اگر بخواهیم از فایلهای CSS خارجی استفاده کنیم و هر فایل را مخصوص شرایط خاص طراحی کرده و بسته به وقوع آن شرط در کد HTML خود لود کنیم میتوانیم شرطهای مدیا را در کد HTML خود به صورت زیر به کار ببریم:
<link rel="stylesheet" media="not|only mediatype and (expressions)" href="style.css">
همانطور که میبینید ترکیب بسیار شبیه به موارد توضیح داده شده است. در واقع هم mediatype
و هم expressions
داخل attribute مدیا قرار میگیرند و اگر صحت هردو برقرار باشد، فایل style.css لود میشود.
10 دی جاوااسکریپت جاوااسکریپت
10 متد مفید جاوااسکریپت در رابطه با آرایهها
سلام دوستان. امیدوارم حالتون خوب باشه. در موقع کار کردن با جاوااسکریپت یکی از مواردی که زیاد استفاده میشه آرایهها هستند و برای کار کردن با آرایهها باید بتونید اونها رو به شکل دلخواهتون دستکاری کنید. در اینجا مقالهای رو باهم مرور میکنیم که 10 متد مفید و مهم رو برای کار کردن با آرایهها بررسی و با مثال بیان کرده. البته ممکن هست که بعضی جاها رو با توضیح بیشتر یا به شکل متفاوتی بیان کنم. لینک اصلی مقاله رو هم براتون آخر مقاله میذارم.
10 دی جاوااسکریپت data binding، اتصال داده، و جاوااسکریپت
مفاهیم اولیهی اتصال داده (data binding) در جاوااسکریپت
یکی از مهمترین الگوهای توسعهی اپلیکیشنهای جاوااسکریپتی، جدا کردن دادهها و ظاهر اپلیکیشن از همدیگر و اتصال این دو به یکدیگر به شکل یکسویه یا دوسویه است. به طوری که با تغییر داده، ظاهر مرتبط با آن داده عوض و به شکل متقابل با تغییر در ظاهر برنامه (مانند پر کردن فرم یا تغییر مکان یک شی) داده مرتبط با آن دچار تغییر شود. امروزه اتصال داده در اپلیکیشنهای تحت وب برای برنامهنویس از نان شب واجبتر است! البته فریمورکهای متداول مانند ReactJs، این اتصال داده را به خوبی برای برنامهنویسان پیشبینی کردهاند و در این مقاله قرار نیست فریمورک توسعه بدهیم. اما به دلایلی خوب است اساس و اصول اتصال داده در جاوااسکریپت را درک کنیم. برای فهمیدن این دلایل و کشف راز اتصال داده در جاوااسکریپت با من همراه شوید.
10 دی جاوااسکریپت Promise و جاوااسکریپت
Promiseها در جاوااسکریپت – بخش دوم
در این مقاله مبحث پیشین را ادامه میدهیم. سعی میکنیم نحوهی تعامل با Promiseها را یک به یک مرور کرده و با مثال ابعاد مختلف این مفهوم را واکاوری کنیم.
10 دی جاوااسکریپت جاوااسکریپت
this در جاوااسکریپت را بهتر بشناسیم
کلیدواژهی this در جاوااسکریپت یکی از مفهومهایی است که باعث سردرگمی مبتدیان این زبان میشود. شاید یکی از دلایل این موضوع این باشد که کلیدواژهی this در جاوااسکریپت، در مقایسه با زبانهای برنامهنویسی دیگر اندکی متفاوت است. از طرفی یادگیری این کلیدواژه بسیار ضروری است. چرا که برای خواندن و نوشتن کدهای حرفهای و درک مفاهیم جاوااسکریپت همواره به آن نیاز خواهیم داشت. در این مقاله به بررسی این کلیدواژه و کاربردهای مختلفی که در زبان جاوااسکریپت دارد میپردازیم.