پرش به محتوا

سی‌اس‌اس/عرض و ارتفاع

ویکی‎کتاب، کتابخانهٔ آزاد
رنگ عرض و ارتفاع margin
سی‌اس‌اس


عرض و ارتفاع

[ویرایش]

ویژگی‌های width (عرض) و height (ارتفاع) در CSS برای تعیین اندازهٔ عناصر HTML استفاده می‌شوند. این ویژگی‌ها پایه‌ای‌ترین ابزارها برای طراحی دقیق و منظم در صفحات وب هستند و نقش اساسی در ساختار چیدمان، ریسپانسیو بودن، و طراحی سازگار با انواع دستگاه‌ها دارند.

تعریف

[ویرایش]
  • width: تعیین عرض عنصر
  • height: تعیین ارتفاع عنصر

این ویژگی‌ها می‌توانند مقدارهای مختلفی مانند پیکسل (px)، درصد (%)، em، vw، vh و ... بپذیرند.

نحوه استفاده

[ویرایش]
width: 300px;
height: 200px;

مثال ساده

[ویرایش]
<div style="width: 300px; height: 200px; background-color: lightblue;">
    یک جعبه با عرض ۳۰۰ و ارتفاع ۲۰۰ پیکسل
</div>

واحدهای متداول

[ویرایش]
واحد توضیح
px پیکسل – مقدار دقیق و ثابت
% درصد نسبت به عنصر والد
em / rem وابسته به اندازه فونت – مناسب طراحی مقیاس‌پذیر
vw درصدی از عرض پنجره مرورگر (View Width)
vh درصدی از ارتفاع پنجره مرورگر (View Height)

مقدارهای خاص

[ویرایش]
  • auto — مقدار پیش‌فرض، که به محتوای عنصر بستگی دارد.
  • inherit — مقدار را از عنصر والد به ارث می‌برد.
  • max-content — عنصر تا جایی که محتوا نیاز دارد، گسترش می‌یابد.
  • min-content — عنصر تا حداقل فضای ممکن برای محتوا کوچک می‌شود.
  • fit-content — تلاش برای متناسب‌سازی محتوا با عرض/ارتفاع

ارتفاع خودکار

[ویرایش]

اگر height تعیین نشود، ارتفاع عنصر بلاک به اندازهٔ محتوای آن خواهد بود.

<div style="width: 300px; background: #eee;">
    <p>ارتفاع این div با محتوا تغییر می‌کند.</p>
</div>

حداقل و حداکثر اندازه

[ویرایش]

برای کنترل بهتر روی اندازه می‌توان از min-width، max-width، min-height، max-height استفاده کرد:

max-width: 100%;
min-height: 100px;

مثال: تصویر با عرض واکنش‌گرا

[ویرایش]
<img src="image.jpg" style="width: 100%; max-width: 500px;" alt="نمونه تصویر">

↑ تصویر در صفحه‌های کوچک، کاملاً واکنش‌گرا می‌شود اما از ۵۰۰px بزرگ‌تر نمی‌شود.

تعامل با Box Model

[ویرایش]

مقدار width و height فقط فضای محتوای عنصر را تعیین می‌کنند. اگر padding، border یا margin داشته باشیم، اندازه کلی عنصر بزرگ‌تر خواهد بود.

برای تغییر این رفتار می‌توان از ویژگی box-sizing استفاده کرد:

box-sizing: border-box;

↑ با این تنظیم، padding و border در داخل width و height حساب می‌شوند.


نمایش flex و grid

[ویرایش]

در layoutهای مدرن مانند Flexbox و Grid، رفتار width و height وابسته به تنظیمات والد است.

<div style="display: flex;">
    <div style="flex: 1; min-height: 100px;">...</div>
    <div style="width: 200px;">...</div>
</div>

توجه به محتواهای دینامیک

[ویرایش]

در طراحی مدرن، محتوای متغیر (مثل متن کاربران، تصاویر آپلودی و ...) نیاز به استفاده از max-width و overflow دارد تا از شکست چیدمان جلوگیری شود.

width: 100%;
max-width: 600px;
overflow: auto;

تاثیر در سئو

[ویرایش]

در طراحی موبایل‌فرندلی، تنظیم درست عرض با واحدهای نسبی و عدم استفاده از fixed width برای همه‌چیز باعث کاهش scroll افقی و بهبود تجربه کاربری می‌شود که در سئو تاثیر مستقیم دارد.

تمرین: ساخت یک جعبه واکنش‌گرا

[ویرایش]
<div style="width: 90%; max-width: 800px; margin: auto; padding: 1rem; background-color: #f0f0f0;">
    این باکس در موبایل کوچک‌تر و در دسکتاپ حداکثر ۸۰۰px خواهد بود.
</div>

جمع‌بندی

[ویرایش]

تنظیم width و height به‌درستی، نه‌تنها ظاهر زیباتری ایجاد می‌کند بلکه به تجربه کاربری، طراحی واکنش‌گرا، و حتی سئو کمک می‌کند. استفادهٔ درست از واحدهای نسبی، محدودیت‌های حداقلی و حداکثری، و درک رفتار box-sizing از الزامات یک طراح حرفه‌ای CSS است.


مطالعهٔ بیشتر: