top

با استفاده از ویژگی top می توان فاصله لبه بالایی عناصری که position گرفته اند را از مبداشان تعیین کرد.

برای درک این ویژگی باید با ویژگی position کاملا آشنا باشید.

به ویژگی هایی نظیر top ویژگی های آفست می گویند. دیگر ویژگی های مربوط به آفست عناصر left, right, bottom می باشند.

ویژگی های آفست فقط بر روی عناصری که position دارند تاثیر می گذارند و بر روی عناصر دیگر هیچ گونه تاثیری ندارند. و البته position عنصر هم باید از نوع غیر static باشد.

برای عنصری که حالت position آن relative باشد ویژگی top تعیین کننده فاصله لبه بالایی عنصر نسبت به مکان اولیه ای که داشته است, می باشد.

اگر حالت عنصر absolute باشد, فاصله لبه بالایی نسبت به عنصر پدری که حالت relative دارد تعیین می شود.

برای حالت های fixed و sticky این فاصله از viewport می باشد.

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

در مثال زیر لبه بالایی عنصر 50 پیکسل از لبه بالایی عنصر نگهدارنده اش فاصله می گیرد:


.container {
  position: relative;
}

.absolute-element {
  position: absolute;
  top: 50px;
  left: -20px;
}

استفاده از top در css
اگر از مقدار درصدی استفاده شود, آن مقدار بر اساس ارتفاع عنصری است که عنصر ما بر اساس آن مکانش تعیین شده است. (توجه کنید که صرفا عنصر پدر, منظور نیست, بلکه شاید عنصری که عنصر ما نسبت به آن مکان می گیرد پدر بزرگش باشد نه پدر آن, شاید هم یکی از اجدادش باشد :) )

همانطور که در مثال زیر مشاهده می کنید %100 برای ویژگی top به معنای کل ارتفاع عنصری از پدرانش است که حالت relative دارد:


.container {
  position: relative;
}

.absolute-element {
  position: absolute;
  top: 100%;
  left: 0;
}

استفاده از درصد برای top

مقدار این ویژگی می تواند inherit نیز باشد. که به این معنی است که می تواند مقدارش را از مقدار عنصر پدرش ارث ببرد تا برابر با آن باشد.

همچنین مقدار top می تواند auto نیز باشد که در این صورت مکان عنصر وابسته به مقدار bottom خواهد بود. اما اگر مقدار bottom هم auto باشد, عنصر در راستای عمود فاصله ای از مکان اولیه اش نخواهد گرفت.

دموی زیر را بررسی کنید:

See the Pen top by Mojtaba Seyedi (@seyedi) on CodePen.

پشتیبانی مرورگر ها

ویژگی top در تمام مرورگرهای اصلی از قبیل کروم, فایرفاکس, سافاری, اپرا, اینترنت اکسپلورر, اندروید و iOS پشتیبانی می شود.

6 دیدگاه برای “top

  1. سلام من یه سوال داشتم ممنون میشم کمکم کنید
    راستش من وقتی به عنصرم position: relative میدم ، و بعد بهش top:50% میدم نمیاد پایین ، ینی اصلا در راستای عمودی با مقادیر درصدی جابه جا نمیشه مگ اینکه با px بهش بدم.
    این میتونه بخاطر این باشه که ارتفاع یکی از عناصر والدش به صورت دقیق بیان نشده باشه؟ مثلا به پدرش بدیم height: auto یا اینکه مشکلش چیه من ممنون میشم اگ کمکم کنید

    یه سوال دیگ ام داشتم
    چه زمانی افست پراپرتی ها بر اساس ارتفاع عنصر پدرشون تعین میشه( وقتی از مقادیر درصدی استفاده میکنیم) و چه زمانی بر اساس ارتفاع عناصر والد دیگه تعین میشه؟
    ممنون بابت مقاله خوبتون :)

    1. سلام،

      در کل برای درصد همیشه یک اندازه مشخصی باید تعیین شده باشه که اون درصد بر اساس اون محاسبه بشه.

      در مورد relative باید پدر عنصر ارتفاع مشخص داشته باشه که درصد کار کنه
      در مورد absolute، درصد نسبت به عنصری در اجداد محاسبه میشه که position داشته باشه.

سوال داری؟ برو به پنل پرسش و پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *