কম্পিউটার টিউটোরিয়াল

CSS :not(:first-child) সিলেক্টর দিয়ে প্রথম এলিমেন্ট বাদ দিয়ে বাকি সব সিলেক্ট করা

CSS :not(:first-child) সিলেক্টর ব্যবহার করে প্রথম এলিমেন্ট বাদ দিয়ে বাকি সব সিলেক্ট করার পদ্ধতি শিখুন।

যদি আপনি লিখেন:

h2 { margin-top: 64px; }

তবে ওয়েবসাইটের সব h2-এ ৬৪পিক্সেল টপ মার্জিন লাগবে। কিন্তু প্রথম h2-এ মার্জিন দিতে না চাইলে?

:not(:first-child) সিলেক্টর ব্যবহার করুন

h2:not(:first-child) { margin-top: 64px; }

এখন প্রতিটি ডকুমেন্ট/পেজের সবচেয়ে প্রথম h2 বাদে সব h2-এ একই মার্জিন লাগবে।

ইউজ কেস

আর্টিকেল লেআউটে সব h2-এ margin-top: 64px দিলে ব্রিদিং রুম থাকে। কিন্তু আর্টিকেলের শুরুতে ইন্ট্রো সেকশনে কভার ইমেজ, ওভারলে, টেক্সট থাকে—সেখানে একই স্পেসিং চাওয়া নয়। :not(:first-child) এই সমস্যা সমাধান করে।

অন্য ইউজ কেস: নেভিগেশন মেনুর <ul>-এ নির্দিষ্ট স্টাইলিং চাইলে কিন্তু সাইটের অন্য ul-এ নয়।

আধুনিক CSS-এ ক্লাস ব্যবহার হয় না?

আধুনিক ডেভেলপমেন্টে এলিমেন্ট সিলেক্টর বাদে ক্লাস ব্যবহার_popular। আমিও ক্লাস পছন্দ করি—স্কেলেবল এবং রিঅюзেবল। কিন্তু ডাইরেক্ট এলিমেন্ট সিলেক্টর স্টাইলিংয়েরও জায়গা আছে—বেসলাইন/গ্লোবাল স্টাইলিং দিয়ে কনসিস্টেন্সি এনফোর্স করা যায়, রিপিটেটিভ UI স্টাইলিং বাঁচায়।

  1. CSS দিয়ে HR এলিমেন্ট স্টাইল করার পদ্ধতি

  2. CSS দিয়ে স্টিকি (Sticky) এলিমেন্ট তৈরি

  3. CSS দিয়ে এলিমেন্টের আস্পেক্ট রেশিও (Aspect Ratio) বজায় রাখা

  4. CSS দিয়ে কন্টেন্টএডিটেবল (Contenteditable) এলিমেন্টের বর্ডার সরানো