6 حقائق غير معروفة عن CSS

1. خاصية اللون ليست فقط للنص – Color دعونا نبدأ بأسهل شيئ. خاصية اللون “Color”. خاصية اللون يتم استخدامها علي نطاق واسع من قبل كل مطوري CSS. البعض منكم قد يكون قليل الخبرة قد لا يدرك ذلك , أنه لا يعرف سوي خاصية اللون للنص. شاهد المثال في الأسفل: [codepen_embed height=”368″ theme_id=”4025″ slug_hash=”KurCG” default_tab=”result”]See the Pen <a href=’http://codepen.io/fwasl/pen/KurCG/’>KurCG</a> by mohamed maher (<a href=’http://codepen.io/fwasl’>@fwasl</a>) on <a href=’http://codepen.io’>CodePen</a>.[/codepen_embed] نلاحظ في CSS, تم استخدام خاصية واحدة للون, في عنصر body, وتعيين اللون الأصفر لكل شيئ في الصفحة , بما في ذلك:

  • النص البديل للصورة المفقودة “alt “
  • الحدود علي عنصر القائمة”border “
  • علامة (نقطة) علي القائمة الغير مرقمة”ul”
  • علامة الرقم في القائمة المرتبة “ol”
  • عنصر hr
ومن المثير للاهتمام عنصر hr , فهو افتراضيا لا يرث خاصية قيمة اللون , ولكن كان لا بد من اجباره لفعل ذلك باستخدام  border-color: inherit.

2. خاصية “visibility”يمكن تعيينها إلي “collapse”

ربما تكون قد قمت باستخدام خاصية visibility  كثرا. والقيمة الأكثر استخدامها هي visible (الافتراضي لجميع العناصر) وقيمة hidden , والتي تقوم باخقاء العنصر في حين السماح لها بشغل مساحة كما لو كانت مكانها . ( وهي عكس خاصية display: none). والقيمة الثالثة والأكثر أهمية لخاصية visibility هي collapse. وهذا يعمل بنفس طريقة الاخفاء لكل العناصر باستثناء الصفوف والجداول. في حالة هذه العناصر, قيمة collapse من المفترض أن تقوم بنفس عمل display: none, . ولكن للاسف, الطريقة التي تتعامل بها المتصفحات مع قيمة collapse غير متشابهة . قم بتجربة المثال التالي: [codepen_embed height=”368″ theme_id=”4025″ slug_hash=”kwmcg” default_tab=”result”]See the Pen <a href=’http://codepen.io/fwasl/pen/kwmcg/’>kwmcg</a> by mohamed maher (<a href=’http://codepen.io/fwasl’>@fwasl</a>) on <a href=’http://codepen.io’>CodePen</a>.[/codepen_embed] ملاحظات:
  • في متصفح كروم, لا يوجد فرق بين القيم collapse, hidden (شاهد تقرير الخطأ والتعليقات).
  • في متصفحات Firefox, Opera, IE11 قيمة collapse تعمل كما ينبغي : تتم إزالة الصف والصف أدناه يتحرك صعودا.
ومن المعترف به, أن هذه القيمة نادرا ما تستخدم , ولكن تظل متواجدة, لذا اذا لم تكن تعرفها من قبل , فقد عرفتها الأن ^_^

 3. خاصية background  لديها قيم جديدة

في CSS2.1 خاصية background  كانت تتضمن 5 قيم ــ (background-color, background-image, background-repeat, background-attachment,  background-position). ولكن في CSS3 وما بعدها, تشمل الأن 3 قيم جديدة, ليصل مجموعهم إلي 8 قيم واليكم هذه القيم:
background: [background-color] [background-image] [background-repeat]
            [background-attachment] [background-position] / [ background-size]
            [background-origin] [background-clip];
لديك خيارين لاضافة “background-origin”,”background-clip” وبالتالي فان التركيب سيبدو مثل هذا:
.example {
  background: aquamarine url(img.png)
              no-repeat
              scroll
              center center / 50%
              content-box content-box;
}
اختبره في متصفحك باستخدام هذا المثال : [codepen_embed height=”310″ theme_id=”4025″ slug_hash=”lznJL” default_tab=”result”]See the Pen <a href=’http://codepen.io/fwasl/pen/lznJL/’>lznJL</a> by mohamed maher (<a href=’http://codepen.io/fwasl’>@fwasl</a>) on <a href=’http://codepen.io’>CodePen</a>.[/codepen_embed]

