تقديم
كتب هذا المقال أشرف عبدالدايم مطور واجهة المستخدم في TieLabs سابقاً، 95% من كود CSS الموجود في قالب جنة من كتابة أشرف :)
كما هو الحال في خصائص كثيرة في CSS فإنه يمكن جمعها (اختصارها) في خاصية واحده توفيراً للوقت والجهد، فمثلاً الخواص:
1 2 3 4 5 6 | padding-top: 16px; padding-right: 16px; padding-bottom: 16px; padding-left: 16px; |
يمكن جمعها في خاصية واحدة :
1 2 3 | padding: 16px 16px 16px 16px; |
وبما ان القيم متشابه فيمكن اختصار هذة القيم أيضاً إلى :
1 2 3 | padding: 16px; |
خاصية font المختصرةكذلك جميع خصائص الخط يمكن جمعها في خاصية واحده، تسمى font ولكن لابد من ترتيب الخواص التي سنقوم بجمعها في الخاصية font بالترتيب التالي:
- font-style
- font-variant
- font-weight
- font-size
- line-height
- font-family
أي أنه يمكنك جمع ستة خواص في خاصية واحدة هكذا:
1 2 3 | body{ font: italic small-caps bold 16px/1.5 Arial, sans-serif; } |
يتم كتابة الخواص بهذا الترتيب، مع مراعاة ضرورة وضح شرطة مائلة / بين خاصية font-size وخاصية line-height . لكن ليس شرطاً كتابة الست خواص في كل مرة تستخدم الخاصية font فقط يلزمك الخاصيتين font-size و font-family ويمكنك تجاهل الخواص الأخرى إذا كنت تريد إبقائها على قيمها الإفتراضية:
1 2 3 | body{ font: bold 16px/1.5 Arial, sans-serif; } |
تذكر عدم تجاوز (override) القيم
إذا قمت بتعريف أحد خواص الخط مسبقاً، ولتكن الخاصية line-height للعنصر الأب، ثم قمت بتعريف القيمة المختصرة font لأحد العناصر الأبناء، فإنه سيتم تجاوز الخواص التي لم يتم تعريفها في الخاصية المختصرة للعنصر الأبن:
1 2 3 4 5 6 7 8 9 10 | body{ font-size: 16px; line-height: 1.5; } ul{ font: 14px Georgia, serif; } |
في هذا المثال، تم تعريف خواص حجم الخط، وارتفاعه للعنصر الأب body ، ثم بعد ذلك في أحد العناصر الأبناء ul قمنا بتعريف الخاصية المختصرة font ولكنها لا تحتوي على قيمة الخاصية line-height ، فإنه سيتم تجاوز القيمة الموروثة من العنصر الأب 1.5 وسيتم استخدام القيمة الإفتراضية للخاصية line-height للعنصر ul وهي القيمة medium . (غالباً تكون قيمتها الإفتراضية ١.٢)
أيضاً يمكنك استخدام الخواص المختصرة للكثير من الخصائص مثل:
- margin
- border
- list-style
- background
- transform
- transition