در حال بارگذاری...

طراحی ریسپانسیو با CSS

درس‌های Flex و Grid واکنش‌گرا فقط ترفند چیدمان در breakpoint را نشان دادند. طراحی ریسپانسیو تصویر بزرگ‌تر است: یک سایت که روی موبایل، تبلت و مانیتور عریض خوانا بماند — بدون نگه‌داشتن دو نسخهٔ HTML. این جلسه پایه را می‌چیند؛ مدیا کوئری، breakpoint و تصویر واکنش‌گرا در درس‌های بعدی عمیق‌تر می‌شوند.

جعبهٔ ابزار طراحی ریسپانسیو

📊 طراحی ریسپانسیو یک‌نگاه

قطعه کار روزمره
Viewport meta به مرورگر موبایل می‌گوید عرض دستگاه را بگیرد، نه ستون دسکتاپ جعلی
کانتینر سیال width: 100% + max-width + padding کناری — طول خط خوانا
واحدهای نسبی (rem، %، em) تایپ و فاصله‌گذاری که با تنظیمات و زمینه scale می‌شود
تصویر انعطاف‌پذیر max-width: 100% تا رسانه از صفحهٔ باریک بیرون نزند
یک درخت HTML همان landmark و لینک؛ CSS جابه‌جایی چیدمان را می‌برد
Media query (درس بعد) وقتی viewport شرط را دارد قوانین را عوض کنید

صفحهٔ با عرض ثابت که روی گوشی zoom می‌شود یا افقی اسکرول می‌خورد، کاربر را خسته می‌کند. طراحی ریسپانسیو هر عرضی را می‌پذیرد و فاصله، ستون و تایپ را آرام تنظیم می‌کند — و وقتی لازم شد از همان الگوهای Flex و Grid که تمرین کردید استفاده می‌کند.

Viewport meta — مرورگر موبایل به راهنما نیاز دارد

بدون <meta name="viewport" content="width=device-width, initial-scale=1"> خیلی از گوشی‌ها بوم به‌عرض دسکتاپ می‌سازند و کوچکش می‌کنند. یک‌بار در <head> HTML بگذارید، بعد با CSS استایل دهید.

Viewport برای CSS واکنش‌گرا

html
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>My page</title>

Mobile-first در برابر desktop-first

Mobile-first اول استایل پایه را برای صفحهٔ باریک می‌نویسد، بعد با media query از نوع min-width روی عرض بیشتر غنی می‌کند. Desktop-first از عریض شروع می‌کند و با max-width سفت می‌کند — مثل درس‌های Flex و Grid واکنش‌گرا. هر دو درست‌اند اگر یک لایه در هر مرحله عوض شود؛ برای هر پروژه یک عادت انتخاب کنید و ثابت بمانید.

پایه mobile-first (بعداً غنی کنید)

css
body {
margin: 0;
font-family: system-ui, sans-serif;
line-height: 1.5;
font-size: 1rem;
padding: 1rem;
}

/* درس Media Queries اینجا قوانین min-width اضافه می‌کند */

کانتینر سیال وسط‌چین

عرض کامل را با سقف max-width و padding افقی جفت کنید تا محتوا به لبهٔ صفحه نچسبد. این الگو قبل از انتخاب Flex یا Grid برای ستون‌ها جواب می‌دهد.

کانتینر سیال

css
.page-wrap {
width: 100%;
max-width: 72rem;
margin: 0 auto;
padding: 0 1rem;
box-sizing: border-box;
}

واحد نسبی برای تایپ و فاصله

rem اندازه را به فونت ریشه وصل می‌کند — برای heading و gap مناسب است. % عرض داخل والد را پر می‌کند. همه‌چیز را px سخت نکنید؛ scale نسبی با zoom و تنظیمات دستگاه آرام‌تر می‌ماند.

تایپوگرافی نسبی

css
:root {
font-size: 100%;
}

h1 {
font-size: 1.75rem;
margin: 0 0 0.75rem;
}

.lead {
font-size: 1.125rem;
max-width: 40rem;
}

تصویر و ویدیوی انعطاف‌پذیر

عکسی که از viewport عریض‌تر باشد اسکرول افقی می‌آورد. قانون ساده: display: block و max-width: 100% با height: auto تا نسبت تصویر حفظ شود.

تصویری که با ستون جمع می‌شود

css
img,
video {
display: block;
max-width: 100%;
height: auto;
}

عادت آرام برای ریسپانسیو

یک درخت HTML. viewport meta سر جایش. اول کانتینر سیال و واحد نسبی. وقتی ستون باید عوض شود سراغ الگوهای Flex و Grid واکنش‌گرا بروید — نه سایت دوم فقط برای موبایل. نقشهٔ breakpoint را بنویسید؛ درس Media Queries syntax را اسم می‌برد.

خودتان امتحان کنید

  1. روی یک صفحهٔ نمونه viewport meta را چک کنید.
  2. محتوا را داخل کانتینر سیال با max-width و padding کناری بپیچید.
  3. متن body را با rem بگذارید و zoom مرورگر را امتحان کنید.
  4. قانون تصویر انعطاف‌پذیر را روی یک گالری بگذارید.
  5. یک چیدمان بنویسید که هنوز به media query نیاز دارد — برای درس بعد نگه دارید.

اشتباهات رایج

  • عرض px ثابت روی همهٔ wrapperها — روی صفحهٔ کوچک جایی برای نفس نیست
  • سایت جدا مثل m.example.com به‌جای CSS ریسپانسیو روی یک درخت
  • فراموش کردن viewport meta و تعجب از «zoom out» بودن موبایل
  • تصویر بزرگ بدون max-width: 100% — اسکرول افقی
  • فرض کردن این مقدمه جای درس‌های Media Queries، breakpoint و تصویر واکنش‌گرا را می‌گیرد

جمع‌بندی

  • طراحی ریسپانسیو یک HTML را روی اندازه‌های مختلف viewport تطبیق می‌دهد
  • viewport meta + کانتینر سیال + واحد نسبی پایهٔ کار است
  • mobile-first و desktop-first نقطهٔ شروع‌اند؛ media query جابه‌جایی را اعمال می‌کند
  • درس‌های Flex و Grid واکنش‌گرا ابزار داخل همین ذهنیت‌اند
  • بعدی: Media Queries — syntax و عادت breakpoint آرام

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود