العلامات والسمات للتذييل في HTML. كيفية الضغط بشكل صحيح على التذييل العائم في أسفل الصفحة. عربة عائمة - زيادة توافر وظائف البيع

💖 هل يعجبك؟شارك الرابط مع أصدقائك

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

إقرأ أيضاً: 13 اتجاهات تسويق التجارة الإلكترونية لعام 2019

إحصائيات مثيرة للاهتمام من Chartbeat. أظهرت دراسة لسلوك 25 مليون مستخدم مدى عمق تصفحهم للصفحات. اتضح أن انتباه المستخدم ينجذب إلى المساحة الموجودة أسفل خط الطي. الحصول على المزيد من الناحية العملية معلومات مفيدة، حيث يظل الزائرون لفترة أطول في المنطقة التي تبعد 1200 بكسل من أعلى الصفحة (بمتوسط ​​شاشة رأسية تبلغ 700 بكسل في المتصفح)، أو خلف الشاشة الثانية.

وقت العرض (بالثانية) / المسافة من أعلى الصفحة (بالبكسل)

هناك فجوة كبيرة في مدة مشاهدة الشاشتين الأولى والثانية. تبلغ مدة TOP 4 ثوانٍ، وتصل المدة إلى الحد الأقصى (16 ثانية) عند 1200 بكسل من الأعلى، ومع مزيد من التمرير، تتناقص ببطء.

نسبة الزوار (%) / المسافة من أعلى الصفحة (بالبكسل)

جزء كبير من الزوار (أكثر من 25٪) لا ينتظرون حتى تحميل المحتوى ويبدأون في تمرير الصفحة. وهذا يعني أن 75% فقط سيرون القمة أولاً. المنطقة الأكثر مشاهدة في الصفحة هي 550 بكسل (أعلى خط الطي مباشرةً).

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

أفكار حول كيفية تصميم "السرداب" (التذييل)، أمثلة على تصميمات البيع

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

1. المعلومات المطلوبة

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

  • إشعارات حقوق الطبع والنشر
  • إخلاء المسؤولية القانونية
  • معلومات الفواتير
  • إشعار ملفات تعريف الارتباط

يجب أن يستوفي موقع الويب الذي يبيع المنتج المتطلبات القانونية ويقدم معلومات حول الإجراء وفترات الإرجاع. موقعه في التذييل مناسب لكل من مورد البيع والزوار.

مثال على التذييل: إيف روشيه

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

مثال على التذييل: Lumity

يخضع تجار المكملات الغذائية لمتطلبات قانونية متزايدة. مسؤولية. هناك عدد لا بأس به من الأشياء التي ينبغي عليهم/لا ينبغي عليهم ذكرها على موقع المبيعات الخاص بهم. يتم تمييز الروابط إلى المعلومات القانونية بالخط العريض لتحسين الرؤية.

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

مثال على التذييل: شركة Saddleback Leather Co

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

2. المساحة السلبية – مسافة بصرية كافية

عند تحديد عدد روابط التذييل، لا تبخل بالمساحة السلبية - سيكون لذلك تأثير مذهل على الإدراك البصري وتحسين إمكانية القراءة. قاعدة عامة: من خلال الحفاظ على التسلسل الهرمي البصري، تتم ملاحظة العناصر المركزية بشكل أسرع (يمكن استخدامها لصالحك!).

مثال على التذييل: QUAY AUSTRALIA

بفضل النمط البسيط والقائمة المنسدلة الثابتة، يمكن للمتجر عبر الإنترنت توفير مساحة واسعة

مثال على التذييل: Incase

حول كمية كبيرة من المساحة السلبية الدقيقة (بين العناصر الصغيرة) يمكننا أن نقول هذا: طالما أن جميع المعلومات الضرورية موجودة، فهي مقروءة ويمكن إدراكها بسرعة - كل شيء على ما يرام

مثال على التذييل: Stumptown Coffee Roasters

يعد التذييل الواسع لموقع القهوة استكمالًا ممتازًا لتكوين تصميم نظيف، حيث يوجد الكثير من المساحة السلبية الكلية ("الهواء" بين الأقسام / الأقسام)

3. الدعوة النهائية للعمل

إقرأ أيضاً: أكثر من 30 مثالًا وفكرة لتصميم أزرار الإجراءات المستهدفة

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

مثال على التذييل: Greetabl

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

مثال التذييل: Ecwid

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

4. العربة العائمة – زيادة توافر وظائف البيع

يعد الوصول إلى عربة التسوق من أسفل الموقع طريقة رائعة لتحسين سهولة الاستخدام وخصائص البيع للموقع.

مثال على التذييل: ليموناديلا

من الممتع النظر إلى موقع البيع الخاص بشركة تقديم الطعام وهو مناسب للمشتري

5. التنقل في التذييل

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

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

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

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

ما هي المشاكل التي واجهناها في تصميم موقعنا؟

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

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

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

أولئك. سيكون سلوك التذييل الصحيح في حالة وجود كمية صغيرة من المعلومات على الصفحة وشاشة مستخدم كبيرة كما يلي:

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

على سبيل المثال، سوف نستخدم تخطيط الموقع المكون من ثلاثة أعمدة الذي أنشأناه سابقًا. في هذه الحالة، سيبدو Index.html كما يلي:

عنوان

محتويات الصفحة محتويات الصفحة محتويات الصفحة محتويات الصفحة


وتمت كتابة خصائص CSS التالية في ملف Style.css:

النص، html ( هامش: 0 بكسل؛ الحشو: 0 بكسل؛ ) #maket ( العرض: 800 بكسل؛ الهامش: 0 تلقائي؛ ) #header (لون الخلفية: #C0C000؛) #left (لون الخلفية: #00C0C0؛ العرض: 200 بكسل ; (لون الخلفية: #FFC0FF؛ واضح: كلاهما؛)

حسنًا، يبدو التصميم نفسه كما يلي:

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

كيفية دفع التذييل إلى أسفل تخطيط موقع الويب

لذلك، نحتاج إلى نقل حاوية Div مع التذييل إلى أسفل الشاشة. للقيام بذلك، ستحتاج أولاً إلى ضبط ارتفاع الصفحة بأكملها على مائة بالمائة (سوف تشغل الشاشة بأكملها). سيكون ذلك ضروريًا لتغيير حجم الكتلة الرئيسية بالتخطيط إلى 100%.

يتم وضع محتوى صفحة الموقع بالكامل في علامتي الفتح والإغلاق Body، ولذلك نحتاج إلى إضافة خاصية CSS أخرى لعلامة Body في Style.css، مع ضبط الارتفاع على 100%:

النص الأساسي، HTML ( الهامش: 0 بكسل؛ الحشو: 0 بكسل؛ الارتفاع: 100%؛ )

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

خصائص CSS الأساسية، إذا رغبت في ذلك، يمكنك إلقاء نظرة عليها. لنقم الآن بتعيين حاوية Div التي تحتوي على تخطيطنا بالكامل على ارتفاع لا يقل عن 100%:

أريد أيضًا تسليط الضوء عليه (div بمعرف = "maket"). للقيام بذلك، سأعطيه إطارًا باستخدام خاصية Border() المقابلة:

تتيح لك الخاصية السوداء Border: Solid 3px تعيين حدود صلبة (صلبة) بسمك 3 بكسل باللون الأسود لهذه الحاوية. سيتيح لك ذلك أن ترى بوضوح أن الحاوية ذات التخطيط قد امتدت إلى ارتفاع الشاشة بالكامل، حتى مع وجود كمية صغيرة من المعلومات على الصفحة:

سنحتاج الآن إلى إزالة كتلة التذييل من الحاوية العامة ووضعها أدناه مباشرة بعد الحاوية العامة. ماذا سيعطي؟ وحقيقة أن التذييل في التخطيط أخيرًا سوف يميل إلى النزول ولن يتم الضغط عليه كما كان من قبل على العمود الأطول. في هذه الحالة، سيبدو Index.html كما يلي:

عنوان

القائمة القائمة العمود الأيسر القائمة القائمة
محتويات الصفحة محتويات الصفحة محتويات الصفحة


يرجى ملاحظة أن الكتلة ذات التذييل لم تعد موجودة داخل الحاوية العامة (maket)، وبالتالي لم يعد يتم تنظيم عرضها بواسطة خصائص CSS المحددة لـ maket في ملف Style.css. سيمتد عرض التذييل عبر الشاشة بأكملها، لكنه سيظل موجودًا في الجزء السفلي من الشاشة، أسفل الكتلة الرئيسية مباشرة:

ولكن تظهر مشكلة مرة أخرى، لأنه لكي تتمكن من رؤية التذييل، عليك الآن تمرير الشاشة في المتصفح (انظر شريط التمرير في الصورة أعلاه).

يحدث هذا لأن الحاوية الرئيسية (maket) تشغل ارتفاع الشاشة بالكامل (يتم تحديد ذلك بواسطة خاصية min-height: 100%)، ويقع التذييل خلفها مباشرة ولمشاهدتها سيتعين عليك التمرير، وهو ما ليست مريحة للغاية وعملية .

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

ولكن لتعيين إزاحة سلبية من الأعلى، تحتاج إلى معرفة ارتفاع التذييل هذا، لكننا لا نعرفه بعد.

لذلك، سنقوم أولاً بتعيين ارتفاع الحاوية التي تحتوي على التذييل عن طريق تعيين الخاصية المقابلة في Style.css:

#footer (لون الخلفية: #FFC0FF؛ واضح: كلاهما؛ الارتفاع: 50 بكسل؛)

ومن ثم وضعنا لها هامشاً سالباً في الأعلى إلى ارتفاع يساوي ارتفاعها:

سيسمح هذا للتذييل بالارتفاع إلى ارتفاعه تمامًا وبالتالي يتناسب مع شاشة المتصفح (يمكنك الآن إزالة ملف CSS ممتلكات الحدود: 3px صلبة باللون الأسود من قاعدة maket، بحيث لا يمنع سمك الإطار تخطيطنا بالكامل، بما في ذلك التذييل، من الملاءمة في ارتفاع الشاشة):

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

نقوم بإدخال الفاصل ونحارب Internet Explorer

لكن تنشأ مشكلة، والذي لن يظهر إلا عندما يكون هناك مزيد من المعلومات على صفحة التخطيط وقد ينشأ الموقف التالي:

اتضح أنه قد ينشأ موقف عندما تتداخل المعلومات الموجودة في أحد أعمدة التخطيط مع التذييل، وهو ما لن يبدو جميلًا. يحدث هذا بسبب الحشو السلبي سيئ السمعة الذي وضعناه له والذي ساعد في رفع الطابق السفلي لدينا مقابل حاوية التخطيط الرئيسية.

أولئك. اتضح أنه يوجد في الجزء السفلي من الشاشة كتلتان متداخلتان في منطقة الطابق السفلي.

الحل لهذه المشكلة هو إضافة حاوية Div فارغة جديدة (ما يسمى الفواصل) في الحاوية الرئيسية للتخطيط الخاص بنا (maket)، في المكان الذي كانت توجد فيه الكتلة ذات التذييل مسبقًا.

من خلال ضبط هذه الحاوية الجديدة على ارتفاع يساوي ارتفاع التذييل، يمكننا تجنب تصادم المعلومات من الحاوية الرئيسية مع الكتلة مع التذييل. لنقم بتعيين معرف () لهذه الحاوية التي تسمى Rasporka ونتيجة لذلك سيبدو Index.html الخاص بالتخطيط المكون من ثلاثة أعمدة كما يلي:

عنوان

القائمة القائمة العمود الأيسر القائمة القائمة
محتويات الصفحة محتويات الصفحة محتويات الصفحة الصفحات الصفحات الصفحات الصفحات


وسنكتب في Style.css هذا (، والذي يحدد ارتفاع حاوية المباعد هذه بما يساوي ارتفاع الطابق السفلي:

#rasporka ( الارتفاع: 50 بكسل؛ )

ونتيجة لذلك، سيتم الضغط على التذييل من الأسفل ليس إلى المعلومات الموجودة في الحاوية الرئيسية (على سبيل المثال، النص الموجود في العمود الأعلى)، ولكن إلى مساحة تساوي ارتفاع التذييل مع حاوية فاصل لا تحتوي على معلومات .

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

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

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

وبالتالي، سنحتاج إلى إضافة خصائص إضافية لتذييل المعرف:

#footer (لون الخلفية: #FFC0FF؛ واضح: كلاهما؛ الارتفاع: 20 بكسل؛ الهامش العلوي: -20 بكسل؛ العرض: 800 بكسل؛ الهامش الأيسر: تلقائي؛ الهامش الأيمن: تلقائي؛)

باستخدام خاصية width:800px، يتم ضبط العرض على 800 بكسل، وباستخدام خاصيتين Margin-left: auto وmargin-right: auto، يتم ضبط إعداد المسافة البادئة على يسار ويمين التذييل تلقائيًا، نتيجة لـ حيث ستكون هذه المسافات البادئة متساوية وسيتم محاذاة بطلنا إلى المنتصف:

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

كل هذا يحدث لأنه (لا يفهم خاصية min-height: 100% التي استخدمناها لتعيين الحد الأدنى لارتفاع الكتلة الرئيسية. ارتفاع متساويشاشة.

لذلك، لحل هذه المشكلة، سيتعين علينا استخدام ما يسمى بالاختراق الذي يسمح لنا بشرح (على أصابعنا) للمتصفحات القديمة ما يجب القيام به. قبل قائمة CSSخصائص maket سوف تحتاج إلى إدراج المجموعة التالية:

* HTML #maket ( الارتفاع: 100%; )

تنطبق هذه القاعدة فقط على متصفح الانترنت Explorer 6، والباقي لن يأخذه في الاعتبار وينفذه.

لذلك، سيكون المظهر النهائي لـ Style.css مع الضغط على التذييل في أسفل الشاشة كما يلي:

الجسم، html ( الهامش: 0 بكسل؛ الحشو: 0 بكسل؛ الارتفاع: 100%؛ ) * html #maket ( الارتفاع: 100%؛ ) #maket ( العرض: 800 بكسل؛ الهامش: 0 تلقائي؛ الحد الأدنى للارتفاع: 100%؛ ) # رأس (لون الخلفية:#C0C000;) #left(لون الخلفية:#00C0C0; العرض:200px; float:left;) #right( width:200px; لون الخلفية:#FFFF00; float:right; ) #content (لون الخلفية: #8080FF؛ الهامش الأيسر: 202 بكسل؛ الهامش الأيمن: 202 بكسل؛) #footer( لون الخلفية: #FFC0FF؛ واضح: كلاهما؛ الارتفاع: 50 بكسل؛ الهامش العلوي: -50 بكسل؛ العرض: 800 بكسل؛ الهامش الأيسر: تلقائي؛ الهامش الأيمن: تلقائي) #rasporka (الارتفاع: 50 بكسل؛)

حسنًا، تم تقديم الشكل النهائي لـ Index.html أعلاه مباشرةً. هذا كل شيء، هذه السلسلة من المقالات المخصصة لتخطيط الكتل المكونة من 2 و 3 أعمدة وتخطيطات مواقع الويب الثابتة والمرنة يمكن اعتبارها كاملة.

يمكنك أيضًا مشاهدة الفيديو "العمل باستخدام علامة div لـ Html":

كل التوفيق لك! نراكم قريبا على صفحات موقع المدونة

أنت قد تكون مهتم

تخطيط الكتلة - نقوم بإنشاء تخطيطات مكونة من عمودين وثلاثة أعمدة وتخطيطات مرنة للموقع
تخطيط DiV - إنشاء كتل لتخطيط مكون من عمودين في HTML، وتحديد أحجامها وتعيين موضعها في CSS

هذا نوع من الكابوس! لماذا "يظهر" تذييل موقعك مرة أخرى ويغير التصميم؟ هل من المستحيل حقًا الضغط على التذييل بشكل صحيح في أسفل الصفحة بشيء ما؟ المحتوى أو الطوب على الأقل! الطوب لا يتناسب مع الشاشة؟

أرى، ثم اجلس ولا تفعل شيئًا حتى تقرأ مقالتنا حتى النهاية.

صنع التذييل المناسب لموقعك على الويب

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

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

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

الطريقة الأولى

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



html ( الارتفاع: 100%؛ ) الرأس، التنقل، القسم، المقالة، الجانب، التذييل ( العرض: كتلة؛ ) الجسم ( الارتفاع: 100%؛ ) #wrapper ( العرض: 1000 بكسل؛ الهامش: 0 تلقائي؛ الحد الأدنى للارتفاع: 100 %؛ الارتفاع: تلقائي! ارتفاع مهم: 100%) #header (الارتفاع: 150 بكسل؛ لون الخلفية: rgb(0,255,255);) #content (الحشوة: 100 بكسل; الارتفاع: 400 بكسل; لون الخلفية: rgb(51,255,102) ) #التذييل (العرض: 1000 بكسل؛ الهامش: -100 بكسل تلقائي 0؛ الارتفاع: 100 بكسل؛ الموضع: نسبي؛ لون الخلفية: rgb(51,51,204);)

لإرفاق علامة تذييل في أسفل الصفحة

قمنا بنقله خارج الحاوية (طبقة الغلاف). نقوم بتمديد الصفحة بأكملها ومحتويات "النص" إلى حواف الشاشة. للقيام بذلك، قمنا بتعيين ارتفاع العلامات في كود CSS و بنسبة 100%:

html ( الارتفاع: 100%; ) الجسم ( الارتفاع: 100%; )

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

#wrapper ( الحد الأدنى للارتفاع: 100%؛ الارتفاع: تلقائي! مهم؛ الارتفاع: 100%؛ )

سطر التعليمات البرمجية "الارتفاع: 100%" مخصص للإصدارات الأقدم من IE التي لا تقبل خاصية الحد الأدنى للارتفاع.

لفصل مساحة التذييل في تصميم الصفحة، قمنا بتعيين مسافة بادئة للعلامة عند 100 بكسل:

#المحتوى (المساحة: 100 بكسل؛)

في هذه المرحلة، لدينا صفحة ويب بعرض ملء الشاشة و100 بكسل إضافية، والتي يتم "تحييدها" بقيمة هامش سالبة للتذييل (الهامش: -100 بكسل) مع تعيين موضعها على نسبي (الموضع: نسبي) . لذلك، باستخدام قيمة حشوة سلبية، نقوم "بسحب" التذييل إلى منطقة الحاوية، والتي تم ضبط ارتفاعها على 100%.

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

:

محتوى


نسخة محسنة

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

غالبا ما تستخدم في تنفيذ النوافذ المنبثقة خاصية CSSمؤشر z. باستخدام قيمها، يمكنك تحديد الترتيب الذي يتم به تكديس الطبقات فوق بعضها البعض.

كلما ارتفعت قيمة مؤشر z لعنصر ما، كلما ظهرت أعلى في مكدس "الطبقات" الإجمالي.

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

إليك خيارًا أكثر تقدمًا:



CSS - رمز المثال:

html, body ( الارتفاع: 100%; ) .header ( الارتفاع: 120px; لون الخلفية: rgb(0,255,102); ) .main ( الحد الأدنى للارتفاع: 100%; الموضع: نسبي; لون الخلفية: rgb(100,255,255); ) .التذييل ( الارتفاع: 150 بكسل؛ الموضع: مطلق؛ اليسار: 0؛ الأسفل: 0؛ العرض: 100%؛ لون الخلفية: rgb(0,0,153); )

كما ترون من الكود، قمنا بوضع التذييل كجزء من العنصر الرئيسي. قمنا بتعيين موضع نسبي للحاوية، وموضع مطلق للتذييل. لقد ثبتنا الطابق السفلي في أسفل الحاوية، وضبطنا موضعه على اليسار والأعلى على 0.

خيار الطابق السفلي مع ارتفاع غير ثابت

يمكن أن تضمن التطبيقات السابقة أن يكون التذييل دائمًا في أسفل الصفحة. ولكن فقط إذا كان التذييل ذو عرض ثابت. ولكن ماذا لو لم يكن من الممكن التنبؤ بكمية المحتوى المنشور فيه؟

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

كل من اعتاد على صفحات موقع الويب المصممة بالكامل يفضل مظهر شيء "مسمر" (لزج) في أسفل تذييل الصفحة. ولكن هناك مشكلتان على الإنترنت: حقول الإدخال التي لا تنمو للأسفل والتذييلات التي لا يتم تثبيتها (في أسفل النافذة). على سبيل المثال، عندما نفتح صفحات قصيرة مثل habrahabr.ru/settings/social، يلفت النظر على الفور أن المعلومات المقصود أن تكون في الجزء السفلي من نافذة العرض تلتصق بالمحتوى وتقع في مكان ما في المنتصف، أو حتى في الجزء العلوي من النافذة عندما يكون الجزء السفلي فارغًا.

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

دعونا نلقي نظرة على تنفيذ نوع واحد من التذييلات المسمرة المأخوذة من الإنترنت، ونحاول فهم ما يحدث. css-tricks.com/snippets/css/sticky-footer
CSS:
* ( هامش: 0; الحشو: 0; ) html, body, #wrap ( الارتفاع: 100%; ) body > #wrap (الارتفاع: تلقائي; الحد الأدنى للارتفاع: 100%;) #main ( padding-bottom: 150px; ) /* يجب أن يكون بنفس ارتفاع التذييل */ #footer ( الموضع: نسبي؛ الهامش العلوي: -150 بكسل؛ /* القيمة السلبية لارتفاع التذييل */ الارتفاع: 150 بكسل؛ واضح: كلاهما؛) /* إصلاح واضح* / .clearfix:after (المحتوى: "."؛ العرض: كتلة؛ الارتفاع: 0؛ واضح: كلاهما؛ الرؤية: مخفي؛) .clearfix (العرض: كتلة مضمّنة؛) /* إخفاء من IE-mac \*/ * html .clearfix (الارتفاع: 1%;) .clearfix (العرض: block;) /* إنهاء الإخفاء من IE-mac */
لغة البرمجة:

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

لنبدأ بالنظرية

يعتمد التنفيذ المعتاد للتذييل المُثبت على خاصية CSS2 الفريدة التي تعتبر العناصر أبناءً مباشرين لها جسم- الحفاظ على نسبة الارتفاع ( الارتفاع: 100%أو آخر) بالنسبة للنافذة، إذا كان جميع آبائهم لديهم نفس النسبة المئوية للارتفاع، بدءًا من العلامة لغة البرمجة. في السابق، بدون أنواع المستندات، ولكن الآن في وضع Quirks، يتم دعم الارتفاعات المئوية للعناصر على أي مستوى، وفي أنواع المستندات الحديثة - فقط ضمن العناصر المحددة بالنسبة المئوية. لذلك، إذا قمنا بإنشاء كتلة محتوى (دعنا نسميها #تَخطِيط) بارتفاع 100%، سيتم تمريره كما لو كان نافذة. يتم وضع كل المحتوى (المتدفق) فيه، باستثناء التذييل وربما الرأس.

يتم وضع التذييل بعد هذه الكتلة ويكون ارتفاعه 0 بكسل. بشكل عام، يمكنك المتابعة #تَخطِيطضع أي عدد تريده من الكتل، ولكن يجب أن يكون ارتفاعها جميعًا إما 0 بكسل أو خارج نطاق تدفق المستند (وليس الموقف: ثابت). وهناك خدعة مهمة أخرى يتم استخدامها عادةً. ليس من الضروري جعل الارتفاع يساوي 0. يمكنك جعل الارتفاع ثابتا ولكن طرحه من الكتلة الرئيسية بسبب الخاصية الهامش السفلي: -(الارتفاع);.

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

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

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

دعونا نلقي نظرة على هيكل صفحات موضوع الاختبار لدينا. أسهل طريقة للقيام بذلك هي فتح نافذة Firebug أو نافذة مشابهة (أدوات المطور (Ctrl-F12)) في Chrome.

...أعلى كتلة إعلانية...


دعنا ننتقل إلى مثال عملي

أي منها نرى؟ عيوب التخطيطمن حيث تنفيذ تأثير تذييل مسمر؟ نحن نرى ذلك
1) يوجد التذييل الموجود على الموقع داخل كتلة ذات المعرف=تخطيط، والتي لا تحتوي على نسبة ارتفاع. وفقًا للنظرية، يحتاج هو وأولياء الأمور وكتلة المحتوى إلى ضبط الارتفاع على 100%. تنشأ مشاكل مع هذا الأخير - فهو غير مناسب لهذا الغرض. وبالتالي، هناك كتلة واحدة من الطبقة البينية مفقودة أو أن التذييل ليس في المستوى الصحيح. بجانب،
2) ارتفاع التذييل متغير (اعتمادًا على عدد العناصر في القائمة وحجم الخط، لا يمكن رؤية ذلك من HTML، ولكن من CSS). و
3) فوق #تَخطِيطيوجد قالب إعلاني بارتفاع ثابت يبلغ 90 بكسل؛
4) لا توجد كتل محاذاة سواء في التذييل أو (بشكل عام) في الكتلة #تَخطِيط(نعم، ولكن فوق الكتلة .rotated_posts; ومع ذلك، ربما ينبغي تصنيفها على أنها تذييل).

