آخر الأخبار

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

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

شرح العنصر::before في Css

العنصر ::before فيcss هو أداة قوية لإضافة محتوى أو تصميمات قبل العنصر الأصلي دون الحاجة لتعديلHTML. يمكن استخدامه لإضافة نصوص، أيقونات،خطوط...........
شرح العنصر::before في Css

شرح العنصر ::before في CSS

العنصر ::before هو أحد العناصر الزائفة (Pseudo-elements) في CSS، ويُستخدم لإضافة محتوى قبل محتوى العنصر الأصلي. يُستخدم عادةً مع الخاصية content لإدراج نص، أيقونات، أو أي محتوى آخر قبل العنصر دون الحاجة لتعديل HTML.

ما هو العنصر ::before؟
  • العنصر ::before يُنشئ عنصرًا وهميًا (زائفًا) يكون الطفل الأول للعنصر الذي يتم تطبيقه عليه.
  • يُستخدم لإضافة محتوى أو تصميمات إضافية قبل العنصر الأصلي.
  • يعمل فقط إذا تم تحديد الخاصية content، حتى لو كانت القيمة فارغة (content: "").
صيغة استخدام ::before:
selector::before {
    content: "القيمة";
    /* خصائص CSS إضافية */
}
  • selector: العنصر الذي سيتم إضافة المحتوى قبله.
  • content: خاصية إلزامية لتحديد المحتوى الذي سيتم إضافته.
خصائص شائعة مع ::before:
  • content: لإضافة نص، صور، أو أي محتوى آخر.
  • display: لتحديد كيفية عرض العنصر الزائف (مثل block، inline، inline-block).
  • position: للتحكم في موضع العنصر الزائف.
  • color، background، font-size: لتخصيص التصميم.
  • width، height: لتحديد حجم العنصر الزائف.
  • margin، padding: للتحكم في المسافات.
أمثلة عملية:
إضافة نص قبل العنصر:
.example::before {
    content: "→ ";
    color: green;
    font-weight: bold;
}

في هذا المثال، عند تطبيق هذه الأنماط على العنصر التالي:

<p class="example">هذا نص مثال</p>

النتيجة:

"→ هذا نص مثال"

إضافة أيقونة قبل الروابط:
a::before {
    content: "🔗 ";
    color: blue;
}

في هذا المثال، عند تطبيق هذه الأنماط على الرابط التالي:

<a href="#">انقر هنا</a>

النتيجة:

"🔗 انقر هنا"

إضافة خط أفقي قبل العنوان:
h5::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: black;
    margin-bottom: 10px;
}

في هذا المثال، عند تطبيق هذه الأنماط على العنوان التالي:

<h5>عنوان رئيسي</h5>

النتيجة:

سيظهر خط أسود أفقي قبل العنوان.

إضافة صورة قبل العنصر:
.icon::before {
    content: url("icon.png");
    margin-right: 5px;
}

في هذا المثال، عند تطبيق هذه الأنماط على العنصر التالي:

<span class="icon">معلومات</span>

النتيجة:

سيظهر أيقونة قبل النص "معلومات".

استخدامات متقدمة:
إنشاء تأثيرات تصميمية:
.button::before {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background-color: red;
    transition: width 0.3s ease;
}

.button:hover::before {
    width: 100%;
}

النتيجة:

عند تحويم المؤشر فوق الزر، يظهر خط أحمر يتوسع أفقيًا.

إضافة ترقيم تلقائي:
ol {
    counter-reset: section;
}

li::before {
    counter-increment: section;
    content: counter(section) ". ";
    color: gray;
}

في هذا المثال، عند تطبيق هذه الأنماط على القائمة التالية:

<ol>
    <li>عنصر 1</li>
    <li>عنصر 2</li>
</ol>

النتيجة:

"1. عنصر 1"

"2. عنصر 2"

إضافة علامات اقتباس:
q::before {
    content: open-quote;
    color: blue;
}

في هذا المثال، عند تطبيق هذه الأنماط على العنصر التالي:

<q>هذا نص بين علامتي اقتباس</q>

النتيجة:

"هذا نص بين علامتي اقتباس"

ملاحظات مهمة:
  • العناصر الزائفة فقط: العنصر ::before لا يمكن استخدامه إلا مع العناصر الزائفة.
  • الخاصية content إلزامية: يجب تحديد content حتى لو كانت فارغة (content: "").
  • لا يدعم HTML: لا يمكن إضافة عناصر HTML داخل ::before، فقط نصوص أو صور أو قيم أخرى.
  • التأثير على التخطيط: إضافة محتوى باستخدام ::before يؤثر على تخطيط الصفحة، لذا يجب مراعاة ذلك في التصميم.
  • الدعم في المتصفحات: العنصر ::before مدعوم في جميع المتصفحات الحديثة.
الفرق بين ::before و ::after:
::before ::after
يُضاف المحتوى قبل العنصر الأصلي. يُضاف المحتوى بعد العنصر الأصلي.
يُستخدم لإضافة محتوى في البداية. يُستخدم لإضافة محتوى في النهاية.
الخلاصـــة

العنصر ::before في CSS هو أداة قوية لإضافة محتوى أو تصميمات قبل العنصر الأصلي دون الحاجة لتعديل HTML. يمكن استخدامه لإضافة نصوص، أيقونات، خطوط، أو حتى تأثيرات حركية، مما يجعله مفيدًا في تحسين تجربة المستخدم وتخصيص التصميم.

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

Post a Comment