آخر الأخبار

استكشف في مدونة أوعي وشك عالم الابتكار

اكتشف الحلول المتطورة في تطبيقات الأجهزة المحمولة والتكنولوجيا والتعليم وموضوعات بلوجر. كن على اطلاع دائم بمقالات الخبراء والموارد الإبداعية والأدوات القوية لتعزيز مشاريعك الرقمية.

أزرار زجاجية ساحرة: تفاعل أنيق مع تأثيرات ضوئية مبهرة

عند التحويم على الزر، تظهر تأثيرات تفاعلية مثل توسيع العناصر الوهمية وزيادة تباعد الحروف.
أزرار زجاجية ساحرة: تفاعل أنيق مع تأثيرات ضوئية مبهرة
هذا الكود يُنشئ مجموعة من الأزرار بتصميمات زجاجية (Glass Buttons) مع تأثيرات تفاعلية عند التحويم (Hover). الأزرار مقسمة إلى نوعين: glass-btn و glass2-btn، ولكل نوع ألوان مختلفة (أحمر، أزرق، أخضر). سأشرح الكود بالتفصيل لكن شاهد الكود الاول:
  1. الهيكل العام (HTML):

    
          <div class="glass-wrap">
      <div class="text-center">
        <div class="glass-btn glass-btn-red">
          <a href="#url">معاينة</a>
        </div>
        <div class="glass-btn glass-btn-blue">
          <a href="#url">معاينة</a>
        </div>
        <div class="glass-btn glass-btn-green">
          <a href="#url">معاينة</a>
        </div>
      </div>
      <div class="text-center">
        <div class="glass2-btn glass-btn2-red">
          <a href="#url">معاينة</a>
        </div>
        <div class="glass2-btn glass-btn2-blue">
          <a href="#url">معاينة</a>
        </div>
        <div class="glass2-btn glass-btn2-green">
          <a href="#url">معاينة</a>
        </div>
      </div>
    </div>

    شرح الكود

    • glass-wrap: الحاوية الرئيسية التي تحتوي على جميع الأزرار.
    • text-center: يُستخدم لتوسيط الأزرار.
    • glass-btn و glass2-btn: فئتان تمثلان نوعين مختلفين من الأزرار.
    • glass-btn-red , glass-btn-blue , glass-btn-green فئات لتحديد لون الزر (أحمر، أزرق، أخضر).
  2. تنسيق الحاوية الرئيسية (CSS):

    
        .glass-wrap {
      margin: 20px 0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      height: 460px;
      background-image: url(https://atuin.ru/demo/1280/fantasy-2.jpg);
      background-size: cover;
      background-position: 50% 50%;
      background-repeat: no-repeat;
      background-color: #337AB7;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), 0 4px 6px rgba(0, 0, 0, 0.2);
      border: 6px solid #BFE2FF;
    }

    شرح الكود

    • display: flex: يجعل العناصر داخل الحاوية تظهر بشكل مرن.

    • background-image: يُضيف صورة خلفية للحاوية.

    • box-shadow: يُضيف ظلًا للحاوية.

    • border: يُضيف حدودًا للحاوية.

  3. تنسيق الأزرار (glass-btn و glass2-btn):

    
        .glass-btn, .glass2-btn {
      position: relative;
      width: 220px;
      height: 50px;
      margin: 20px;
      display: inline-block;
      text-align: center;
    }

    شرح تنسيق عام للأزرار:

    • position: relative: يُستخدم لتحديد موقع العناصر الداخلية بالنسبة للزر.
    • width و height: تحديد حجم الزر.
    • margin: يُضيف مسافة بين الأزرار.

    تنسيق الرابط داخل الزر:

    
        .glass-btn a, .glass2-btn a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      background: rgba(255, 255, 255, 0.05);
      box-shadow: 0 15px 15px rgba(0, 0, 0, 0.3);
      border-radius: 30px;
      padding: 0 10px;
      letter-spacing: 1px;
      text-decoration: none;
      text-transform: uppercase;
      overflow: hidden;
      color: #fff;
      font-family: "Roboto", sans-serif;
      font-weight: bold;
      font-size: 16px;
      z-index: 1;
      transition: 0.5s;
      backdrop-filter: blur(15px);
    }

    شرح الكود

    • background: rgba(255, 255, 255, 0.05): خلفية شبه شفافة.
    • box-shadow: يُضيف ظلًا للزر.
    • border-radius: يجعل حواف الزر دائرية.
    • backdrop-filter: blur(15px): يُضيف تأثير ضبابي (Blur) للزر.
  4. تأثيرات التحويم (Hover Effects):

    • تأثيرات عامة:

      
        .glass-btn:hover a, .glass2-btn:hover a {
        letter-spacing: 3px;
      }

      شرح التاثير

      • عند التحويم على الزر، يزيد تباعد الحروف letter-spacing.
    • تأثيرات خاصة بـ glass-btn:

      
          .glass-btn:hover:before, .glass-btn:hover:after {
        width: 80%;
        height: 50%;
        border-radius: 30px;
      }

      شرح التاثير

      • :before و :after : عناصر وهمية تُستخدم لإنشاء تأثيرات إضافية.

      • عند التحويم، تتوسع هذه العناصر لتغطي جزءًا من الزر.

    • تأثيرات خاصة بـ glass2-btn:

      
          .glass2-btn:hover:before {
        bottom: 0;
        height: 80%;
        width: 80%;
        border-radius: 30px;
      }

      شرح التاثير

      • عند التحويم، يتوسع العنصر الوهمي :before ليملأ الزر.
  5. الألوان والتأثيرات الضوئية:

    • لون أحمر:

      
      .glass-btn-red a:after,
      .glass-btn-red:before,
      .glass-btn-red:after {
        background: #ff4747;
        box-shadow: 0 0 5px #ff4747, 0 0 15px #ff4747, 0 0 30px #ff4747, 0 0 60px #ff4747;
      }
    • لون أزرق:

      
      .glass-btn-blue a:after,
      .glass-btn-blue:before,
      .glass-btn-blue:after {
        background: #419cec;
        box-shadow: 0 0 5px #419cec, 0 0 15px #419cec, 0 0 30px #419cec, 0 0 60px #419cec;
      }
    • لون أخضر:

      
      .glass-btn-green a:after,
      .glass-btn-green:before,
      .glass-btn-green:after {
        background: #38ba35;
        box-shadow: 0 0 5px #38ba35, 0 0 15px #38ba35, 0 0 30px #38ba35, 0 0 60px #38ba35;
      }
    • شرح الألوان:

      • يتم تحديد لون الخلفية والتأثيرات الضوئية لكل زر بناءً على الفئة Class المحددة.
  6. النتيجة النهائية:

    • تظهر الأزرار بتصميم زجاجي مع تأثيرات ضوئية.

    • عند التحويم على الزر، تظهر تأثيرات تفاعلية مثل توسيع العناصر الوهمية وزيادة تباعد الحروف.

    • كل زر له لون مختلف (أحمر، أزرق، أخضر) مع تأثيرات ضوئية مميزة.

  7. الكود كامل مع CSS ,Html

