أساسيات تحديد المواقع (Positioning)
جزء من قسم Styling with CSS في رحلة HTML على Coddy. الدرس 55 من 76.
في CSS، يُعدّ تحديد الموضع مجموعةً من الخصائص التي تتيح لك التحكم في موضع العناصر على صفحة ويب. افتراضيًا، يتم وضع العناصر وفقًا للتدفق الطبيعي لمستند HTML. ومع ذلك، باستخدام تحديد الموضع في CSS، يمكنك إخراج العناصر من التدفق الطبيعي ووضعها في مواقع محددة بالنسبة إلى العنصر الحاوي لها أو إلى منطقة العرض (المنطقة المرئية من نافذة المتصفح).
هناك عدة قيم لخاصية position، ولكل منها سلوكها الخاص:
static: هذه هي القيمة الافتراضية. يتم وضع العنصر وفقًا للتدفق العادي للمستند. لا يكون لخصائصtopوrightوbottomوleftأي تأثير.
relative: يتم وضع العنصر بالنسبة إلى موضعه الطبيعي. سيؤدي ضبط خصائصtopوrightوbottomوleftإلى تحريك العنصر بعيدًا عن موضعه الطبيعي، لكنه يظل يشغل مساحة في التدفق الطبيعي.
absolute: تتم إزالة العنصر من التدفق العادي، ويتم تحديد موضعه بالنسبة إلى أقرب سلف ذي موضع محدد (أي سلف تكون قيمةpositionلديه مختلفة عنstatic). إذا لم يتم العثور على سلف ذي موضع محدد، فسيتم تحديد موضعه بالنسبة إلى كتلة الاحتواء الأولية (وهي عادةً إطار العرض).
fixed: تتم إزالة العنصر من التدفق العادي ويتم تحديد موضعه بالنسبة إلى إطار العرض. يظل ثابتًا في مكانه حتى عند تمرير الصفحة.
إليك الصيغة الأساسية لاستخدام الخاصية position:
selector {
position: value;
}value: سلوك التموضع المطلوب (مثلًا:static،relative،absolute،fixed،sticky).
التحدي
سهللديك مستند HTML يحتوي على قسم رئيسي (<div>) يتضمن قسمًا فرعيًا واحدًا (<div>). مهمتك هي استخدام الخاصية position لتغيير سياق Positioning للعناصر. اتبع الخطوات التالية:
- اكتب قاعدة CSS تستهدف عنصر
<div>الذي يحمل classcontainer. عيّن خاصيةpositionفيه إلىrelative. سيؤدي ذلك إلى جعله سلفًا موضوعيًا للعناصر التابعة له. - اكتب قاعدة CSS تستهدف عنصر
<div>الذي يحمل classbox. عيّن خاصيةpositionفيه إلىabsolute. سيؤدي ذلك إلى إخراجه من التدفق الطبيعي، ويسمح لك بوضعه بالنسبة إلى أقرب سلف موضوعي له (وهوcontainer). - عيّن خاصية
topللعنصر.boxإلى50pxوخاصيةleftإلى100px. سيؤدي ذلك إلى وضع الصندوق على بُعد 50 بكسل من الأعلى و100 بكسل من اليسار بالنسبة إلى سلفه الموضوعي (وهوcontainer).
جرّب بنفسك
<html>
<head>
<title>Positioning Basics</title>
<style>
.container {
width: 400px;
height: 300px;
border: 1px solid black;
}
.box {
width: 100px;
height: 100px;
background-color: lightblue;
}
/* Write CSS rules here */
</style>
</head>
<body>
<div class="container">
<div class="box"></div>
</div>
</body>
</html>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Styling with CSS
4أساسيات النصوص
لون النصعائلة الخطحجم الخطسمك الخطمحاذاة النصزخرفة النصتحدي المراجعة رقم 1تحدي المراجعة رقم 27نموذج الصندوق - الجزء الأول
ما هو نموذج الصندوق؟المسافات الداخلية (Padding)الهوامش (Margins)الحدود (Borders)العرض والارتفاعتحدي المراجعة8نموذج الصندوق (Box Model) - الجزء الثاني
تحجيم الصندوق (Box Sizing)حواف العناصر (Border Radius)التدفق الزائد (Overflow)ظل الصندوق (Box Shadow)تحدي المراجعة11تقنيات التخطيط
العناصر من نوع Block مقابل Inlineأساسيات تحديد المواقع (Positioning)تحديد الموقع النسبي (Relative)تحديد الموقع المطلق (Absolute)تحديد الموقع الثابت (Fixed)أساسيات Z-Indexتحدي المراجعةتدرّب بنفسك: Playground لـ Web