HTML مع CSS: الروح والألوان 🎨

الـ HTML هو العضم، والـ CSS هو الشكل واللبس والديكور اللي بيخلي الموقع يبهر الناس.

1. إزاي نربط الـ CSS بالـ HTML؟

عندك 3 طرق عشان تدي ألوان وحياة لصفحتك:

الطريقةمكانهاالاستخدام
Inline CSSجوه التاج نفسه بـ style=""لتغيير سريع لعنصر واحد بس (مش مفضل).
Internal CSSجوه الـ <head> في تاج <style>لو صفحة واحدة وعايز تنسقها بسرعة.
External CSSملف بره بصيغة .cssأحسن طريقة للمشاريع الكبيرة (نفس الملف بيشغل كذا صفحة).

2. خاصيات في الـ CSS (بالتصنيف)

الـ CSS بحر، بس دول أهم أدوات هتحتاجهم عشان تكون محترف:

أ. الألوان والخلفيات (Colors & Backgrounds)

colorلون الكلام.
background-colorلون الخلفية.
background-imageتحط صورة كخلفية.
opacityدرجة الشفافية.

ب. المساحات (The Box Model) 📦

width / heightالعرض والطول.
marginالمساحة الفاضية "بره" العنصر (بتبعده عن غيره).
paddingالمساحة الفاضية "جوه" العنصر (بتبعد الكلام عن الحواف).
borderالبرواز بتاع العنصر (سمكه، لونه، وشكله).

ج. توزيع العناصر (Layout)

display: flexأقوى أداة لتوزيع العناصر جنب بعض أو تحت بعض بسهولة.
display: gridلعمل شبكة معقدة من الصفوف والأعمدة.
positionمكان العنصر (ثابت fixed، متحرك absolute، أو عادي).

4. سحر الخطوط (Typography)

الخط مش مجرد كلام، ده روح الموقع. دي أهم الخصائص اللي بتتحكم فيه:

الخاصيةبتعمل إيه؟
font-familyبتحدد نوع الخط (زي Arial أو Tajawal).
font-sizeحجم الكلام (بالـ px أو rem).
font-weightثقل الخط (عريض Bold أو رفيع Light).
line-heightالمسافة بين السطور (مهمة جداً لراحة العين).
text-alignمحاذاة النص (يمين، شمال، أو في النص).
text-transformبتخلي الحروف كلها Capital أو Small (للإنجليزي).

5. توزيع العناصر بذكاء (Flexbox)

لو عايز تحط 3 صناديق جنب بعض وتوسطنهم، الـ Flex هو الحل السحري:

الخاصيةالوظيفة بالبلدي
display: flex;بتقول للأب: "وزع ولادك بنظام الفليكس".
flex-directionالعناصر هترص جنب بعض (row) ولا تحت بعض (column)؟
justify-contentتوزيع العناصر بالعرض (في النص، في الأول، أو مسافات بينهم).
align-itemsتوزيع العناصر بالطول (توسطنهم من فوق وتحت).
gapالمسافة الفاضية بين العناصر وبعضها.

6. الحركة والأنيميشن (Animations)

إزاي تخلي الزرار ينور لما تقف عليه أو الصورة تلف؟

الخاصيةبتعمل إيه؟
transitionبتحدد سرعة التغيير (مثلاً اللون يتغير في نص ثانية).
transform: scale()بتكبر أو تصغر العنصر.
transform: rotate()بتلف العنصر بزاوية معينة.
@keyframesبتصمم فيها حركة معقدة من البداية للنهاية.
animationبتربط الحركة اللي صممتها بالعنصر بتاعك.

7. التجاوب مع الموبايل (Media Queries)

إزاي تخلي الموقع يغير شكله حسب حجم الشاشة؟

الكودبيعمل إيه؟
@media (max-width: 600px)أي كود هنا هيتنفذ "فقط" على شاشات الموبايل.
view-portتاج في الـ HTML بيعرف المتصفح حجم الشاشة الحقيقي.
flex-wrap: wrapبتخلي العناصر تنزل تحت بعض لو المساحة صغرت.

8. المتغيرات (CSS Variables)

بدل ما تكتب كود اللون في كل حتة، احفظه في متغير واستخدمه باسمه:

