الخاصية top

من موسوعة حسوب
< CSS

الخاصية top في CSS تساهم في تحديد الموضع الرأسي لأحد العناصر التي يمكن أن يتغير مكانها (positioned elements)، وليس لهذه الخاصية تأثير في العناصر التي لا يمكن أن يتغير مكانها (non-positioned elements).

بطاقة الخاصية

القيمة الابتدائية auto
تُطبَّق على العناصر التي يمكن أن يتغير مكانها (positioned elements).
قابلة للوراثة لا
قابلة للتحريك نعم
القيمة المحسوبة كما حُدِّدَت، لكن مع تحويل الأطوال النسبية إلى مطلقة.
/* <length> قيم */
top: 3px;
top: 2.4em;

/* <percentages> قيم نسبية */
/* تؤخذ نسبةً إلى ارتفاع الكتلة الحاوية للعنصر */
top: 10%;

/* كلمة محجوزة */
top: auto;

/* القيم العامة */
top: inherit;
top: initial;
top: unset;

تأثير الخاصية top يعتمد على قيمة الخاصية position:

  • عندما تُضبَط الخاصية position إلى القيمة absolute أو fixed، فستُحدِّد الخاصية top المسافة بين الحافة العلوية للعنصر وبين الحافة العلوية للكتلة الحاوية له (containing block).
  • عندما تُضبَط الخاصية position إلى relative، فستُحدِّد الخاصية top المسافة التي ستنتقل وفقها الحافة العلوية للعنصر فوق مكانها الطبيعي.
  • عندما تُضبَط الخاصية position إلى sticky، فستعمل الخاصية top كما لو أنَّ موضع العنصر relative عندما يكون ظاهرًا ضمن إطار العرض (viewport)، وستعمل كما لو أنَّه fixed عندما لا يكون ظاهرًا ضمن إطار العرض.
  • عندما تُضبَط الخاصية position إلى static (أي أنَّ العنصر لا يمكن أن يغيّر مكانه)، فلن يكون للخاصية top أيّ تأثير.

عند تحديد قيم للخاصيتين top و bottom، وكانت قيمة الخاصية height غير مُحدِّدة أو كانت auto أو 100%، فستُحتَرم القيم المسندة للخاصيتين top و bottom؛ وفي حال استعملت قيمة الخاصية height، فالأولوية للخاصية top وستُهمَل الخاصية bottom.

أمثلة

يبيّن هذا المثال استخدام الكلمة المحجوزة auto مع عنصر <div> موضعه مطلق (absolute):

<div class="parent">
    <span>عنصر الأب الحاوي</span>
    <div class="actual">الموضع الفعلي</div>
</div>

شيفرة CSS:

.parent {
  background-color: #f8f9fa;
  padding: 1em;
  height: 150px;
}

.actual {
  position: absolute;
  top: auto;

  background-color: #310736;
  color: white;
  box-sizing: border-box;
  width: 250px;
  height: 2em;
  padding: 0.25em;
  text-align: center;
  opacity: 0.9;
}

مثال عن استخدم قيمة طولية <length> مع تحديد موضع العنصر إلى نسبي relative عبر الخاصية position، لاحظ كيف سيتحرّك العنصر إلى الأسفل نسبةً إلى موضعه الأصلي:

.parent {
  background-color: #f8f9fa;
  padding: 1em;
  height: 150px;
}

.actual {
  position: relative;
  top: 20px;

  background-color: #310736;
  color: white;
  box-sizing: border-box;
  width: 250px;
  height: 2em;
  padding: 0.25em;
  text-align: center;
  opacity: 0.9;
}

أما هذا المثال، فهو عن استخدام الخاصية top مع عنصر موضعه مطلق:

.parent {
  background-color: #f8f9fa;
  padding: 1em;
  height: 150px;
  position: relative;
}

.actual {
  position: absolute;
  top: 0;

  background-color: #310736;
  color: white;
  box-sizing: border-box;
  width: 250px;
  height: 2em;
  padding: 0.25em;
  text-align: center;
  opacity: 0.9;
}

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 1.0 1.0 5 6 1.0

البنية العامة

<length>

قيمة طولية <length> سالبة أو موجبة تمثِّل:

  • المسافة بين الحافة العلوية للعنصر وبين الحافة العلوية للكتلة الحاوية له (containing block)؛ وذلك إذا كان موضع العنصر مطلقًا (absolutely positioned)
  • المسافة التي ستنتقل وفقها الحافة العلوية للعنصر فوق مكانها الطبيعي؛ وذلك إذا كان موضع العنصر نسبيًا (relatively positioned).

<percentage>

نسبة مئوية من ارتفاع الكتلة الحاوية على العنصر.

auto

  • إذا كان موضع العنصر مطلقًا، فهذه القيمة ستؤدي إلى تحديد موضع العنصر اعتمادًا على الخاصية bottom.
  • إذا كان موضع العنصر نسبيًا، فهذه القيمة ستؤدي إلى تحديد موضع العنصر اعتمادًا على الخاصية bottom انطلاقًا من موضع العنصر الابتدائي، وإذا كانت الخاصية bottom تساوي auto أيضًا، فلن يتحرك العنصر رأسيًا.

البنية الرسمية

top: <length> | <percentage> | auto;

انظر أيضًا

  • صفحة الخاصية position التي تصف كيفية تموضع العنصر في المستند.
  • صفحة كل من الخاصيات bottom، و right، و left المسؤولة عن تحديد أماكن العنصر.

مصادر ومواصفات