النقطة 4 - سيتعين عليك رسمها باستخدام برنامج نصي.
قد يبدو من السهل التعامل مع النقطة الثالثة عن طريق إضافة #layout(margin-top:-90px;) ولكن تذكر أن هذه الكتلة قد لا تكون موجودة - فقد يتم منعها عن طريق قطع الشعار، أو يقرر المعلنون فجأة عدم إظهارها. هناك عدد من الصفحات على الموقع حيث أنها ليست كذلك. وبالتالي الاعتماد أعلى الهامشمن كتلة إعلانية هي فكرة سيئة. من الأفضل وضعه بالداخل #تَخطِيط- إذن لن يتدخل في أي شيء.

النقطة الأولى هي أنه لكي يعمل التذييل المسمر على الإطلاق، تحتاج إلى وضع كتلة التذييل تحتها #تَخطِيط. ومع ذلك، مع باستخدام جافا سكريبتيمكنك تنفيذ مخططات تذييل أخرى، ولكن على أي حال تحتاج إلى JS أو التخطيط الصحيح في البداية للاستغناء عنها.

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

لذلك، في المكان المناسب في البرنامج النصي (في وقت مبكر، في نهاية تحميل الصفحة)، سنكتب عمليات نقل كتل DOM الإعلانية والتذييل إلى الأماكن الصحيحة. (دعونا نستعد لحقيقة أنه بسبب نصوص المستخدم، سيكون الحل أكثر تعقيدًا من الحل النقي.)
var dQ = function(q)(return document.querySelector(q);) // للتقصير var topL = dQ("#topline"),lay = dQ("#layout"), foot = dQ("#footer" ); if(topL &&lay) //banner - داخل كتلة المحتوىlay.insertBefore(topL,lay.firstChild); if(lay && foot &&lay.nextSibling) //تحريك التذييل lie.parentNode.insertBefore(footer,lay.nextSibling);
لقد وضعنا الكتل في أماكنها - الآن كل ما تبقى هو تعيين الخصائص الضرورية للعناصر. يجب ضبط ارتفاع التذييل بدقة، وذلك ببساطة لأننا نعرفه بالفعل بحلول الوقت الذي يكون فيه البرنامج النصي للمستخدم نشطًا (نهاية تحميل الصفحة). نظرًا لنقطة التشغيل الخاصة بنص المستخدم، كما هو مذكور أعلاه، فإن القفزة في عرض التذييل على الصفحة أمر لا مفر منه. يمكنك محاولة وضع "وجه جيد"، ولكن مع "لعبة سيئة"؟ لماذا؟ تتيح لك "اللعبة السيئة" للموقع إنشاء مفهوم دون بذل جهد إضافي، وهو ما سيكون كافيًا لتقييم الجودة ولن تكون هناك حاجة إليه من أجل "اللعبة الصحيحة" في مشروعك.
إذا (قدم)( //block-aligner

في التذييل h.apnd_el((clss:"clear"، appendTo: footer)); var footH = foot.offsetHeight; //...وقياس ارتفاع التذييل) if(topL &&lay && footer &&lay.nextSibling)(//محاذاة كتلة الارتفاع المطلوب في المحتوى ("التخطيط") h.apnd_el((clss:" واضح"، css:( height: (footH ||0) +"px"), appendTo:lay));lay.style.minHeight = "100%"; h.addRules("#layout(margin-bottom:- "+ footH +"px !important)html, body (height:100%)"); )
هنا سمحنا لأنفسنا باستخدام وظيفة مكتوبة ذاتيًا h.apnd_el، والذي يفعل تقريبًا نفس الشيء كما في jQuery -
$("
").css((الارتفاع: footH ||0)).appendTo($(تذييل))
وبعد ذلك - وظيفة نموذجية أخرى لتطبيق قواعد CSS - h.addRules. لا يمكنك الاستغناء عنها هنا، لأنك تحتاج إلى إعلان قاعدة باستخدام " !مهم" - على وجه التحديد بسبب خصوصيات أولويات الأنماط من البرنامج النصي للمستخدم.

باستخدام هذه الأجزاء من التعليمات البرمجية، سنكون قادرين على رؤية التذييل المُثبت في نص المستخدم (بعد القفز لأسفل) وفهم كيفية إنشاء تخطيط الصفحة بشكل كامل. إن استخدام تصميم القفز بشكل يومي أمر غير سار، لذا يوصى باستخدامه فقط للعرض والاختبار. في البرنامج النصي للمستخدم HabrAjax، قمت بتثبيت برنامج نصي مشابه، وأغلقته بإعداد "تحت التذييل" (حدد المربع في قائمة الإعدادات قبل "تثبيت التذييل في الأسفل")، بدءًا من الإصدار 0.883_2012-09-12.

هل يؤثر تثبيت التذييل على الحاجة إلى تحديث أنماط ZenComment إذا كانت مثبتة؟ نعم إنها كذلك.نظرًا للسلسلة المعقدة من أولويات الأنماط، حيث تكون الأنماط المُدرجة بواسطة البرنامج النصي للمستخدم هي الأقل أولوية، فقد كان علينا تعديل أنماط المستخدم قليلاً الاحتمالاتالعمل مع تذييل مسمر. إذا لم تقم بتحديث أنماط المستخدم الخاصة بك (إلى 2.66_2012-09-12 +)، فلن يعمل التذييل بشكل دقيق.

حاجز roted_post (ثلاث منشورات شائعة من الماضي) تبدو أكثر منطقية مع التذييل، لذلك في النص الحقيقي يتم نقلها أيضًا إلى التذييل.

النقطة الثانية (من قائمة عيوب التخطيط) هي مناقشة مخصصة لحبر فقط (لا تنطبق على البرنامج النصي للمستخدم وتكرر جزئيًا المناقشة السابقة).

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

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

تطبيق

إذا قمت بتمكين HabrAjax 0.883+، فسنرى أن "التذييل المُثبت" يعمل. يتكيف في الارتفاع باستخدام البرامج النصية. فهو يسمح لك بتقييم مدى جودة الصفحات التي تحتوي على مظهر تذييل مسمر مقارنة بالصفحات العادية. تتوافق أنماط مستخدم ZenComment مع البرامج النصية، ولكن لكي يعمل التذييل المُثبت بشكل صحيح معها، تحتاج إلى تثبيت إصدار ZenComment 2.66_2012-09-12 +.

حقائق حول سلوك التنفيذ

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

1) Firefox - نقص غير متوقع في قفزات التذييل. من الغريب أنهم غير موجودين - يحدث العرض بعد وضع التذييل في الأسفل.

2) Chrome - لقد فاجأني بـ "التمرير المتجول" - تتم إضافة المساحات الفارغة في الأسفل إلى الصفحة بفترة مرة واحدة في الثانية - يحدث خطأ ما في حساب الارتفاعات. الحل هو كتابة html,body(height:100%) بأسلوب المستخدم، ولكن ليس هناك ما يضمن أنه سيعمل دائمًا. من الأكثر موثوقية التحقق مما إذا كان المستند لا يتجاوز ارتفاع النافذة، وإذا لم يكن الأمر كذلك، فقم بتحريك التذييل، وإلا - لا شيء. القفز على ما يرام، فهو موجود.

