خاصية Top

آخر تحديث: 2026-09-13

top خاصية Top

تُعرّف الخاصية top إزاحة العنصر الموضوع من الحافة العلوية لكتلة الاحتواء الخاصة به. لا تُطبَّق إلا على العناصر التي يكون موضعها (position) relative أو absolute أو fixed أو sticky، وتُستخدم للتحكم بدقة في الموضع الرأسي للعنصر.

الفئة
القيمة الأوليةauto
موروثلا
ينطبق علىالعناصر الموضوعة
نوع الحركةlength
إصدار CSSCSS2
الحالةقياسي

📝 التركيب

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

⚙️ القيم

القيمةالنوعالوصف
autoكلمة مفتاحيةبدون إزاحة.
<length> | <percentage>النوعقيمة إزاحة نسبة إلى كتلة الاحتواء.

▶ مثال

عدّل الكود أدناه وشاهد النتيجة المباشرة في الملعب:

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

المتصفح ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
top v1 v12 v1 v1 v1
مدعوم في جميع المتصفحات الرئيسية
تحذير: يتأثر بـ top العناصر الموضوعة فقط (غير static)؛ لا يؤثر تعيينه على عنصر position:static.
تلميح: تُحسب النسبة المئوية بالنسبة لارتفاع كتلة الاحتواء؛ أمّا auto فتترك للمتصفح حل الموضع من الخصائص الأخرى.

❓ الأسئلة الشائعة

Qماذا يحدث عند تعيين top و bottom معًا؟
Aالأمر يختلف. بالنسبة للعناصر absolute أو fixed التي لا تحدد ارتفاعًا، يتمدد العنصر لملء المسافة بين top و bottom، فيصبح ارتفاعه متكيفًا. مع الموضع relative، يُغلِب top ويُتجاهل bottom. وإذا تُم تحديد ارتفاع أيضًا، يُغلِب top ويُتجاهل bottom. يُستخدم هذا السلوك غالبًا لتمديد العناصر عموديًا داخل عنصر أب، مثل طبقات الخلفية بملء الارتفاع.
Qما الذي تُنسب إليه النسبة المئوية في top؟
Aتُحسب النسبة المئوية بالنسبة لارتفاع كتلة الاحتواء. بالنسبة للعناصر absolute فكتلة الاحتواء هي الصندوق الداخلي (padding box) لأقرب سلف موضوع؛ وبالنسبة لـ fixed فهي إطار العرض (viewport)؛ وبالنسبة لـ relative فهي موضع العنصر الأصلي نفسه. لذلك فإن top:50% يضع الحافة العلوية للعنصر عند نصف ارتفاع كتلة الاحتواء، وغالبًا يُقرن بـ transform:translateY(-50%) للتوسيط الرأسي، إذ ينقله التحويل نصف ارتفاعه هو.
Qلماذا لا يعمل top؟
Aالسبب الأكثر شيوعًا هو أن العنصر غير موضوع: لا يعمل top إلا على العناصر التي موضعها relative أو absolute أو fixed أو sticky، ويُتجاهل تمامًا عندما يكون static وهو الافتراضي. وتحقق أيضًا من أن القيمة صالحة، أي auto أو طول أو نسبة مئوية، وأنها غير مُستبَّلة بخصائص مثل height. أكّد موضع (position) أولًا، ثم تحقق من حساب الإزاحة.
Qكيف أُوسّط عموديًا باستخدام top:50%؟
Aاضبط العنصر على position:absolute، مع جعل الأب position:relative، واستخدم top:50% ليكون الحافة العلوية عند منتصف الحاوية، ثم طبّق transform:translateY(-50%) لترفع العنصر بمقدار نصف ارتفاعه هو. هذه هي التوسيط الرأسي. لاحظ أن التحويل ينقل العنصر 50% من ارتفاعه هو، وهو ما يختلف عن طريقة حساب نسبة top، والاثنان معًا ضروريان لتوسيط حقيقي بغض النظر عن حجم المحتوى.

📚 دروس ذات صلة

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%