هذه المقالة هي جزء من موقعنا "سلسلة دروس HTML5 / CSS3" - مكرسة لمساعدتك في جعلك أفضل مصمم و / أو مطور. انقر هنا لرؤية المزيد من المقالات من نفس السلسلة.
في هذا المنشور ، سنعمل على مشروع خيالي ، وننشئ صفحة منتج واحد لتقديم iPhone 4S ، وفي هذا المشروع سنقوم أيضًا بتنفيذ الأساليب التي ناقشناها في المنشورات السابقة ؛ ال عنصر ونفي محدد.
هيا بنا نبدأ.
HTML5 العلامات
أولا ، نحن بحاجة إلى إنشاء أتش تي أم أل وثيقة مع العلامات التالية:
ابل اي فون 4 - 16GB
أكثر من المدهش iPhone حتى الآن.
رقاقة A5 ثنائية النواة الأسرع. الكاميرا 8 ميجابكسل مع البصريات الجديدة كليًا تقوم أيضًا بتصوير فيديو عالي الدقة 1080 بكسل. وإدخال سيري. إنه أكثر من رائع iPhone حتى الآن.
مواصفات المنتج
كاميرا 8 ميجا بكسل مع تسجيل فيديو كامل بدقة 1080 بكسل
مساعد صوت سيري
على iCloud
طباعة الهواء
عرض شبكية العين
الصور والفيديو تحديد الموقع الجغرافي
نحن نستخدم عدة علامات جديدة من HTML5 المواصفات ، مثل رأس, hgroup, الشكل, الجزء, وواحد ناقشناه من قبل ؛ ال تفاصيل و ملخص بطاقة.
ومع ذلك ، لن نقوم بالبحث في هذه العلامات ، ليس لأننا لسنا على استعداد ، ولكن هذه هي الموضوعات الأساسية التي يمكنك العثور عليها بسهولة في أي مكان آخر. لذا ، إذا كنت جديدًا بالفعل على HTML5 ، فإنني أوصي بقراءة المراجع التالية لتلك العلامات ؛ لقد شرحوهم بشكل شامل:
دعنا نتحدث عن الدلالي
HTML5 رأس العنصر
عنصر hgroup
مرجع علامة HTML5
الآن دعونا نرى أول ظهور لصفحتنا.
حسنا ، يبدو معقولا دون أي أنماط. في الجزء العلوي يوجد الرأس ، ثم يأتي قسم الصورة والوصف وأخيرًا زر "اشتر الآن". الآن ، دعنا ننهض بهذه الصفحة.
الأنماط
سنبدأ من خلال تطبيع جميع الأنماط الافتراضية باستخدام ورقة الأنماط هذه وإضافة خلفية متدرجة إلى أتش تي أم أل بطاقة.
كالعادة IE (Internet Explorer) دائماً يسبب بعض المشاكل؛ إذا قمت بفتح هذا في أي إنترنت إكسبلورر أقل من 9 ، ستبقى الصفحة غير مصممة.
هذا لأن Internet Explorer لا يتعرف على العناصر الجديدة (الجزء, رأس, إلخ) حتى الأنماط التي حددناها لم تطبق. وبالتالي ، في الخطوة التالية سوف نعمل على حل هذه المشكلة.
اختبار دعم المتصفح
في منشورنا السابق ، تعاملنا مع دعم المتصفح لعنصر التفاصيل باستخدام polyfill هذا ؛ بحيث يمكن أن تعمل في المتصفحات غير المدعومة. ومع ذلك ، هذه المرة سنحاول طرق مختلفة للقيام بذلك مع Modernizr.
من موقعه الرسمي, "Modernizr هي مكتبة جافا سكريبت مفتوحة المصدر تساعدك على بناء الجيل القادم من HTML5 و CSS3-المواقع بالطاقة". من الناحية الفنية ، سيقوم Modernizr باختبار دعم المتصفح لبعض العناصر والميزات الجديدة. إذا لم يتم توفير الدعم ، فيجب علينا توفير احتياطي سواء كان ذلك عن طريق إعطاء أنماط مختلفة أو تقديم polyfills. في هذه الحالة ، سوف نستخدم Modernizr لمساعدتنا في اختبار التفاصيل وعنصر الملخص.
انتقل إلى Modernizr وانتقل إلى صفحة التنزيل الخاصة به.
في صفحة التنزيل ، يوفر Modernizr بعض الخيارات لتكوين المكتبة ، لذلك عليك فقط تحديد بعض الميزات التي تحتاجها بالفعل لموقع الويب الخاص بك. في هذه الحالة ، نحتاج إلى:
HTML5Shiv 3.4
إضافة فصول CSS, ستقوم هذه الميزة تلقائيًا بإدراج فئات في علامة html.
ال Modernizr.load,
انتقل إلى مربع الوظائف الإضافية للمجتمع وحدد إيليم-تفاصيل,
في قسم القابلية للتوسعة ، حدد Modernizr.addTest.
توليد وتنزيل الملف.
اربطه بـ html وأعد تحميل الصفحة في Internet Explorer. يجب الآن تصميم الصفحة لأن Internet Explorer يمكنه الآن التعرف على العلامات.
وإذا عرضت المصدر أو عنصر الفحص ، فستجد أن فئة بلا تفاصيل قد تم إدراجها في علامة html ؛ مشيرا إلى أن المتصفح حيث نقوم بمعاينة الصفحة ؛ لا يدعم حاليًا عنصر التفاصيل. @@[لا أستطيع أن أفهم هذه الجملة. ]
يمكننا بعد ذلك إنشاء احتياطي باستخدام هذه الفئة كخطاف ، وهو ما سنفعله في الخطوة التالية.
التراجع
في هذه الخطوة سوف نقدم مماثلة تفاصيل وظيفة العنصر للمتصفحات الأخرى (باستثناء Chrome). في المنشور السابق ، تم تنفيذ هذه الخطوة تلقائيًا باستخدام هذا البرنامج النصي ، لكن هذه المرة سننشئها بمفردنا.
ملحوظة: مجرد مراجعة قليلا من نشرتنا السابقة. عنصر التفاصيل معتمد حاليًا فقط في متصفح Chrome.
لذلك ، لنبدأ العمل على CSS أولاً.
في علامة التلخيص ، نغير وضع المؤشر إلى مؤشر ، لذلك سيلاحظ المستخدم أنه قابل للنقر.
Summary cursor: pointer؛ حجم الخط: 12pt ؛ الخطوط العريضة: 0؛
لإعطاء مساحة أكبر في أعلى وأسفل عنصر التفاصيل بهامش.
التفاصيل margin: 20px 0px؛
افتراضيًا ، سيكون لسمة الملخص سهم. ولكن هنا نود استبداله برمز زائد ناقص.
ملحوظة: قبل المتابعة ، سبق لي أن قمت بتنزيل الرموز من هذه المجموعة بواسطة Fugue ، وقم بتنزيلها وكتابتها في ملف واحد.
دعنا نضيف عنصرًا سابقًا زائفًا ونعلق الرمز كخلفية. لاحظ أنه في هذه المرحلة ، يكون موضع الخلفية في الأعلى والذي سيظهر رمز الإضافة.
التفاصيل> ملخص: قبل width: 16px؛ الارتفاع: 16 بكسل ؛ عرض: كتلة مضمنة. المحتوى: "! important؛ background: url ('... /https://assets.hongkiat.com/uploads/html5-single-product-page/plus-min.png') أعلى مركز للتكرار بلا هامش ؛ الهامش الأيمن: 5 بكسل ؛ الموضع: نسبي ؛ أعلى: 2 بكسل ؛
بعد ذلك ، عندما يكون عنصر التفاصيل مفتوحًا ، سينتقل موضع الخلفية إلى أسفل والذي سيظهر رمز الطرح.
التفاصيل [open]> الملخص: قبل ، details.open> الملخص: قبل background: url ('... /https://assets.hongkiat.com/uploads/html5-single-product-page/plus-min.png' ) عدم تكرار مركز القاع ؛
ال [افتح] علامة هو محدد. في هذه الحالة ، ستقوم بتحديد سمة فتح التفاصيل في متصفح الدعم.
أخيرًا ، يجب إخفاء السهم الذي يظهر افتراضيًا في Chrome.
تم استبدال السهم الافتراضي الآن برمزنا ، وإذا رأيته في Chrome سيكون لديك بالفعل تأثير تبديل عند النقر فوقه ؛ سوف يتغير الرمز وفقا لذلك. لكن في المتصفحات الأخرى لن يحدث شيء. لذلك ، في الخطوة التالية ، سنحاول تكرار التأثير باستخدام jQuery.
تأثير التبديل مع مسج
قبل أن نبدأ بالجزء الخاص بـ jQuery ، أود أن أشكر Ian Devlin على الإلهام ، النص أدناه هو في الواقع تعديل بسيط.
حسنًا ، دعنا ننشئ متغيرًا لتخزين علامة الملخص.
فار ملخص = $ ("ملخص التفاصيل") ؛
ثم نلتف جميع عناصر الأخوة في الملخص ب شعبة.
summary.siblings (). wrapAll ( '')؛
وإخفاء ذلك div عندما لا يحتوي عنصر التفاصيل على الفصل المفتوح.
$ ("التفاصيل: لا (. فتح) الملخص"). الأشقاء ('div'). hide ()؛
عند النقر فوق الملخص ، نريد عرض div المخفي ، والعكس ، عندما يكون div مفتوحًا في البداية ، فسيتم إخفاؤه.
الآن دعونا نختبره في المتصفح ؛ تأثير التبديل يجب أن يعمل الآن على جميع المتصفحات ، لقد قمت شخصيا بالتحقق (حتى Internet Explorer 7).
عرض
تحميل المصدر
نصائح: بدلا من ذلك يمكنك تغيير .تبديل () مع .slideToggle () لإنشاء تأثير الشريحة. أيضًا إذا كنت تريد فتح التفاصيل في البداية ، يمكنك إضافة فصل مفتوح في عنصر التفاصيل.
استنتاج
لقد مررنا بجميع خطوات إنشاء صفحة منتج واحد باستخدام HTML5 ، وتصحيح الأخطاء للمتصفحات غير المدعومة ، وكذلك تكرار تأثير تبديل عنصر التفاصيل لوحدنا ، لذلك نأمل أن تتعلم الكثير منه.
ومع ذلك ، أدرك أنني لم أشرح كل شيء بالتفصيل في هذا المنشور ، لذلك إذا كنت تريد مسح شيء ما ، فلا تتردد في نشر السؤال في مربع التعليقات أدناه.