3) Opera - لا توجد قفزات (الإصدار 12.02) عند تحميل الصفحة لأول مرة، ولكن إعادة التحميل المتسرعة قد تظهر قفزة في التذييل. وإلا فإنه يتصرف بشكل لا يقل صحة عن Fx.

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

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

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

ما هي الصفحات التي يفيدها هذا؟

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

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

هل سيكون هناك دعم؟

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

بعد ذلك، دعونا نلقي نظرة على "الأسهم" بدلاً من المربعات الخاصة بتقييم التعليقات. لقد ظهرت في أسماء مستخدمي almalexa ("Prettifier") منذ 3 سنوات وتم اعتمادها في ZenComment منذ عامين. منذ حوالي 2-3 أشهر ظهروا على الموقع. يبدأ المرء في الاعتقاد أنه بعد مرور بعض الوقت، سيتم تباعد الأسهم عن بعضها البعض، كما هو الحال في ZenComment (سهم واحد على يسار الرقم، والثاني على اليمين) من أجل تفويت أقل.

لذلك، ربما لم يكن "التذييل المسمر" في حبري رائعًا كما كان يبدو قبل 3 سنوات.

ظهرت ميزات أخرى في البرنامج النصي HabrAjaxلآخر 3 أشهر (يمكن تعطيله في الإعدادات):
* النمو التلقائي لحقول الإدخال (في Opera يمكن أن يتباطأ عند النصوص الكبيرة)؛
* أيام الأسبوع لتواريخ أخرى غير "اليوم" و"أمس"؛
* الأحداث في الموجز، تم تصغيرها إلى سطر واحد وحرفين؛
* اختصار الكلمات "هبر*" إلى "χ·" و"χα"؛
* تلميحات التاريخ حسب أرقام المقالات - يتم الإبلاغ عن الشهر والسنة التي كانت فيها المقالة قبل تنزيلها، من خلال الرقم الموجود في عنوان URL؛
* تم اختصار "المشاركات ذات الصلة" إلى كلمتين. لقطة شاشة تظهر "المنشورات ذات الصلة" (تظهر 12 رابطًا، وليس 4).

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

