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 ব্যবহার না করেই তাদের ওভাররাইড করতে পারে।