[HTML]
  <div class="glass-wrap">
<div class="text-center">	
<div class="glass-btn glass-btn-red">
	<a href="#url">معاينة</a>
</div>
<div class="glass-btn glass-btn-blue">
	<a href="#url">معاينة</a>
</div>
<div class="glass-btn glass-btn-green">
	<a href="#url">معاينة</a>
</div>
</div>
<div class="text-center">	
<div class="glass2-btn glass-btn2-red">
	<a href="#url">معاينة</a>
</div>
<div class="glass2-btn glass-btn2-blue">
	<a href="#url">معاينة</a>
</div>
<div class="glass2-btn glass-btn2-green">
	<a href="#url">معاينة</a>
</div>


</div>	
</div>
[CSS] 
.glass2-btn {
	position: relative;
	width: 220px;
	height: 50px;
	margin: 20px;
	display: inline-block;
	text-align: center;
}
.glass2-btn a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 15px 15px rgba(0, 0, 0, 0.3);
	border-radius: 30px;
	padding: 0 10px;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: uppercase;
	overflow: hidden;
	color: #fff;
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	font-size: 16px;
	z-index: 1;
	transition: 0.5s;
	backdrop-filter: blur(15px);
}
.glass2-btn:hover a {
	letter-spacing: 3px;
}
.glass2-btn a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: linear-gradient(to left, rgba(255, 255, 255, 0.15), transparent);
	transform: skewX(45deg) translate(0);
	transition: 0.5s;
	filter: blur(0px);
}
.glass2-btn:hover a:before {
	transform: skewX(45deg) translate(200px);
}
.glass2-btn a:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	transition: 0.5s;
	border-radius: 30px;
	z-index: -1;
}
.glass2-btn:hover a:after {
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.glass2-btn:before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	bottom: -5px;
	width: 30px;
	height: 10px;
	background: #f00;
	border-radius: 10px;
	transition: 0.5s;
	transition-delay: 0.5;
}
.glass2-btn:hover:before {
	bottom: 0;
	height: 80%;
	width: 80%;
	border-radius: 30px;
}
.glass2-btn.glass-btn2-red a:after,
.glass2-btn.glass-btn2-red:before {
	background: #ff4747;
	box-shadow: 0 0 5px #ff4747, 0 0 15px #ff4747, 0 0 30px #ff4747, 0 0 60px #ff4747;
}
.glass2-btn.glass-btn2-blue a:after,
.glass2-btn.glass-btn2-blue:before{
	background: #419cec;
	box-shadow: 0 0 5px #419cec, 0 0 15px #419cec, 0 0 30px #419cec, 0 0 60px #419cec;
}
.glass2-btn.glass-btn2-green a:after,
.glass2-btn.glass-btn2-green:before {
	background: #38ba35;
	box-shadow: 0 0 5px #38ba35, 0 0 15px #38ba35, 0 0 30px #38ba35, 0 0 60px #38ba35;
}
[css] 
.glass-btn {
	position: relative;
	width: 220px;
	height: 50px;
	margin: 20px;
	display: inline-block;
	text-align: center;
}
.glass-btn a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 15px 15px rgba(0, 0, 0, 0.3);
	border-radius: 30px;
	padding: 0 10px;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: uppercase;
	overflow: hidden;
	color: #fff;
	font-family: "Roboto", sans-serif;
	font-weight: bold;
	font-size: 16px;
	z-index: 1;
	transition: 0.5s;
	backdrop-filter: blur(15px);
}
.glass-btn:hover a {
	letter-spacing: 3px;
}
.glass-btn a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: linear-gradient(to left, rgba(255, 255, 255, 0.15), transparent);
	transform: skewX(45deg) translate(0);
	transition: 0.5s;
	filter: blur(0px);
}
.glass-btn:hover a:before {
	transform: skewX(45deg) translate(200px);
}
.glass-btn a:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	transition: 0.5s;
	border-radius: 30px;
	z-index: -1;
}
.glass-btn:hover a:after {
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.glass-btn:before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	bottom: -5px;
	width: 30px;
	height: 10px;
	background: #f00;
	border-radius: 10px;
	transition: 0.5s;
	transition-delay: 0.5;
}
.glass-btn:hover:before {
	bottom: 0;
	height: 50%;
	width: 80%;
	border-radius: 30px;
}
.glass-btn:after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	top: -5px;
	width: 30px;
	height: 10px;
	background: #f00;
	border-radius: 10px;
	transition: 0.5s;
	transition-delay: 0.5;
}
.glass-btn:hover:after {
	top: 0;
	height: 50%;
	width: 80%;
	border-radius: 30px;
}
.glass-btn.glass-btn-red a:after,
.glass-btn.glass-btn-red:before,
.glass-btn.glass-btn-red:after {
	background: #ff4747;
	box-shadow: 0 0 5px #ff4747, 0 0 15px #ff4747, 0 0 30px #ff4747, 0 0 60px #ff4747;
}
.glass-btn.glass-btn-blue a:after,
.glass-btn.glass-btn-blue:before,
.glass-btn.glass-btn-blue:after {
	background: #419cec;
	box-shadow: 0 0 5px #419cec, 0 0 15px #419cec, 0 0 30px #419cec, 0 0 60px #419cec;
}
.glass-btn.glass-btn-green a:after,
.glass-btn.glass-btn-green:before,
.glass-btn.glass-btn-green:after {
	background: #38ba35;
	box-shadow: 0 0 5px #38ba35, 0 0 15px #38ba35, 0 0 30px #38ba35, 0 0 60px #38ba35;
}

