تحديد الموقع في CSS

سماح خاصية تحديد الموقع في CSS بتحديد موقف العنصر.

تحديد الموقع والدفع في CSS

يقدم CSS بعض الخصائص للتحديد الموقع والدفع، والتي يمكن استخدامها لبناء ترتيب عمودي، وإعادة ترتيب جزء من الترتيب مع جزء آخر، وكذلك إنجاز المهام التي كانت تستلزم استخدام عدة جداول لسنوات عديدة.

الفكرة الأساسية للتحديد الموقع بسيطة للغاية، حيث يسمح لك بتحديد الموقع الذي يجب أن يظهر فيه عنصر الصندوق بالنسبة لموقعه الطبيعي، أو بالنسبة للعنصر الأم، أو للعنصر الآخر، أو حتى للنافذة نفسها. من الواضح أن هذه الميزة قوية جدًا ومذهلة. لمعرفة أن وسيط المستخدم يدعم تحديد الموقع في CSS2 أكثر بكثير من دعمه لأي جانب آخر، لا يجب أن يكون هذا مفاجئًا.

من جهة أخرى، تم اقتراح الدفع لأول مرة في CSS1، وهو يعتمد على ميزة أضافتها Netscape في بداية تطوير الويب. الدفع ليس بالكامل تحديد الموقع، ولكن بالتأكيد ليس ترتيب التدفق العادي. سنوضح معنى الدفع في الفصول القادمة.

كل شيء هو صندوق

عناصر مثل div، h1 أو p تُسمى عناصر كبيرة، مما يعني أن هذه العناصر تُعرض كـمحتوى قطعة، وهي

يمكنك استخدام خاصية displayتغيير نوع الصندوق المُنتج. هذا يعني أن يمكنك جعل العناصر الداخلية (مثل عناصر <a>) تتصرف مثل العناصر الكبيرة من خلال تعيين خاصية display إلى block. يمكنك أيضًا تعيين display إلى none، مما يجعل العنصر المُنتج لا يمتلك صندوقًا. بذلك، لا يُظهر الصندوق وجميع محتوياته، ولا يأخذ مساحة في الوثيقة.

لكن في حالة واحدة، حتى بدون تعريف صريح، يتم إنشاء عنصر كبير. هذا يحدث عندما يتم إضافة بعض النصوص إلى بداية عنصر كبير (مثل div). حتى لو لم يتم تعريف هذه النصوص كجملة، فإنها سيتم التعامل معها كجملة:

<div>
نص
<p>نص إضافي.</p>
</div>

في هذه الحالة، يُسمى هذا الصندوق بـ الصندوق غير المعروف، لأنه لا يرتبط بتعريف عنصر معين.

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

آليات توجيه CSS

CSS تحتوي على ثلاثة آليات أساسية للتوجيه: التدفق العادي، التدفق المطفى والتوجيه المطلق.

إلا إذا تم تحديد ذلك بشكل خاص، فإن جميع الصناديق يتم توجيهها في التدفق العادي. أي أن موضع العناصر في التدفق العادي يتم تحديده بموضع العناصر في (X)HTML.

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

تنتشر الصناديق الداخلية على مستوى صغير. يمكن تعديل المسافات بينها باستخدام الهوامش الداخلية، والحواف والهوامش الخارجية. ولكن الهوامش الداخلية والحواف والهوامش الخارجية لا تؤثر على طول الصندوق الداخلي. الصندوق المستطيل الذي يُشكل من سطر واحد يُسمىالصندوق الداخلي (Line Box)، طول الصندوق الداخلي دائمًا يكفي لتكون كافيًا لتكون قادرة على احتواء جميع الصناديق الداخلية التي تحتويها. ومع ذلك، يمكن زيادة طول الصندوق الداخلي بتعيين طول الخط.

في الفصول التالية، سنوضح لكم بتفصيل التوجيه المطلق، التوجيه النسبي وال浮动.

خصائص position لـ CSS

من خلال استخدام خاصية positionيمكننا اختيار أربعة أنواع مختلفة من التوجيه، والتي تؤثر على طريقة إنشاء صندوق العنصر.

معنى قيمة الخاصية position:

static
الصندوق العناصر يتم إنشاؤه بشكل طبيعي. العناصر الكبيرة تنتج مربعًا مستطيلاً كجزء من تدفق الوثيقة، بينما العناصر الداخلية تخلق واحدة أو أكثر من الصناديق الداخلية، وتوضع داخل العنصر الأم.
relative
يتم تحديد حاوية العنصر بعيدًا عن مسافة معينة. يبقى العنصر في شكله الأصلي، وتبقى المساحة التي كان يأخذها.
absolute
يتم إزالة حاوية العنصر من تدفق الوثيقة تمامًا وتحديد موقعه بالنسبة لمكانه. قد يكون المكانه هو عنصر آخر في الوثيقة أو المكانه الأولي. سيتم إغلاق المساحة التي كان العنصر يأخذها في التدفق العادي، وكأن العنصر لم يكن موجودًا أبدًا. بعد تحديد الموضع، يتم إنشاء حاوية مستقلة، بغض النظر عن نوع الحاوية التي كان العنصر ينتجها في التدفق العادي.
fixed
يبدو حاوية العنصر مثل وضع position على absolute، ولكن مكانه هو نافذة المتصفح نفسها.