4. خاصية clip تعمل فقط علي العناصر التي تكون بخاصية position: absolute

راينا سابقا clip  في خاصية background-clip, فهي تبدو مثل هذا:
.example {
    clip: rect(110px, 160px, 170px, 60px);
}
هذه ستفوم بقص العنصر في مواقع محددة. التبيه الوحيد أن العنصر يجب أن ياخد خاصية position: absolute. لذا يجب عليك فعل هذا:
.example {
    position: absolute;
    clip: rect(110px, 160px, 170px, 60px);
}
يمكنك أن تري كيف يعمل “clip” في المثال في الأسفل عندما يفعل  position: absolute: [codepen_embed height=”440″ theme_id=”4025″ slug_hash=”xglqm” default_tab=”result”]See the Pen <a href=’http://codepen.io/fwasl/pen/xglqm/’>xglqm</a> by mohamed maher (<a href=’http://codepen.io/fwasl’>@fwasl</a>) on <a href=’http://codepen.io’>CodePen</a>.[/codepen_embed]

5. النسب العمودية تتناسب الي عرض Container وليس الارتفاع.

هذه الخاصية قد تكون مربكة بعض الشيئ في البداية. قد تعرف أن نسبة العرض تحسب علي أساس عرض الكونتينر, وتحسب النسبة اعتمادا علي خصائص مثل  (top and bottom padding ,top and bottom margins)  وتحسب أيضا علي أساس عرض الكونتينر, بدلا من الارتفاع. اليكم مثال يمكنك التعديل به حتي تتمكن من رؤية التأثير لفهم أكبر: [codepen_embed height=”450″ theme_id=”4025″ slug_hash=”gBxGD” default_tab=”result”]See the Pen <a href=’http://codepen.io/fwasl/pen/gBxGD/’>gBxGD</a> by mohamed maher (<a href=’http://codepen.io/fwasl’>@fwasl</a>) on <a href=’http://codepen.io’>CodePen</a>.[/codepen_embed] لاحظ أنه يوجد 3 نسب مئوية معلنة في المربع الداخلي (top , bottom, padding).

6. خاصية border

قد قمنا بفعل ذلك في وقت ما:
.example {
  border: solid 1px black;
}
خاصية border  هي خاصية مختصرة التي تقوم بتحديد (border-style, border-width,  border-color) كل هذا في اعلان واحد. ولكن لا تنسي أن كل واحدة من الخصائص هي تمثل خاصية منفرة بحد ذاتها. لذا يمكن استخدام خاصية border-width  وحدها.
.example {
  border-width: 2px 5px 1px 0;
}
هذا سيقوم بتحديد عرض مختلف لكل الحدود الأربعة. وينطبق الشيئ نقسه علي ( border-color ,border-style) كما هو موضح في المثال التالي: [codepen_embed height=”268″ theme_id=”4025″ slug_hash=”DgtdE” default_tab=”result”]See the Pen <a href=’http://codepen.io/fwasl/pen/DgtdE/’>DgtdE</a> by mohamed maher (<a href=’http://codepen.io/fwasl’>@fwasl</a>) on <a href=’http://codepen.io’>CodePen</a>.[/codepen_embed] بالاضافة الي ذلك, كل من هذه الخصائص يمكن تقسيمها أكثر من ذلك ك (border-left-style, border-top-width, border-bottom-color)إلخ…   كم من هذه الخصائص وجدتها جديدة بالنسبة لك؟ هل تعلمت شيئ من هذا المقال؟ آمل ذلك . ربما مطوري CSSالمحترقين يعرفوا الكثير من النقاط المذكورة أعلاه , إن لم يكن كلها . ولكن علي الارجح أن المبتداين في CSS سيستفيدوا كثيرا من هذا . انتظرونا في الجزء الثاني و6 حقائق أخري   المصدر  ]]>

شارك

One thought on “6 حقائق غير معروفة عن CSS

اترك رداً على Ramy Ali إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مقالات ذات صلة