الخاصية top
الخاصية 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المسؤولة عن تحديد أماكن العنصر.
مصادر ومواصفات
- مسودة CSS Transitions.
- مواصفة CSS Level 2 (Revision 1).