CSS سلیکٹر کی خاصیت کیا ہے اور یہ کیسے کام کرتا ہے؟
براؤزر CSS قواعد کی خاصیت کے لحاظ سے یہ طے کرتا ہے کہ کسی عنصر پر کون سے اسٹائل دکھائے جائیں۔ ہم فرض کرتے ہیں کہ براؤزر نے پہلے ہی ان قواعد کا تعین کر لیا ہے جو کسی خاص عنصر سے مماثل ہیں۔ مماثل قواعد میں، چار کوما سے علیحدہ شدہ اقدار، 'a, b, c, d' ہر قاعدہ کے لیے درج ذیل کی بنیاد پر شمار کی جاتی ہیں:
- 'a' یہ ہے کہ کیا ان لائن اسٹائل استعمال کیے جا رہے ہیں۔ اگر پراپرٹی ڈیکلریشن عنصر پر ایک ان لائن اسٹائل ہے تو 'a' 1 ہے، ورنہ 0۔
- 'b' ID سلیکٹرز کی تعداد ہے۔
- 'c' کلاسز، خصوصیات اور سیوڈو کلاسز سلیکٹرز کی تعداد ہے۔
- 'd' ٹیگز اور سیوڈو عناصر سلیکٹرز کی تعداد ہے۔
نتیجہ خیز خاصیت کوئی اسکور نہیں ہے، بلکہ اقدار کا ایک میٹرکس ہے جس کا موازنہ کالم بہ کالم کیا جا سکتا ہے۔ جب یہ طے کرنے کے لیے سلیکٹرز کا موازنہ کیا جائے کہ کس کی خاصیت سب سے زیادہ ہے، تو بائیں سے دائیں دیکھیں، اور ہر کالم میں سب سے زیادہ قدر کا موازنہ کریں۔ لہذا 'b' کالم میں ایک قدر 'c' اور 'd' کالموں میں اقدار کو اوور رائیڈ کر دے گی، چاہے وہ کچھ بھی ہوں۔ اس طرح، '0,1,0,0' کی خاصیت '0,0,10,10' سے زیادہ ہوگی۔
برابر خاصیت کی صورتوں میں: تازہ ترین قاعدہ ہی شمار ہوتا ہے۔ اگر آپ نے اپنی اسٹائل شیٹ میں (اندرونی یا بیرونی سے قطع نظر) ایک ہی قاعدہ دو بار لکھا ہے، تو آپ کی اسٹائل شیٹ میں نچلا قاعدہ اسٹائل کیے جانے والے عنصر کے قریب ہے، اسے زیادہ مخصوص سمجھا جاتا ہے اور اس لیے اسے لاگو کیا جائے گا۔
میں کم خاصیت کے ساتھ CSS قواعد لکھوں گا تاکہ اگر ضرورت ہو تو انہیں آسانی سے اوور رائیڈ کیا جا سکے۔ CSS UI جزو لائبریری کوڈ لکھتے وقت، یہ ضروری ہے کہ ان کی خاصیت کم ہو تاکہ لائبریری کے صارفین انہیں صرف خاصیت بڑھانے یا '!important' کا سہارا لینے کے لیے بہت پیچیدہ CSS قواعد استعمال کیے بغیر اوور رائیڈ کر سکیں۔