CSSمواقع العناصر
- مكان ظهور العنصر
- تحديد مكان ظهور العنصر
- إظهار العنصر في مكانه الأساسي
- تحديد موقع العنصر بأسلوب
relative
- تحديد موقع العنصر بأسلوب
absolute
- تحديد موقع العنصر بأسلوب
fixed
- تحديد موقع العنصر بأسلوب
sticky
- تحديد أولوية ظهور العناصر
مكان ظهور العنصر
إفتراضياً، تظهر عناصر الصفحة بنفس الترتيب الذي وضعنها فيه ما لا نقم بتغيير مواقع ظهورها بواسطة خصائص CSS التي يمكننا من خلالها تحديد أماكن العناصر سواء بالنسبة للصفحة بأكملها أو بالنسبة للعناصر الأخرى الموضوعة فيها.
كمثال عملي على أهمية تحديد أماكن العناصر، لاحظ أن قائمة الموقع تظل ثابتة في أعلى الصفحة حتى عند النزول فيها و ذلك لأننا قمنا بتثبيتها في هذا المكان حتى يكون الوصول إليها سهل.
في هذا الدرس ستتعلم كيف تحدد مواقع ظهور العناصر سواء بالنسبة للصفحة نفسها و بالنسبة للعناصر الأخرى الموضوعة فيها.
تحديد مكان ظهور العنصر
لتحديد أسلوب التموضع الذي سيعتمده العنصر نستخدم الخاصية position
و من بعد ذلك سيكون عليك تحديد موقع العنصر أفقياً و عمودياً من خلال الخصائص top
و bottom
و right
و left
.
أسلوب الظهور
الخاصية position
يمكن تمرير إحدى القيم التالية لها لتحديد أسلوب ظهور العنصر.
القيمة | معناها |
---|---|
static |
هو الخيار الإفتراضي حيث يظهر العنصر في المكان الذي تم وضعه فيه. |
relative |
لتحديد موقع العنصر نسبةً للموقع الأساسي الموجود فيه. |
absolute |
لتحديد موقع العنصر نسبةً لأقرب عنصر موجود بداخله يظهر بشكل نسبي سواء relative أو fixed أو sticky . |
fixed |
لجعل موقع العنصر يتحدد بالنسبة للمتصفح، أي لتثبيته في الصفحة. |
sticky |
لجعل موقع العنصر يثبت في مكان محدد في المتصفح عند النزول في شريط التمرير العمودي. |
موقع الظهور
فيما يلي الخصائص التي يمكنك استخدامها لتحديد موقع ظهور العنصر.
الخاصية | معناها |
---|---|
top |
لتحديد كم يبعد العنصر من الجهة العلوية. |
bottom |
لتحديد كم يبعد العنصر من الجهة السفلية. |
right |
لتحديد كم يبعد العنصر من الجهة اليمنى. |
left |
لتحديد كم يبعد العنصر من الجهة اليسرى. |
يجب استخدام top
أو bottom
عند تحديد موقع العنصر عامودياً و ليس كلاهما.
أيضاً يجب استخدام right
أو left
عند تحديد موقع العنصر أفقياً و ليس كلاهما.
إظهار العنصر في مكانه الأساسي
في المثال التالي قمنا بإظهار العنصر بأسلوب static
و بالتالي فإنه سيظهر في موقعه الأساسي في الصفحة.
إذا كان العنصر بالأساس يظهر بأسلوب static
فالخصائص top
و bottom
و right
و left
ليس لها أي تأثير على موقعه و بالتالي فإن استخدامها لن يشكل أي فارق.
تذكر هذه المعلومة جيداً لأنك قد تحتاجها مستقبلاً حين تقوم بتصميم صفحات تتغير أساليب ظهور عناصرها ما بين static
و fixed
على سبيل المثال بحسب أحجام شاشات المستخدمين.
لإثبات المعلومة التي ذكرناها قمنا في المثال التالي بإظهار العنصر بأسلوب static
و كذلك حاولنا إبعاده من الأعلى و اليسار و لكن كما سبق و أشرنا فإن كل هذه الخصائص لن تشكل أي فارق و العنص سيظهر في مكانه الطبيعي في الصفحة.
تحديد موقع العنصر بأسلوب relative
الخاصية position: relative;
تستخدم لتحديد موقع العنصر نسبةً للموقع الأساسي الذي يكون موجود فيه في الصفحة.
في المثال التالي قمنا بإظهار العنصر بأسلوب relative
مع تحديد أن موقع سيكون بعيد عن موقع ظهوره الأساسي من اليسار بمقدار 20 بكسل.
عند إزاحة العنصر عن موقعه الأساسي فإنه قد يغطي العناصر الأخرى الموجودة بقربه فتضطر لإضافة margin
أو padding
له أو للعنصر الذي يتداخل فيه لحل هذه المشكلة.
مشكلة تداخل العناصر
في المثال التالي لاحظ كيف أن إبعاد العنصر من الأعلى بشكل نسبي عن موقعه الأصلي أدى لجعله يظهر فوق العنصر الموضوع بعده في الصفحة.
حل مشكلة تداخل العناصر
في المثال التالي قمنا بإبعاد العنصر من الأعلى و كذلك أضفنا له margin-bottom
لكي لا يتداخل محتواه مع محتوى العنصر الموضوع بعده.
تحديد موقع العنصر بأسلوب absolute
تحديد موقع العنصر بأسلوب absolute
يعني أن موقعه سيتحدد نسبةً لأقرب عنصر موجود بداخله يظهر بشكل نسبي سواء relative
أو fixed
أو sticky
.
في المثال التالي قمنا بجعل العنصر الأب يظهر بأسلوب relative
أما العنصر الإبن فجعلناه يظهر بأسلوب absolute
مع تحديد أن موقعه سيكون يمين العنصر الأب بمقدار 10 بكسل و أسفله بمقدار 10 بكسل أيضاً.
مثال
.parent { position: relative; } .child { position: absolute; bottom: 10px; right: 10px; }
تحديد موقع العنصر بأسلوب fixed
تحديد موقع العنصر بأسلوب fixed
يعني أن موقعه سيتحدد بالنسبة للمتصفح.
في المثال التالي قمنا بجعل العنصر يظهر بأسلوب fixed
لكي يظل ثابتاً في الصفحة مع تحديد أن موقعه سيكون في أسفلها و من الناحية اليمنى.
تحديد موقع العنصر بأسلوب sticky
تحديد موقع العنصر بأسلوب sticky
يعني أن موقعه سيظل في مكانه الأساسي و لكنه سيثبت في مكان محدد في المتصفح عند النزول في شريط التمرير العمودي.
القيمة sticky
ليست مدعومة بشكل رسمي في متصفح Opera و لذلك عليك إضافة القيمة -webkit-sticky
أيضاً إذا أردتها أن تعمل فيه.
في المثال التالي قمنا بجعل العنصر يظهر بأسلوب sticky
لكي يثبت في أعلى الصفحة عندما يلامس حدود الصفحة من الأعلى.
في المثال التالي قمنا بجعل العنصر يظهر بأسلوب sticky
لكي يثبت في أعلى الصفحة قبل ملامسة حدودها من الأعلى بمقدار 10 بكسل.
تحديد أولوية ظهور العناصر
عند تغيير مواقع العناصر بواسطة الخاصية position
فإنه بحسب المكان الذي تم تعريفها فيه يتم إعطاءها أولية الظهور في الأعلى إذا تداخلت مع بعضها.
أولوية الظهور يمكنك تحديدها بواسطة الخاصية z-index
و إعطاءها رقم يمثل أولوية الظهور، و بالطبع العنصر صاحب الرقم الأعلى هو الذي سيظهر في الأعلى.
لاحظ كيف أن ترتيب العناصر فوق بعضها يختلف بحسب أولوية الظهور المعطاة لهم فقط.
في المثال التالي قمنا بتعريف ثلاث مربعات بجانب بعضها مع جعلها مع تحديد أولية الظهور لكل واحد منهم.