زر بأضاءة متحركة بأستخدام HTML, CSS

x32x01
  • بواسطة x32x01 ||
  • #1
لو عايز تضيف لمسة احترافية وجذابة على موقعك، يمكنك عمل زر بأضاءة متحركة ✨ باستخدام HTML وCSS فقط، بدون أي مكتبات خارجية! هنتعلم خطوة بخطوة إزاي نعمل التأثير ده بطريقة بسيطة وسهلة. 🚀

1️⃣ الهيكل الأساسي في HTML​

الفكرة الأساسية هي وجود عنصرين فوق بعض:
  • العنصر الخلفي outline → يمثل الخط الأحمر المتحرك 🔴
  • العنصر الأمامي inner-container → يغطي العنصر الخلفي مع ترك الأطراف مرئية
HTML:
<div class="btn-container">
    <div class="outline"></div>
    <div class="inner-container">Outlined</div>
</div>
  • btn-container هو الحاوية الأساسية للزر.
  • outline هو العنصر الذي سيعمل عليه التحريك.
  • inner-container هو العنصر الأمامي الذي يظهر النص ويغطي الخلفية.

2️⃣ إعداد CSS وترتيب العناصر​


أ) ترتيب العناصر داخل الحاوية​

CSS:
.btn-container {
    min-height: 200px;
    width: 200px;
    position: relative;
    overflow: hidden; /* اخفاء الجزء الخارج عن الحاوية */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(18, 8, 41);
    box-shadow: 5px 5px 10px rgba(255, 0, 0, 0.171);
    border-radius: 25px;
}

ب) العنصر الخلفي outline​

  • نضعه position: absolute ليصبح حر وغير تابع لتسلسل العناصر.
  • نضبط الحجم أكبر من الحاوية لتظهر الحركة عند التدوير.
  • نستخدم conic-gradient لإنشاء زاوية ملونة.
CSS:
.outline {
    position: absolute;
    background-image: conic-gradient(red 40deg, transparent 140deg);
    height: 300%;
    width: 300%;

    animation-name: btn-outline;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

ج) العنصر الأمامي inner-container​

CSS:
.inner-container {
    position: absolute;
    background-color: rgb(18, 8, 41);
    height: 95%;
    width: 95%;
    color: rgba(255, 255, 255, 0.322);

    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    font-family: 'Courier New', Courier, monospace;
    border-radius: 25px;
    transition: all 0.5s ease;
}

.inner-container:hover {
    font-size: 35px;
    color: rgba(255, 255, 255, 0.6);
}

3️⃣ تحريك العنصر الخلفي​

  • نستخدم @keyframes لتدوير outline 360 درجة بشكل مستمر 🔄
CSS:
@keyframes btn-outline {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(-360deg);
    }
}

4️⃣ إعداد الصفحة بالكامل​

HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Animated Button</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="btn-container">
        <div class="outline"></div>
        <div class="inner-container">Outlined</div>
    </div>
</body>
</html>

⚡ نصائح احترافية​

  • جرب تغيير ألوان conic-gradient لإضفاء أشكال وإضاءات مختلفة 🌈
  • يمكن تعديل مدة التحريك في animation-duration للحصول على سرعة مختلفة 🔥
  • يمكنك إضافة تأثيرات CSS على inner-container:hover لتغيير اللون أو الحجم عند المرور بالماوس
 
التعديل الأخير:

المواضيع ذات الصلة

x32x01
الردود
0
المشاهدات
858
x32x01
x32x01
x32x01
الردود
0
المشاهدات
827
x32x01
x32x01
x32x01
الردود
0
المشاهدات
823
x32x01
x32x01
x32x01
الردود
0
المشاهدات
832
x32x01
x32x01
x32x01
الردود
0
المشاهدات
939
x32x01
x32x01
الوسوم : الوسوم
animation conic gradient css front-end hover effect html أضاءة متحركة تصميم زر تصميم ويب واجهة مستخدم
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟

آخر المشاركات

إحصائيات المنتدى
المواضيع
2,388
المشاركات
2,601
أعضاء أكتب كود
574
أخر عضو
الياس
عودة
أعلى