ما هو التذييل

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

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

لذلك، أقترح في البداية التخلص من محتوى التذييل القياسي. افتح الملف Index.phpقالب Protostar القياسي وابحث عن الكود المسؤول عن عرض التذييل. الكود الموجود بين السطرين 205 و 219 هو المسؤول عن عرض التذييل، والذي يبدو بهذا الشكل (اعتمادًا على إصدار Joomla والتغييرات التي تم إجراؤها على ملف الفهرس، قد تختلف سطور الكود):

">

الآن دعونا نزيل الكود الإضافي من الأسطر 210 إلى 217، ونتيجة لذلك، سيكون كود التذييل كما يلي:

">

في الأساس، قمنا بإزالة كل ما كان ممكنًا، ولم يتبق سوى القدرة على عرض الوحدات في التذييل؛ وهذا السطر هو المسؤول عن ذلك:

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

ما هي المعلومات التي سيتم عرضها في تذييل الموقع

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

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

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

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

إنشاء تذييل للموقع

الآن دعونا نتجاهل النظرية وننتقل مباشرة إلى إنشاء التذييل. يمكن أن تكون هناك عدة طرق لتشكيل التذييل:

  • آلي- يتضمن استخدام وحدات مختلفة لعرض معلومات معينة
  • يدوي- لا يتم استخدام الوحدات، يتم إجراء جميع التغييرات يدويًا باستخدام أدوات تحرير ملف القالب
  • مختلط- في هذه الحالة، يتم استخدام كلا الخيارين المذكورين أعلاه معًا

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

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

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

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

