Skip to main content

المطلق مقابل النسبية - شرح CSS المواقع

CS50 2018 - Lecture 7 - Web Programming (أبريل 2025)

CS50 2018 - Lecture 7 - Web Programming (أبريل 2025)
Anonim

لطالما كان وضع CSS جزءًا مهمًا من إنشاء تخطيطات مواقع الويب. حتى مع صعود تقنيات تخطيط CSS مثل Flexbox و CSS Grid ، لا يزال تحديد المواقع يحتل مكانًا مهمًا في أي حقيبة من حيل مصمم الويب.

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

في حين أن المطلق والنسبي هما خصائص موضع CSS الأكثر استخدامًا في تصميم الويب ، فهناك في الواقع أربع حالات لخاصية الموقع:

  • ثابتة
  • مطلق
  • نسبيا
  • ثابت

ثابت المواقع

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

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

المطلق المغلق لتحديد المواقع

قد يكون تحديد المواقع المطلق هو أسهل موقف CSS للفهم. ستبدأ بخاصية موضع CSS هذه:

الموقع: مطلقة

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

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

الموقع: مطلقةالعلوي: 50 بكسل

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

خصائص تحديد المواقع الأربعة المتوفرة لديك هي:

  • أعلى
  • حق
  • الأسفل
  • اليسار

يمكنك استخدام إما أعلى أو الأسفل - حيث لا يمكن وضع العنصر وفقًا لكلا القيمتين - وإما حق أو اليسار.

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

المواقع النسبية

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

على سبيل المثال ، إذا كان لديك ثلاث فقرات على صفحة الويب الخاصة بك ، وكان الثالث يحتوي على الموقف: النسبي النمط الذي يتم وضعه عليه ، يتم تعويض موقعه بناءً على موقعه الحالي.

الفقرة 1.

الفقرة 2.

الفقرة 3.

في المثال أعلاه ، يتم وضع الفقرة الثالثة على 2em من الجانب الأيسر لعنصر الحاوية ولكن لا تزال تحت الفقرتين الأوليين. يبقى في التدفق العادي للمستند ويتم تعويضه قليلاً. إذا قمت بتغييره إلى الموقف: مطلقة، أي شيء يتبعه يتم عرضه فوقه لأنه لم يعد في التدفق العادي للمستند.

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

ماذا عن تحديد المواقع الثابتة؟

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

لاستخدام قيمة الخاصية هذه ، يمكنك تعيين:

الموقع: ثابت

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

media screen { h1 # first {position: fixed؛ } } media print { h1 # first {position: static؛ } }