دسته : آموزش رایگان CSS
طراحی واکنشگرا (Responsive Design) یک روش طراحی وبسایت است که برای بهبود تجربه کاربری در انواع دستگاهها، از موبایل گرفته تا دسکتاپ، مورد استفاده قرار میگیرد. یکی از ابزارهای اصلی برای دستیابی به طراحی واکنشگرا Media Queries در CSS است. Media Queries به شما امکان میدهد استایلهای متناسب با ابعاد و شرایط مختلف صفحهنمایش را تنظیم کنید. در این مقاله، نحوه استفاده از Media Queries و اصول کلیدی برای ایجاد وبسایتهای واکنشگرا را یاد خواهیم گرفت.
Media Queries یک ویژگی در CSS است که به شما امکان میدهد استایلها را بر اساس ویژگیهای صفحهنمایش (مانند عرض، ارتفاع، جهت نمایش و رزولوشن) تغییر دهید. این ویژگی برای طراحی وبسایتهای واکنشگرا ضروری است زیرا کمک میکند طرح، چیدمان و استایلها متناسب با اندازه صفحهنمایش کاربران تغییر کند و در نتیجه تجربه کاربری بهتری ایجاد شود.
Media Queries به شما امکان میدهد که اندازه و نوع صفحهنمایش را کنترل کرده و استایلهای خاصی را در شرایط خاص اعمال کنید. ساختار Media Queries به شکل زیر است:
@media (شرط) {
/* استایلهایی که برای شرط تعیینشده اعمال میشوند */
}
مثال ساده Media Query
@media (max-width: 768px) {
body {
background-color: lightblue;
}
}
در اینجا، اگر عرض صفحهنمایش کمتر از 768 پیکسل باشد، رنگ پسزمینه صفحه به آبی روشن تغییر میکند.
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 (max-width: 768px) {
.menu {
display: none;
}
.hamburger-menu {
display: block;
}
}
/* نمایش منوی کامل در دسکتاپ */
@media (min-width: 769px) {
.menu {
display: flex;
}
.hamburger-menu {
display: none;
}
}
در اینجا:
در صفحهنمایشهای کوچک، منوی اصلی پنهان و منوی همبرگری نمایش داده میشود.
در صفحهنمایشهای بزرگ، منوی کامل به صورت افقی نمایش داده میشود.
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 تنظیم کنید.
img {
width: 100%;
height: auto;
}
@media (min-width: 768px) {
img {
width: 50%;
}
}
در اینجا:
تصاویر در صفحهنمایشهای کوچک به عرض کامل عنصر والد تنظیم میشوند.
در صفحهنمایشهای بزرگتر، تصاویر به 50 درصد کاهش مییابند تا فضای بیشتری در اختیار سایر محتواها قرار گیرد.
Flexbox ابزاری مناسب برای ایجاد طرحهای واکنشگرا است و میتوانید با Media Queries جهت قرارگیری، فاصلهها و چیدمان عناصر را برای اندازههای مختلف تنظیم کنید.
مثال استفاده از Flexbox و Media Queries
.container {
display: flex;
flex-direction: column;
}
@media (min-width: 768px) {
.container {
flex-direction: row;
}
}
در اینجا:
در صفحههای کوچک، عناصر به صورت عمودی چیده میشوند.
در تبلت و دسکتاپها، عناصر به صورت افقی کنار هم قرار میگیرند.
با استفاده از 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: طراحی و استایلدهی لیستهای مرتب و نامرتب
20م مرداد 1402
مطالعه بیشتر
آموزش کامل کار با آرایهها و اشیاء در جاوا اسکریپت: ایجاد، دستکاری و پیمایش
2م شهریور 1403
مطالعه بیشتر
آموزش دسترسی به المانهای HTML با استفاده از جاوا اسکریپت: راهنمای کامل با مثالها
2م آبان 1403
مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثالهای عملی
30م مهر 1403
مطالعه بیشتر
آموزش ایجاد فرم با استفاده از HTML: طراحی فرمهای ساده و کاربردی
21م مرداد 1402
مطالعه بیشتر
مقدمهای به template و دیتابایندینگ در Vue.js: نحوه مدیریت دادهها و رندرینگ پویا
28م شهریور 1402
مطالعه بیشتر
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثالها
28م مهر 1403
مطالعه بیشتر
آموزش ارثبری (Inheritance) در جاوا اسکریپت: نحوه استفاده از پروتوتایپها و کلاسها
28م مهر 1403
مطالعه بیشتر
آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگها و ایجاد افکتهای جذاب
12م آبان 1403
مطالعه بیشتر
آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگهای img و a
21م مرداد 1402
مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد