گروه مقاله : طراحی سایت
تاريخ انتشار : 1396/03/11 - 11:39
كد :7599

طراحی سایت ریسپانسیو با مدیا کوئری

در این مقاله طراحی سایت ریسپانسیو را کمی حرفه ای تر دنبال خواهیم کرد.

طراحی سایت ریسپانسیو با مدیا کوئری

در آموزش نمونه کد طراحی سایت ریسپانسیو و طراحی Responsive یا واکنش گرا (CSS media types) درباره طراحی سایت ریسپانسیو و کد media صحبت کرده ایم در آموزش نمونه کد طراحی سایت ریسپانسیو یک مشکلی که به آن برمیخوریم این است که هنگامی که صفحه موبایل خیلی کوچک باشد صفحه به هم خواهد خورد در آموزش استفاده از مدیا در باره این ویژگی صحبت کردیم  در این آموزش ویژگی مدیا را بصورت کامل شرح خواهیم داد مطالب گفته شده در آموزش های قبل تکرار نمی شود بنابراین لطفا ابتدا دو مقاله ذکر شده در بالا را بخوانید.

کوئری @media چیست؟

مدیا کوئری تکنیکی است که در CSS3 معرفی شده است.

از مدیا کوئری برای اعمال یک شیوه یا استایل در صورتی که شرایط اعلام شده در مدیا دقیقا درست باشند.

مثال

اگر پنجره مرورگر از 500 پیکسل کوچکتر باشد رنگ پس زمنیه به رنگ lightblue تغییر می کند:

 

@media only screen and (max-width: 500px) {
body {
background-color: lightblue;
}
}

 مشاهده کد

ما در مثال زیر برای صفحه در ابعاد 760 یک مدیا کوئری مینویسیم. توجه کنید در صفحه در اندازه های غیر از این ابعاد تمام کدها استاندارد اجرا میشوند.

/* For desktop: */
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

@media only screen and (max-width: 768px) {
/* For mobile phones: */
[class*="col-"] {
width: 100%;
}
}

مشاهده کد

همواره ابتدا برای موبایل طراحی را انجام دهید. درست تر این است که بجای آنکه صفحات کوچکتر را جداگانه طراحی کنیم این است که ابتدا صفحات کوچکتر را کد دهی کرده و سپس برای صفحات بزرگتر مدیا کوئری قرار دهیم به کد زیر نگاه کنید.

/* For mobile phones: */
[class*="col-"] {
width: 100%;
}
@media only screen and (min-width: 768px) {
/* For desktop: */
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
}

مشاهده کد

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

مثال : دقت کنید که در این مثال ما دو نوع کلاس داریم کلاس col-m  و کلاس col-

/* For mobile phones: */
[class*="col-"] {
width: 100%;
}
@media only screen and (min-width: 600px) {
/* For tablets: */
.col-m-1 {width: 8.33%;}
.col-m-2 {width: 16.66%;}
.col-m-3 {width: 25%;}
.col-m-4 {width: 33.33%;}
.col-m-5 {width: 41.66%;}
.col-m-6 {width: 50%;}
.col-m-7 {width: 58.33%;}
.col-m-8 {width: 66.66%;}
.col-m-9 {width: 75%;}
.col-m-10 {width: 83.33%;}
.col-m-11 {width: 91.66%;}
.col-m-12 {width: 100%;}
}
@media only screen and (min-width: 768px) {
/* For desktop: */
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
}

مشاهده کد

ما دو استایل ایجاد کرده ایم حالا باید به Html این امکان را بدهیم که بتواند بین این استایل ها انتخاب کند. برای اینکار از کد های زیر استفاده کنید.

مثال استفاده از Html :

برای دسکتاپ :

در جدول محتوا ستون اول و سوم به اندازه سه ستون گسترده شده و  ستون وسط به اندازه 6 ستون گسترده شد است.

برای تبلت :

ستون اول 3 پیکسل  و ستون دوم 9 پیسکل و ستون سوم در زیر آنها به اندازه 12 پیکسل گسترده میشود:

<div class="row">
<div class="col-3 col-m-3">...</div>
<div class="col-6 col-m-9">...</div>
<div class="col-3 col-m-12">...</div>
</div>

 

اگر میخواهید برای صفحات عریض و افقی کد های جداگانه داشته باشید که باید داشته باشید از ویژگی orientation: landscape میتوانید استفاده کنید :

@media only screen and (orientation: landscape) {
body {
background-color: lightblue;
}
}

مشاهده کد

 

 

تعداد بازديد : 4012
نظرات كاربران :