الكودالشرح
:root { --main-color: #39ff14; }تعريف لون نيون أساسي للموقع كله.
color: var(--main-color);استدعاء اللون في أي مكان.
نصيحة محترفين: استخدمي المتغيرات عشان لو حبيتي تعملي "Dark Mode" و "Light Mode" بضغطة واحدة.

9. الحالات الخاصة (Pseudo-classes)

تنسيقات بتظهر بس في حالات معينة:

الحالةبتحصل إمتى؟
:hoverلما المستخدم يقف بالماوس على العنصر.
:activeلما المستخدم يدوس (Click) على العنصر.
:focusلما المستخدم يضغط جوه خانة كتابة (Input).
:nth-child()لو عايز تلون مثلاً الصفوف الزوجية بس في جدول.

10. وحش التقسيم (CSS Grid)

لو الـ Flexbox بيوزع في اتجاه واحد، الـ Grid بيقسم الصفحة لصفوف وأعمدة زي الجدول بالظبط:

الخاصيةبتعمل إيه؟
display: grid;بتحول العنصر لشبكة (Grid Container).
grid-template-columnsبتحدد عدد الأعمدة وعرض كل واحد (مثلاً: 1fr 1fr 1fr).
grid-template-rowsبتحدد عدد الصفوف وطولها.
grid-areaبتسمي مكان معين في الشبكة عشان تحط فيه عنصر.
place-items: center;توسطن كل حاجة جوه الشبكة "طول وعرض" في سطر واحد.

11. تثبيت وتحريك العناصر (Positioning)

إزاي تتحكم في مكان العنصر بالملي، وتخليه يطير فوق عناصر تانية:

النوعبيعمل إيه بالبلدي؟
staticالمكان الطبيعي (ده العادي بتاع أي عنصر).
relativeبيتحرك بالنسبة لمكانه الأصلي، بس بيفضل سايب مكانه فاضي.
absoluteبيطير ويتحرك بالنسبة لأقرب أب له نوعه relative.
fixedبيتلزق في الشاشة وما بيتحركش حتى لو عملت سكرول (زي القايمة).
stickyبيمشي معاك في السكرول لحد نقطة معينة وبعدين يثبت.

12. الظلال والعمق (Shadows)

الظلال هي اللي بتخلي العنصر "بارز" وشكله 3D:

الخاصيةالشرح
box-shadowظل للصندوق (يمين، تحت، درجة التمويه، اللون).
text-shadowظل للكلام نفسه، بيخليه شيك جداً في العناوين.
insetكلمة بتتحط جوه الـ box-shadow بتخلي الظل "لجوه" مش لبره.

13. فلاتر الصور (Filters)

مش محتاجة فوتوشوب! تقدري تعدلي الصور بالكود بس:

الفلتربيعمل إيه؟
filter: blur(5px);بيخلي الصورة "مزغللة".
filter: grayscale(100%);بيخلي الصورة أبيض وإسود تماماً.
filter: brightness(1.5);بيزود إضاءة الصورة.
filter: drop-shadow();بيعمل ظل "حقيقي" حوالين شكل العنصر (حتى لو صورة شفافة).

14. ترتيب الطبقات (Z-Index)

لما العناصر تركب فوق بعضها، مين اللي يبان قدام ومين ورا؟

القيمةالقاعدة
z-index: 1;العنصر اللي رقمه أكبر هو اللي بيطلع قدام.
z-index: -1;بيخلي العنصر يستخبى ورا العناصر التانية (زي خلفية).

⚠️ **ملحوظة:** الـ z-index مش بيشتغل غير لو العنصر واخد position (غير الـ static).

15. احتواء الصور (Object-fit)

لو عندك صورة وعايزة تحطيها في مربع من غير ما تتمط أو شكلها يبوظ:

القيمةالنتيجة
object-fit: cover;الصورة بتملى المربع وبتقص الزيادة (أحسن اختيار).
object-fit: contain;الصورة بتبان كلها جوه المربع حتى لو في فراغات.
aspect-ratioبتحدد نسبة الطول للعرض (مثلاً 16/9) عشان الصور ما تبوظش.

16. الألوان المتداخلة (Gradients)

بدل اللون السادة، ممكن تدمجي كذا لون مع بعض:

النوعالكود
linear-gradientألوان ماشية في خط مستقيم (بالطول أو العرض).
radial-gradientألوان طالعة من المركز لبره على شكل دايرة.

17. المحتوى الزايد (Overflow)

لو الكلام كتير على المربع بتاعه، نتصرف إزاي؟

الحلبيعمل إيه؟
overflow: hidden;بيقص أي حاجة تخرج بره حدود المربع.
overflow: scroll;بيظهر "سكرول بار" عشان نقدر نشوف الباقي.
text-overflow: ellipsis;بيحط 3 نقط (...) لو الكلام زاد عن السطر.

18. شكل الماوس (Cursors)

بتعرف المستخدم إنه ممكن يدوس هنا أو إن المكان ده للقراءة بس:

cursor: pointer;شكل "الإيد" (للزراير واللينكات).
cursor: not-allowed;علامة "ممنوع" (للحاجات اللي مش شغالة).
cursor: wait;علامة "التحميل" (لو في حاجة بتحمل).

19. تنسيق القوائم (Lists & Markers)

عشان تغيري شكل النقط أو الأرقام في القائمة:

list-style: none;بتشيل النقط خالص (مهمة جداً للقايمة).
list-style-typeتغير النقط لدايرة، مربع، أو أرقام رومانية.
::markerخاصية جديدة بتخليكي تلوني النقطة نفسها بعيد عن الكلام.

20. البرمجة الذكية (Logical Properties)

بدل ما تقولي margin-right، قولي margin-inline-end عشان الكود يظبط نفسه لو الموقع اتقلب من عربي لإنجليزي لوحده!

القديمالجديد (الذكي)
margin-left / rightmargin-inline-start / end
padding-top / bottompadding-block-start / end
width / heightinline-size / block-size

21. تقسيم النصوص (Multi-column)

لو عندك نص طويل وعايزة تقسميه لأعمدة زي الجرائد والمجلات:

الخاصيةبتعمل إيه؟
column-countبتحدد عدد الأعمدة (مثلاً 3 أعمدة).
column-gapالمسافة الفاضية بين الأعمدة.
column-ruleبيعمل خط فاصل بين الأعمدة (زي الـ border).

22. سر المقاسات (Box Sizing)

أهم خاصية عشان مقاساتك ما تبوظش لما تزودي الـ Padding أو الـ Border:

القيمةالتأثير
content-boxده العادي (الـ padding بيزود حجم العنصر الكلي).
border-boxالاختيار الذكي (الـ padding بياكل من جوه العنصر والمقاس بيفضل ثابت).
نصيحة: دايماً بنحط box-sizing: border-box; لكل العناصر في أول الكود.

23. ثبات السكرول (Scroll Snapping)

عشان تعملي Slider أو معرض صور "بيثبت" على الصورة بالظبط لما المستخدم يقلب:

الكودالوظيفة
scroll-snap-type: x mandatory;بتتحط للأب عشان تجبر السكرول يثبت بالعرض.
scroll-snap-align: center;بتتحط للإبن عشان يثبت في نص الشاشة بالظبط.

24. قص الأشكال (Clip-path)

بدل ما المربعات تكون مملة، تقدري تقصي العنصر على شكل مثلث، دايرة، أو حتى نجمة:

الدالةالنتيجة
clip-path: circle();بيحول المربع لدايرة.
clip-path: polygon();بترسمي أي شكل هندسي عن طريق نقط (X, Y).

25. التحكم في اللمس (Pointer Events)

إزاي تخلي الماوس "يخترق" عنصر وما يحسش بيه، أو تمنعي الضغط على زرار معين:

القيمةالشرح بالبلدي
pointer-events: none;العنصر بيبقى زي "الخيال"، الماوس بيعدي من فوقه ولا كأنه موجود.
user-select: none;بتمنع المستخدم إنه يحدد (Highlight) الكلام بالماوس.

26. تأثير البارالاكس (Background Attachment)

عشان تخلي الخلفية ثابتة والكلام هو اللي بيتحرك فوقيها (تأثير Parallax):

background-attachment: fixed;الخلفية بتثبت مكانها والكلام بيتزحلق فوقيها.
background-size: cover;عشان الخلفية تملى المكان مهما كان حجم الشاشة.

27. الترقيم التلقائي (CSS Counters)

تقدري تخلي الـ CSS يرقم العناوين أو العناصر لوحده من غير ما تكتبي أرقام يدوي:

الخاصيةالوظيفة
counter-resetبتصفي العداد (بتبدأ من صفر).
counter-incrementبتزود العداد واحد كل ما يقابل العنصر.
content: counter();بتعرض الرقم جوه الـ ::before أو ::after.

28. اتجاه الكتابة (Writing Mode)

لو عايزة تخلي الكلام يتكتب بالطول (من فوق لتحت) زي المواقع اليابانية أو التصاميم المودرن:

القيمةالتأثير
writing-mode: vertical-rl;الكتابة بتبقى راسية من اليمين للشمال.
direction: rtl;الاتجاه الأساسي (يمين لشمال) للعربي.

29. البرواز الخارجي (Outline)

الـ Outline بيفرق عن الـ Border إنه مش بياخد مساحة من حجم العنصر (ما بيزقش جيرانه):

outline-styleشكل الخط (solid, dashed, dotted).
outline-offsetبيعمل مسافة فاضية بين الـ Border والـ Outline.

30. دمج الألوان (Mix Blend Mode)

نفس فكرة الـ Blending في الفوتوشوب، بتخلي العنصر يتفاعل مع ألوان اللي تحته:

mix-blend-mode: multiply;بيدمج الألوان الغامقة.
mix-blend-mode: screen;بيدمج الألوان الفاتحة.
mix-blend-mode: overlay;بيعمل تداخل قوي بين العنصر والخلفية.

31. توازن الأبعاد (Aspect Ratio)

بدل ما تحسب الطول والعرض يدوي، الخاصية دي بتخلي العنصر يحافظ على نسبته (زي 16:9) مهما كبر أو صغر:

الكودالاستخدام
aspect-ratio: 16 / 9;مثالي للفيديوهات عشان ما تظهرش "ممطوطة".
aspect-ratio: 1 / 1;بيخلي العنصر مربع مثالي (مفيد جداً لصور البروفايل).

32. تلوين عناصر المتصفح (Accent Color)

تعبت من لون الـ Checkbox الأزرق بتاع الويندوز؟ الخاصية دي بتغير ألوان عناصر الفورم بكلمة واحدة:

accent-color: #39ff14;بتغير لون الـ Checkboxes والـ Radio buttons للون النيون بتاعك.

33. تأثير الزجاج المحبب (Glassmorphism)

ده السر وراء شكل الـ Control Center في الآيفون، بيخلي الخلفية "مزغللة" تحت العنصر:

backdrop-filter: blur(10px);بيعمل زغللة للحاجة اللي "ورا" العنصر مش العنصر نفسه.
background: rgba(255,255,255,0.1);لازم تستخدم لون شفاف معاه عشان التأثير يبان.

34. الحجم الذكي (Clamp Function)

أقوى دالة في الـ CSS بتخلي الخط يكبر ويصغر معاك بس بحدود (أدنى وأقصى حجم):

المعادلةالشرح
font-size: clamp(1rem, 5vw, 3rem);الخط مش هيقل عن 1rem ولا هيزيد عن 3rem، وبينهم هيتحرك حسب حجم الشاشة.

35. عزل الطبقات (Isolation)

لو عندك عناصر واخدة z-index ومبوزة ترتيب الصفحة، الخاصية دي بتعمل "حدود" للطبقات:

isolation: isolate;بتجبر العناصر اللي جوه الصندوق إنها تترتب مع بعضها بس، وما تتدخلش في ترتيب باقي الصفحة.

36. اختصار المسافات (Inset)

بدل ما تكتب top, right, bottom, left كل واحدة في سطر لما تعمل absolute، استخدم دي:

inset: 10px;بتعوض عن الـ 4 اتجاهات في كلمة واحدة.
inset: 0 20px;صفر فوق وتحت، و20 يمين وشمال.

37. لون مؤشر الكتابة (Caret Color)

عشان تخلي حتى "العصاية" اللي بتنور وتطفي جوه الـ Input لونها نيون:

caret-color: var(--neon);بتغير لون مؤشر الكتابة للون اللي تحبه.

38. قناع الصور (Masking)

زي الـ Layer Mask في الفوتوشوب، بتخلي الصورة تظهر جوه شكل معين (زي لوجو أو كلمة):

mask-imageبتحط صورة (أبيض وإسود) تحدد فين يظهر وفين يختفي.
mask-size: contain;عشان الماسك يظبط على قد العنصر.

39. نعومة الحركة (Scroll Behavior)

لما تدوس على لينك يوديك لآخر الصفحة، بلاش يروح "قفش"، خليه يروح بنعومة:

scroll-behavior: smooth;بتخلي الصفحة تتزحلق بنعومة لما تدوس على اللينكات الداخلية.

40. منع الهبد في الموبايل (Touch Action)

لو بتعمل لعبة أو تطبيق موبايل وعايز تمنع المتصفح إنه يعمل Zoom أو Scroll لما المستخدم يلمس الشاشة:

touch-action: none;بتوقف كل حركات اللمس الافتراضية عشان تبرمجها إنت بالـ JS.
touch-action: pan-y;بتسمح بالسكرول بالطول بس وتمنع العرض.

41. الحسابات البرمجية (Math Functions)

الـ CSS بقى بيعرف يحسب! مش محتاج تحسب المقاسات يدوي:

الدالةالاستخدام
calc(100% - 50px)بتطرح أو تجمع مقاسات مختلفة (نسبة مع بكسل).
min() / max()بتختار أصغر أو أكبر قيمة من مجموعة قيم.
round()بتقرب الأرقام لأقرب رقم صحيح (خاصية حديثة).

42. تأثير الانعكاس (Box Reflect)

عشان تعمل تأثير "المراية" تحت الصور أو الكلام:

-webkit-box-reflect: below 2px;بيعمل انعكاس للعنصر تحت نفسه بمسافة 2 بكسل.
linear-gradientممكن تدمجها مع الانعكاس عشان يختفي بالتدريج.

43. سنترة الصور (Object-position)

لو الصورة واخدة object-fit: cover، الخاصية دي بتحدد أنهي جزء يفضل باين:

object-position: top center;بيخلي التركيز على الجزء العلوي من الصورة (مهم للصور الشخصية).
object-position: 20% 80%;بتحرك الصورة يمين وشمال وبالطول بالملي.

44. انسياب النص (Shape-outside)

عايز الكلام يلف حوالين صورة دائرية مش مربعة؟ دي الخاصية اللي بتعمل كده:

shape-outside: circle();بتخلي الكلام يلف حوالين شكل الدائرة بمرونة.
shape-marginبتعمل مسافة بين الكلام والشكل اللي بيلف حواليه.

45. المختار الذكي (The :has() Selector)

أقوى خاصية نزلت في CSS مؤخراً، بتخليك تنسق "الأب" لو جواه "إبن" معين:

div:has(img)لو الـ div جواه صورة، اديله تنسيق خاص.
form:has(:invalid)لو الفورم فيها غلط، لون بروازها أحمر.

46. التوسيط المطلق (Place-content)

اختصار عبقري بيجمع بين align-content و justify-content:

place-content: center;بيوسطن كل حاجة جوه الـ Grid أو الـ Flex في سطر واحد.

47. لون التظليل (::selection)

عشان لما المستخدم يحدد نص بالماوس، اللون ما يبقاش أزرق تقليدي:

::selection { background: var(--neon); color: black; }بتغير لون خلفية النص المتحدد.

48. حركة المجلات (Initial Letter)

عشان تخلي أول حرف في المقال كبير وواخد مساحة كذا سطر:

initial-letter: 3;بيخلي أول حرف يمتد بطول 3 سطور.

49. التحكم في الفراغات (White-space)

إزاي تتعامل مع المسافات اللي بين الكلمات أو النزول لسطر جديد:

nowrapبيمنع الكلام إنه ينزل سطر جديد مهما كان طويل.
pre-lineبيحترم المسافات والسطور اللي إنت كاتبها في الـ HTML.

50. وضوح الـ Pixel Art (Image Rendering)

لو عندك صور صغيرة وعايز تكبرها من غير ما تكسل (Pixelated):

image-rendering: pixelated;بيحافظ على حواف الصورة حادة جداً (مثالي لألعاب الـ 8-bit).

51. دمج خلفيات الصور (BG Blend Mode)

لو عندك صورتين خلفية لبعض أو صورة ولون، إزاي يندمجوا:

background-blend-mode: screen;بيخلي الألوان تتداخل بشكل سينمائي.

52. منع تدمير التصميم (Word-break)

لو في كلمة طويلة جداً (زي لينك) ممكن تخرج بره الصندوق، دي بتكسرها:

break-allبيكسر الكلمة في أي حرف عشان تفضل جوه الصندوق.
keep-allبيمنع الكسر تماماً.

53. تباعد الحروف (Letter Spacing)

عشان تدي شياكة للعناوين وتخلي الكلام يتنفس:

letter-spacing: 2px;بيبعد الحروف عن بعضها (للإنجليزي أكتر).
word-spacing: 5px;بيبعد الكلمات عن بعضها.

54. منع "هزة" الصفحة (Overscroll)

لما تعمل سكرول لآخر "بوكس"، الصفحة كلها بتتهز، دي بتمنع الحركة دي:

overscroll-behavior: contain;بيخلي السكرول يفضل جوه العنصر وما يأثرش على الصفحة كلها.

55. أنواع القوائم (List Types)

أشكال تانية غير النقط التقليدية:

upper-romanأرقام رومانية كبيرة (I, II, III).
arabic-indicالأرقام العربية (١، ٢، ٣).
armenianحروف أرمينية.

56. الشفافية الذكية (Hex Alpha)

إزاي تعمل لون شفاف باستخدام كود الـ Hex:

#FF000080أول 6 أرقام للون، وآخر رقمين للشفافية (80 يعني 50%).

57. العرض المطاطي (Intrinsic Sizing)

تخلي العنصر ياخد مقاسه بالظبط على قد اللي جواه:

width: max-content;بيفرد العنصر لآخره عشان الكلام ما ينزلش سطر جديد.
width: min-content;بيصغر العنصر لأقل عرض ممكن يخليه شايل الكلام.

58. الأشكال العضوية (8 Values Radius)

إنت ممكن تعمل شكل "بيضة" أو "نقطة مياه" بالبوردير بس:

border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;بيخلي كل زاوية ليها نصف قطر مختلف بالطول وبالعرض.

59. تسريع الموقع (Content Visibility)

خاصية سحرية بتخلي المتصفح ما يحملش الحاجات اللي مش باينة في الشاشة عشان يسرع الموقع:

content-visibility: auto;بتحسن أداء الـ Rendering جداً في الصفحات الطويلة.

60. التحكم في النقر (Pointer Events)

لو عايز تخلي العنصر "شفاف" للماوس، يعني يدوس على اللي وراه:

pointer-events: none;كأن العنصر خيال، الماوس هيدوس على الحاجة اللي تحته مباشرة.

61. شكل السكرول بار (Scrollbar)

بدل الشكل التقليدي للمتصفح، تقدر تلون وتصغر شريط التمرير:

الخاصيةالوظيفة
scrollbar-width: thin;بيخلي الشريط رفيع وشيك (للمتصفحات الحديثة).
scrollbar-color: var(--neon) black;بيلون الشريط والمنطقة اللي وراه بكلمة واحدة.

62. اختصار النص (Line Clamp)

لو عندك وصف طويل وعايز تظهر منه أول سطرين بس وتحط (...) في الآخر:

display: -webkit-box;لازم تستخدم دي عشان الخاصية تشتغل.
-webkit-line-clamp: 2;بتحدد عدد السطور اللي تظهر قبل ما النص يتقص.
overflow: hidden;عشان تقص الكلام الزيادة.

63. الحروف اللاتينية الصغيرة (Small Caps)

بيخلي الحروف الـ Small شكلها زي الـ Capital بس بحجم صغير (شيك جداً في العناوين):

font-variant: small-caps;بيحول النص لشكل المخطوطات القديمة.

64. مسافات الـ Gap الشاملة

الـ gap مابقاش للـ Grid بس، بقى بيشتغل في الـ Flexbox وفي الـ Multi-column كمان:

row-gapبيعمل مسافة بين الصفوف بس.
column-gapبيعمل مسافة بين الأعمدة بس.

65. تعديل اتجاه الصورة (Orientation)

لو الصورة مرفوعة بالمقلوب، الـ CSS يقدر يعدلها تلقائياً بناءً على بيانات الكاميرا:

image-orientation: from-image;بيعدل الصورة لوحدها (خاصية منقذة للمشاريع الكبيرة).

66. ظهر العنصر (Backface Visibility)

لما تعمل 3D Flip للعنصر، هل عايز تشوف ظهره ولا يختفي؟

hiddenبيخفي العنصر أول ما يلف (مهم جداً في كروت الـ Flashcards).

67. تنسيق فراغات الحروف (Kerning)

بيتحكم في المسافة الدقيقة بين كل حرفين حسب شكلهم (زي المصممين المحترفين):

font-kerning: normal;بيستخدم بيانات الخط الأصلية لتوزيع الحروف بدقة.

68. تكرار الخلفية الذكي

طرق تانية غير repeat و no-repeat:

spaceبيكرر الصورة وبيسيب مسافات بينهم عشان يملى المكان من غير ما يقصها.
roundبيمط الصورة شوية عشان يكررها عدد مرات صحيح من غير ما تتقص.

69. الروابط المفتوحة (:visited)

عشان تعرف المستخدم إنه داس على اللينك ده قبل كده:

a:visited { color: #888; }بتغير لون اللينك بعد ما يتفتح مرة.

70. القوة القصوى (!important)

لو عندك كود CSS مش عايز يتنفذ بسبب كود تاني، دي بتجبر المتصفح ينفذه:

color: red !important;بتخلي الخاصية دي "أقوى" من أي كود تاني لنفس العنصر.

71. منع النسخ (User Select)

لو عايز تمنع المستخدم إنه يحدد النص أو ينسخه من موقعك:

user-select: none;بتخلي النص "غير قابل للتحديد".

72. ثورة الـ Container Queries

أحدث خاصية في CSS، بتخلي العنصر يغير شكله حسب حجم "أبوه" مش حسب حجم الشاشة:

@container (min-width: 400px)كود ثوري بيخلي العناصر ذكية جداً في أي مكان تتحط فيه.

73. ظل الأشكال المعقدة (Drop Shadow)

بيفرق عن box-shadow إنه بيعمل ظل حوالين الشكل الحقيقي (حتى لو مثلث أو PNG شفاف):

filter: drop-shadow(5px 5px 10px black);بيعمل ظل احترافي جداً للصور واللوجوهات.

74. العنصر "الشبح" (Display Contents)

بيخلي العنصر كأنه مش موجود بس "ولاده" بيفضلوا موجودين وبيأثروا في الـ Layout:

display: contents;مفيد جداً لما تحب تشيل تأثير الـ Div الأب في الـ Flexbox.

75. اللون السحري (CurrentColor)

كلمة سحرية بتخلي اللون يتبع لون النص تلقائياً:

border: 2px solid currentColor;لو غيرت لون النص، لون البرواز هيتغير معاه لوحده.

76. مساحة السكرول (Scroll Margin)

لما تدوس على لينك داخلي، العنوان ما يلزقش في سقف الشاشة:

scroll-margin-top: 100px;بيسيب مسافة فوق العنوان لما تروحله عن طريق لينك.

77. سرعة ظهور الخط (Font Display)

عشان الكلام ما يختفيش والموقع بيحمل الخطوط الخاصة:

font-display: swap;بيظهر خط النظام العادي لحد ما الخط بتاعك يحمل، عشان اليوزر ما يستناش.

78. التحكم في التكبير (Resize)

عشان تمنع المستخدم إنه يكبر أو يصغر خانة الكتابة (Textarea) ويبوظ التصميم:

resize: none;بيشيل علامة التكبير من الركن.
resize: vertical;بيسمح بالتكبير بالطول بس.

79. تنفس الكلمات (Word Spacing)

بيتحكم في الفراغ بين الكلمات وبعضها:

word-spacing: 10px;بيوسع المسافات في العناوين الكبيرة.

80. تنبيه المتصفح (Will Change)

بتقول للمتصفح إن العنصر ده هيتحرك أو يتغير، فبيجهزه عشان الأنيميشن يكون ناعم:

will-change: transform;بتخلي الـ Animation أسرع بكتير وما يقطعش.

جرب المحرر المزدوج (HTML + CSS) 🧪

عدل في الـ CSS وشوف إزاي الـ HTML بيتغير فوراً.

HTML
CSS

كويز الـ CSS (لازم 5/5 عشان تخلص) 🏁

1. أنهي خاصية بنستخدمها عشان نبعد العناصر عن بعضها من "بره"؟

2. إيه الطريقة الصح عشان نربط ملف CSS خارجي؟

3. لو عايز تخلي العنصر "شفاف" بنسبة 50%، تستخدم:

4. خاصية display: flex بتستخدم أساساً لـ:

5. الـ padding بيعمل مساحة فاضية فين بالظبط؟

أسطورة الـ CSS! قفلت الامتحان 🏆

دلوقتي موقعك بقى له شكل وشخصية. كمل المسيرة!

الرجوع للقايمة