تفاوت با border

تفاوت‌های کلیدی بین outline و border در CSS

در طراحی وب، outline و border دو ویژگی ظاهری هستند که ممکن است در نگاه اول شبیه به هم به نظر برسند، اما تفاوت‌های اساسی در کاربرد و رفتار دارند. در این مقاله به بررسی دقیق این تفاوت‌ها می‌پردازیم.


1. تأثیر بر ابعاد عنصر

مهم‌ترین تفاوت این دو ویژگی در تأثیرشان بر layout صفحه است:

  • border جزئی از ابعاد عنصر محسوب می‌شود و باعث افزایش عرض و ارتفاع آن می‌گردد.
  • outline خارج از جعبه عنصر قرار می‌گیرد و بر ابعاد آن تأثیری ندارد.
ویژگی border outline
تأثیر بر ابعاد دارد ندارد

2. قابلیت‌های طراحی

هر دو ویژگی از نظر ظاهری شباهت‌هایی دارند اما محدودیت‌هایی نیز وجود دارد:

  1. outline نمی‌تواند گوشه‌های گرد داشته باشد (border-radius روی آن اثر ندارد)
  2. برای outline نمی‌توان سمت‌های مختلف را جداگانه تنظیم کرد (مثل border-top یا border-left)
  3. outline از خاصیت box-shadow پشتیبانی نمی‌کند
نکته: outline بیشتر برای نشان دادن focus روی عناصر فرم‌ها استفاده می‌شود تا ایجاد طرح‌های پیچیده.

3. کاربردهای عملی

بر اساس تفاوت‌های ذکر شده، هر کدام کاربردهای خاص خود را دارند:

موارد استفاده از border:

  • ایجاد قاب برای تصاویر
  • طراحی دکمه‌ها و کارت‌ها
  • جداسازی بخش‌های مختلف صفحه

موارد استفاده از outline:

  • نشانه‌گذاری عناصر در حالت focus (مخصوصاً برای دسترسی‌پذیری)
  • اشکال‌زدایی و بررسی layout بدون تأثیر بر ابعاد
  • تأکید موقت روی عناصر بدون تغییر layout

برای یادگیری عمیق‌تر درباره outline در CSS می‌توانید به منبع مراجعه کنید.

4. نمونه کد مقایسه‌ای

مقایسه رفتار این دو ویژگی در کد زیر مشخص است:

.box {
  width: 200px;
  height: 100px;
  border: 5px solid red; /* افزایش ابعاد واقعی */
  outline: 5px solid blue; /* بدون تأثیر بر ابعاد */
}

در این مثال، عنصر با border عرضی معادل 210 پیکسل خواهد داشت (200 + 5 از هر طرف)، اما outline بر این ابعاد تأثیری نمی‌گذارد.


در نهایت، انتخاب بین این دو ویژگی بستگی به نیاز طراحی دارد. اگر به دنبال تغییر ظاهر بدون تأثیر بر layout هستید، outline گزینه بهتری است. اما برای ایجاد طرح‌های پیچیده و کنترل کامل بر ظاهر عناصر، border انعطاف‌پذیری بیشتری ارائه می‌دهد.