نصيحة:تحديد الموضع النسبي يُعتبر جزءًا من نموذج تحديد الموضع العادي، لأن موضع العنصر يتعلق بموضعه في النسيج العادي.

مثال

تحديد الموضع: تحديد الموضع النسبي
هذا المثال يوضح كيفية تحديد موضع العنصر بالنسبة لموضع العنصر الطبيعي.
تحديد الموضع: تحديد الموضع المطلق
هذا المثال يوضح كيفية تحديد موضع العنصر باستخدام القيمة المطلقة.
تحديد الموضع: تحديد الموضع الثابت
هذا المثال يوضح كيفية تحديد موضع العنصر بشكل مطلق بالنسبة نافذة المتصفح.
استخدام القيمة الثابتة لتحديد الحافة العلوية للصورة
هذا المثال يوضح كيفية استخدام القيمة الثابتة لتحديد الحافة العلوية للصورة.
استخدام النسبة المئوية لتحديد الحافة العلوية للصورة
هذا المثال يوضح كيفية استخدام النسبة المئوية لتحديد الحافة العلوية للصورة.
استخدام القيمة البكسلية لتحديد الحافة السفلية للصورة
هذا المثال يوضح كيفية استخدام القيمة البكسلية لتحديد الحافة السفلية للصورة.
استخدام النسبة المئوية لتحديد الحافة السفلية للصورة
هذا المثال يوضح كيفية استخدام النسبة المئوية لتحديد الحافة السفلية للصورة.
استخدام القيمة الثابتة لتحديد الحافة اليسرى للصورة
هذا المثال يوضح كيفية استخدام القيمة الثابتة لتحديد الحافة اليسرى للصورة.
استخدام النسبة المئوية لتحديد الحافة اليسرى للصورة
هذا المثال يوضح كيفية استخدام النسبة المئوية لتحديد الحافة اليسرى للصورة.
استخدام القيمة الثابتة لتحديد الحافة اليمنى للصورة
هذا المثال يوضح كيفية استخدام القيمة الثابتة لتحديد الحافة اليمنى للصورة.
استخدام النسبة المئوية لتحديد الحافة اليمنى للصورة
استخدام النسبة المئوية لتحديد الحافة اليمنى للصورة.
كيفية استخدام شريط التمرير لعرض محتوى التهديد الزائد في العنصر
هذا المثال يوضح كيفية تعيين خاصية overflow لتعيين الإجراء المناسب عندما يكون محتوى العنصر كبيرًا جدًا ويتجاوز المنطقة المحددة.
كيفية إخفاء محتوى التهديد الزائد في العنصر الزائد
هذا المثال يوضح كيفية تعيين خاصية overflow لتمرير محتوى العنصر إذا كان كبيرًا جدًا بحيث لا يمكن تكييفه في المنطقة المحددة.
كيفية تعيين المتصفح لمعالجة التهديد بشكل تلقائي
هذا المثال يوضح كيفية تعيين المتصفح لمعالجة التهديد بشكل تلقائي.
تعيين شكل العنصر
هذا المثال يوضح كيفية تعيين شكل العنصر. يتم قطع هذا العنصر إلى هذا الشكل وعرضه.
ترتيب الصور بشكل عمودي
هذا المثال يوضح كيفية ترتيب الصور بشكل عمودي في النص.
Z-index
Z-index يمكن استخدامها لوضع عنصر في نفس الصفحة بعد عنصر آخر.
Z-index
العناصر في المثال أعلاه قد تم تغييرها Z-index.

خصائص التوضيح لـ CSS

خصائص التوضيح لـ CSS تسمح لك بتحديد التوضيح للعناصر.

خصائص وصف
position يضع العنصر في موقف ثابت، نسبي، مطلق، أو ثابت.
top يحدد الفجوة العلوية الخارجية للعنصر المحدد للمنطقة المحتوية عليه.
right يحدد الفجوة اليمنى الخارجية للعنصر المحدد للمنطقة المحتوية عليه.
bottom يحدد الفجوة السفلية الخارجية للعنصر المحدد للمنطقة المحتوية عليه.
left يحدد الفجوة الخارجية اليسرى للعنصر المحدد للمنطقة المحتوية عليه.
overflow إعداد ما يحدث عند تجاوز محتوى العنصر للمنطقة الخاصة به.
clip إعداد الشكل للعناصر. يتم قطع العناصر داخل هذا الشكل، ثم عرضها.
vertical-align إعداد الطريقة الأفقية للتوازي للعناصر.
z-index إعداد ترتيب التدرج للعناصر.