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

من ثابت إلى ديناميكي: إنشاء موقع ويب سريع الاستجابة من صفحة واحدة

تم النشر بتاريخ 2024-11-08
تصفح:159

من ثابت إلى ديناميكي: إنشاء موقع ويب سريع الاستجابة مكون من صفحة واحدة
مرحبًا بكم، أيها الزملاء المتحمسون للكود! اليوم، أريد أن أشارك تجربتي الأخيرة في إنشاء موقع ويب سريع الاستجابة مكون من صفحة واحدة لمقهى خيالي يسمى "The Last Stop Café". كان هذا المشروع تمرينًا رائعًا في الجمع بين HTML وCSS وJavaScript لإنشاء تجربة سلسة وسهلة الاستخدام. دعنا نتعمق في بعض النقاط الرئيسية التي يمكنك تطبيقها على مشاريعك الخاصة!

From Static to Dynamic: Building a Responsive One-Page Website

https://coffeepleace.netlify.app/

1. أهمية البنية: HTML كأساس لك

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

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

معلومات عنا

2. الأسلوب الهادف: CSS للتصميم سريع الاستجابة

لم يعد التصميم سريع الاستجابة اختياريًا. إليك كيفية جعل موقعنا يبدو رائعًا على جميع الأجهزة:

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

.menu-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

استخدم الوحدات النسبية (مثل em أو rem أو النسب المئوية) بدلاً من قيم البكسل الثابتة لتحسين قابلية التوسع.

3. اجعلها تنبض بالحياة: جافا سكريبت للتفاعل

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

document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  anchor.addEventListener('click', function (e) {
    e.preventDefault();
    document.querySelector(this.getAttribute('href')).scrollIntoView({
      behavior: 'smooth'
    });
  });
});

الملاحة المستجيبة

لقد أنشأنا قائمة برجر للأجهزة المحمولة التي تقوم بتبديل القائمة المنسدلة:

const menuBtn = document.getElementById("menu-btn");
const menu = document.getElementById("menu");

menuBtn.addEventListener("click", () => {
  menu.classList.toggle("hidden");
});

تحميل المحتوى الديناميكي
بدلاً من ترميز المحتوى بالكامل، استخدمنا JavaScript لتحميل البيانات ديناميكيًا:

const menuSection = document.getElementById("menu");
menuData.forEach(item => {
  const menuItem = document.createElement("div");
  menuItem.innerHTML = `
    

${item.name}

${item.description}

${item.price} `; menuSection.appendChild(menuItem); });

4. اعتبارات الأداء

تذكر أن الأداء هو المفتاح لتجربة المستخدم. إليك بعض النصائح:

تحسين الصور لاستخدامها على الويب. فكر في استخدام التنسيقات الحديثة مثل WebP.
تصغير ملفات CSS وJavaScript.
استخدم التحميل البطيء للصور التي لا تكون مرئية على الفور.

5. الاختبار والتصحيح

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

خاتمة

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

تنزيل الكود المصدري: https://buymeacoffee.com/techmobilebox/e/296490

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/mibii/from-static-to-dynamic-building-a-response-one-page-website-2011?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@163 .com لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3