🌟 انتبه عزيزي أعضاء المجتمع! 🌟
نحن متحمسون لمشاركتك في مناقشاتنا الديناميكية. لضمان بيئة محترمة وشاملة للجميع، نطلب تعاونكم مع الإرشادات التالية:
1. احترام الخصوصية: يرجى عدم مشاركة معلومات حساسة أو شخصية في تعليقاتك.
2. انشر الإيجابية: نحن نتمسك بسياسة عدم التسامح مطلقًا مع خطاب الكراهية أو اللغة المسيئة. دعونا نحافظ على محادثاتنا محترمة وودية.
3. اللغة المفضلة: لا تتردد في التعبير عن نفسك باللغة الإنجليزية أو العربية. ستساعدنا هاتان اللغتان في الحفاظ على مناقشة واضحة ومتماسكة.
4. احترام التنوع: لتعزيز جو شامل، نطلب منك بكل احترام تجنب مناقشة المسائل الدينية في تعليقاتك.
تذكر أن مساهماتك قيمة، ونحن نقدر التزامك بجعل مجتمعنا مكانًا ترحيبيًا للجميع. دعونا نواصل التعلم والنمو معًا من خلال المناقشات البناءة والاحترام المتبادل.
شكرًا لكونك جزءًا من مجتمعنا اوعي وشك! 🌟

إرسال تعليق