هل سبق لك أن أردت إنشاء ساعة تقوم بما هو أكثر من مجرد معرفة الوقت؟ ماذا لو كانت كل ثانية تمضي قد تجلب موضوعًا جديدًا؟ مع CSS @property وقوة معالجة الألوان hsl()، يمكنك ذلك! في هذه المقالة، سأرشدك خلال عملية إنشاء "ساعة السمات" الديناميكية والمثيرة بصريًا والتي تغير ألوانها (المعروفة أيضًا باسم سمتها) في كل ثانية، مما يضفي حياة جديدة على كل لحظة!.
الفكرة وراء "الساعة ذات السمات" بسيطة ولكنها آسرة: مع مرور الوقت، يتغير مظهر الساعة. سنعمل على الاستفادة من خصائص CSS المخصصة لتحريك درجة الألوان (حسنًا، إنها زاوية بالدرجات) وتحديث سمة الساعة كل ثانية (أيضًا لكل دقيقة وساعة أيضًا). النتيجة؟ ساعة سلسة ومتغيرة باستمرار، ساحرة بقدر ما هي عملية.
حسنًا، إليك الكود الكامل لـ "Theme Clock". سأقوم بتفصيلها لفهم كيفية مساهمة كل جزء في التأثير الكلي.
1.خصائص CSS المخصصة و@property: يكمن السحر وراء ساعة تغيير السمات هذه في استخدام خصائص CSS المخصصة وقاعدة @property. نحدد خاصية مخصصة --angle تتحكم في درجة لون ألوان الساعة باستخدام وظيفة hsl(). ومن خلال تحريك هذه الخاصية لمدة تزيد عن 60 ثانية باستخدام قاعدة @keyframes، فإننا نحقق انتقالًا مستمرًا للألوان.
2. التبديل الديناميكي للموضوع: يتيح زر التبديل للمستخدمين التبديل بين السمات الفاتحة والداكنة. يؤدي النقر على الزر إلى تبديل فئة داكنة في عنصر html، مما يؤدي إلى تغيير مظهر الساعة.
3. تحديث الساعة والوقت: يتعامل جزء JavaScript من الكود مع تحديث عقارب الساعة وعرض الوقت الرقمي. تقوم وظيفة setTime بإعادة حساب مواضع عقرب الساعات والدقائق والثواني في كل ثانية، مع تحديث عرض الوقت والتاريخ أيضًا.
من خلال الجمع بين قوة خصائص CSS المخصصة ومعالجة الألوان hsl() وقاعدة @property، قمنا بإنشاء ساعة لا تخبر الوقت فحسب، بل تتطور أيضًا في المظهر مع مرور كل ثانية. يعد هذا المشروع مثالًا رائعًا لكيفية استخدام CSS لإنشاء عناصر ويب تفاعلية وجذابة بصريًا باستخدام الحد الأدنى من JavaScript.
ضع لايك ❤️، وتابع للمزيد من alishata128
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3