الآن نقوم بإجراء تغييرات على ملف فهرس القالب، وأصبح الكود الخاص بي كما يلي:

com.baseurl. "القوالب/". $هذا->قالب. "/images/joom4all.png"?>" />

وللتوضيح، لقطة شاشة:

من الواضح كيف يتم عرض الوحدات، ولكن أود أن أتناول الشعار بمزيد من التفاصيل. الكود المسؤول عن عرض الشعار هو:

com.baseurl. "القوالب/". $هذا->قالب. "/images/joom4all.png"?>" />

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

  • - بداية كود PHP
  • صدى صوت- المسؤول عن إخراج السلسلة
  • $هذا->باسيورل- هذا السطر يُرجع اسم الموقع
  • قوالب/- نشير هنا إلى أن الصورة مخزنة في مجلد القوالب
  • $هذا->قالب- إرجاع اسم القالب الحالي
  • /images/joom4all.png- المسار إلى الصورة داخل المجلد الجذر للقالب واسم الملف الذي يحتوي على الصورة
  • ?> - نهاية كود PHP

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

نقوم بحفظ الملف Index.php، والآن يمكننا إغلاقه، ولن نحتاج إليه بعد الآن.

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

في المرحلة التالية، نقوم بإنشاء وحدات - لقائمة من نوع "القائمة" وللنص من نوع "رمز HTML" (كيفية إنشاء وحدة نمطية). نختار مواضع الوحدة التي تم إنشاؤها حديثًا كمواضع لها:

لتمييز قائمة التذييل الخاصة بنا عن بقية القائمة الموجودة على الموقع، في إعدادات وحدة القائمة، نضيف إليها لاحقة الفئة "_footer":

لكي لا أشرح نوع الوحدة التي تحتوي على نوع "رمز HTML"، سأعرض مبدأ عملها في لقطة الشاشة:

لقد ملأت هذه الوحدة بنص معين سيتم عرضه في التذييل، بالإضافة إلى النص العادي، كتبت كود PHP صغير يعرض العام الحالي:

نحفظ الوحدات ونذهب إلى الموقع للتحقق من النتيجة وهذا ما حصلت عليه:

وعلى الرغم من أن النتيجة موجودة، إلا أنها ليست مثيرة للإعجاب. نحن الآن بحاجة إلى تصميم عناصر التذييل بشكل أكثر ملاءمة باستخدام CSS.

أولاً، لنقم بإنشاء كتل تذييل جديدة:

Foot-left, .foot-center(float: left;) /*محاذاة كتلة التذييل*/ .foot-left (width: 20%;) /*عرض الكتلة اليسرى*/ .foot-center (الهامش الأيسر: -6px ;) /* المسافة البادئة للكتلة المركزية*/ .foot-right ( /*الكتلة اليمنى*/ float: none; height: 60px; )

المرشح التالي للتصميم هو القائمة، التي قمت بتطبيق الأنماط التالية عليها:

Ul.nav.menu_footer (الهامش: 0؛) /*لا يوجد هوامش للقائمة*/ ul.nav.menu_footer li (/*تصميم نص القائمة*/ عائلة الخط: "Lobster"، مخطوطة؛ حجم الخط: 16 بكسل ; ( /*عنصر القائمة حول الموقع*/ اللون: #5aa426; الحد العلوي: 3px صلب #5aa426; ) ul.nav.menu_footer li.item-181 a ( /*جهات اتصال عنصر القائمة*/ هامش اليسار: 45px; الحد السفلي: 3 بكسل ثابت #0f70ad اللون: #0f70ad;

وأخيرًا، نفصل التذييل عن الجزء الرئيسي من المحتوى:

Footer.footer hr (الحدود العلوية: 3px Solid #fc8f30;) /*افصل التذييل عن المحتوى الرئيسي*/

احفظ ملف النمط، وانتقل إلى الموقع وانظر إلى النتيجة:

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



أخبر الأصدقاء