كود زر التنزيل التفاعلي المميز
مقدمة عن الكود
هذا الكود يخلق زر تحميل تفاعلي ثلاثي الأبعاد مع تأثيرات حركية متطورة، مصمم خصيصًا للواجهات العربية. يتكون من:
- زر رئيسي مع أيقونة تحميل
- تلميحين علوي وسفلي يظهران عند التحويم
- تأثيرات حركية متعددة عند التفاعل مع الزر
أهمية الكود وفائدته
تحسين تجربة المستخدم:
- يوفر تغذية بصرية فورية عند التفاعل
- يوضح معلومات إضافية عند الحاجة (عند التحويم)
- يجذب انتباه المستخدم بشكل أنيق
تصميم عصري:
- يستخدم أحدث تقنيات CSS مثل:
- تأثيرات الانتقال المتقدمة (
cubic-bezier
) - تدرجات الألوان
- الظلال المتحركة
- تأثيرات الضبابية (
backdrop-filter
)
- تأثيرات الانتقال المتقدمة (
استجابة عالية:
- يعمل بشكل مثالي على جميع أحجام الشاشات
- يتفاعل مع حركات المستخدم بسلاسة
شرح مفصل لأجزاء الكود
إعدادات عامة
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;700&display=swap');
يستخدم خط "تاجوال" العربي الحديث الذي يدعم الوزنين العادي (400) والغامق (700)
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
يخلق خلفية متدرجة لطيفة
يمركز الزر في منتصف الصفحة
زر التحميل الرئيسي
.download-btn {
background: linear-gradient(45deg, #6a11cb 0%, #2575fc 100%);
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
زر بتدرج لوني أرجواني-أزرق
ظل لخلق تأثير ثلاثي الأبعاد
انتقال حركي مخصص باستخدام cubic-bezier
.download-btn::before {
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
}
يخلق تأثير ضوء متحرك عند التحويم
التلميحات (Tooltips)
.tooltip {
background: rgba(52, 73, 94, 0.9);
backdrop-filter: blur(5px);
transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
خلفية شبه شفافة مع تأثير ضبابي
حركة دخول وخروج مميزة باستخدام cubic-bezier
تأثيرات التفاعل
.download-btn:hover {
transform: translateY(-3px);
box-shadow: 0 15px 30px rgba(0,0,0,0.3);
}
يرفع الزر قليلاً عند التحويم
يزيد الظل لتعزيز التأثير ثلاثي الأبعاد
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
تأثير نبض خفيف لجذب الانتباه
الاستخدام الأمثل
هذا الزر مثالي ل:
- مواقع تحميل الملفات
- تطبيقات الويب التي تحتاج لأزرار تفاعلية
- واجهات تحتاج لتوجيه المستخدم بشكل مرئي
- المشاريع التي تريد إضافة لمسة عصرية وعربية
يمكن تخصيص الألوان والأحجام والرسائل بسهولة ليناسب أي تصميم.
الكود كاملا
<div class="button-container">
<button class="download-btn">
تنزيل الملف <i class="fas fa-download"></i>
</button>
<div class="tooltip top-tooltip">جودة عالية - سرعة فائقة</div>
<div class="tooltip bottom-tooltip">حجم الملف: 15MB</div>
</div>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;700&display=swap');
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
font-family: 'Tajawal', sans-serif;
}
.button-container {
width: 220px;
position: relative;
perspective: 1000px;
}
.download-btn {
display: flex;
align-items: center;
justify-content: center;
height: 60px;
width: 100%;
border: none;
outline: none;
cursor: pointer;
position: relative;
overflow: hidden;
z-index: 2;
/* النص */
color: white;
font-family: 'Tajawal', sans-serif;
font-size: 18px;
font-weight: 700;
text-decoration: none;
text-align: center;
/* التصميم */
background: linear-gradient(45deg, #6a11cb 0%, #2575fc 100%);
border-radius: 12px;
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.download-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: 0.5s;
}
.download-btn:hover {
transform: translateY(-3px);
box-shadow: 0 15px 30px rgba(0,0,0,0.3);
}
.download-btn:hover::before {
left: 100%;
}
.download-btn:active {
transform: translateY(1px);
box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}
.download-btn i {
margin-left: 8px;
font-size: 20px;
transition: transform 0.3s;
}
.download-btn:hover i {
transform: translateY(3px);
}
.tooltip {
background: rgba(52, 73, 94, 0.9);
backdrop-filter: blur(5px);
display: flex;
align-items: center;
justify-content: center;
height: 45px;
width: 200px;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
/* النص */
text-align: center;
font-family: 'Tajawal', sans-serif;
font-size: 13px;
color: #fff;
font-weight: 400;
/* التموضع */
position: absolute;
right: 10px;
z-index: 1;
/* الانتقال */
transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
opacity: 0;
}
.top-tooltip {
bottom: 100%;
margin-bottom: 15px;
transform: translateY(20px);
}
.bottom-tooltip {
top: 100%;
margin-top: 15px;
transform: translateY(-20px);
}
/* تأثيرات hover */
.button-container:hover .top-tooltip {
opacity: 1;
transform: translateY(0);
margin-bottom: 25px;
}
.button-container:hover .bottom-tooltip {
opacity: 1;
transform: translateY(0);
margin-top: 25px;
}
/* تأثيرات active */
.download-btn:active {
background: linear-gradient(45deg, #2575fc 0%, #6a11cb 100%);
}
/* تأثير النبض */
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
.button-container:hover .download-btn {
animation: pulse 1.5s infinite;
}
معايــنة
الخلاصــــة
هذا الكود يمثل مثالًا رائعًا لكيفية إنشاء عناصر واجهة مستخدم تفاعلية باستخدام HTML وCSS فقط. مثل هذه الأزرار يمكن أن تضيف لمسة احترافية لأي موقع ويب وتجعل تجربة المستخدم أكثر متعة وفعالية. الكود أيضًا متوافق مع معايير الويب المختلفة ويعمل على معظم المتصفحات الحديثة.