Skip to main content

Command Palette

Search for a command to run...

CSS Selectors

Published
4 min read
CSS Selectors

ওয়েব ডিজাইনের জগতে CSS (Cascading Style Sheets) হচ্ছে সেই শক্তিশালী টুল, যেটা দিয়ে ওয়েবপেজের ডিজাইন, কালার, ফন্ট, লেআউট সব কিছু পরিবর্তন করা যায়। কিন্তু CSS কাজ করে কীভাবে?
👉 উত্তর হলো Selectors

CSS Selector ব্যবহার করে আমরা নির্দিষ্ট HTML এলিমেন্টকে খুঁজে বের করে তার জন্য আলাদা আলাদা স্টাইল (style rules) দিতে পারি।

এই ব্লগে আমরা A-Z সব সিলেক্টর একে একে দেখব, যাতে তুমি সহজে বুঝতে পারো কোন পরিস্থিতিতে কোন সিলেক্টর ব্যবহার করা উচিত।


১. Universal Selector (*)

Universal selector সব HTML এলিমেন্টকে একসাথে টার্গেট করে।

* {
  margin: 0;
  padding: 0;
}

👉 সব এলিমেন্টের margin ও padding রিসেট হয়ে যাবে। এটা সাধারণত CSS Reset এর জন্য ব্যবহার করা হয়।


২. Type Selector (Element Selector)

এই সিলেক্টর HTML ট্যাগ নাম ব্যবহার করে।

p {
  color: blue;
}

👉 সব <p> ট্যাগ নীল হবে।
এটা সবচেয়ে সাধারণ সিলেক্টর।


৩. Class Selector (.classname)

কোনো এলিমেন্টকে class attribute দিয়ে টার্গেট করা হয়।

.title {
  font-size: 24px;
  font-weight: bold;
}

👉 class="title" দেওয়া যেকোনো এলিমেন্টের টেক্সট বড় ও bold হবে।


৪. ID Selector (#idname)

একটা এলিমেন্টের ইউনিক id থাকলে সেটাকে টার্গেট করতে হয় # দিয়ে।

#main {
  background: #f4f4f4;
}

👉 শুধু id="main" থাকা এলিমেন্টে ব্যাকগ্রাউন্ড কালার হবে।

⚠️ এক পেজে একই ID বারবার ব্যবহার করা যাবে না


৫. Grouping Selector (,)

একই স্টাইল একাধিক এলিমেন্টে দিতে হলে কমা ব্যবহার করা হয়।

h1, h2, h3 {
  font-family: Arial, sans-serif;
}

👉 সব heading ট্যাগ একই ফন্ট নেবে।


৬. Descendant Selector (Space)

একটি এলিমেন্টের ভেতরের অন্য এলিমেন্টকে টার্গেট করে।

div p {
  color: red;
}

👉 সব <div> এর ভেতরের <p> লাল হবে।


৭. Child Selector (>)

শুধু সরাসরি child টার্গেট করে।

div > p {
  color: green;
}

👉 div এর ভেতরের সরাসরি <p> এলিমেন্ট সবুজ হবে, nested নয়।


৮. Adjacent Sibling Selector (+)

একটি এলিমেন্টের পরের প্রথম sibling কে টার্গেট করে।

h1 + p {
  font-style: italic;
}

👉 h1 এর পরের প্রথম <p> ইটালিক হবে।


৯. General Sibling Selector (~)

একটি এলিমেন্টের পরবর্তী সব sibling কে টার্গেট করে।

h1 ~ p {
  color: purple;
}

👉 h1 এর পরবর্তী সব <p> বেগুনি হবে।


১০. Attribute Selector

অ্যাট্রিবিউট অনুযায়ী এলিমেন্ট টার্গেট করতে ব্যবহার করা হয়।

input[type="text"] {
  border: 1px solid black;
}

👉 সব টেক্সট ইনপুটে বর্ডার আসবে।


১১. Advanced Attribute Selectors

আরও উন্নতভাবে অ্যাট্রিবিউট টার্গেট করা যায়।

a[target="_blank"] { color: red; }      /* নির্দিষ্ট মান */
a[href^="https"] { color: green; }      /* শুরুতে https */
a[href$=".pdf"] { color: orange; }      /* শেষে .pdf */
a[href*="google"] { color: blue; }      /* মধ্যে google */

১২. Pseudo-classes

এগুলো এলিমেন্টের বিশেষ অবস্থায় (state) স্টাইল দেয়।

  • :hover – মাউস গেলে

  • :focus – ইনপুট ফোকাস হলে

  • :active – ক্লিকের সময়

  • :first-child – প্রথম এলিমেন্ট

  • :last-child – শেষ এলিমেন্ট

a:hover {
  color: red;
}

১৩. Pseudo-elements

এগুলো এলিমেন্টের নির্দিষ্ট অংশ টার্গেট করে।

  • ::before – এলিমেন্টের আগে কনটেন্ট

  • ::after – এলিমেন্টের পরে কনটেন্ট

  • ::first-line – প্রথম লাইন

  • ::first-letter – প্রথম অক্ষর

p::first-letter {
  font-size: 30px;
  color: blue;
}

১৪. Combinators

সিলেক্টরের মধ্যে সম্পর্ক বোঝাতে ব্যবহৃত হয়।

  • Descendant ( )div p

  • Child (>)div > p

  • Adjacent (+)h1 + p

  • General (~)h1 ~ p


১৫. Nth Selectors

nth-child() বা nth-of-type() ব্যবহার করে নির্দিষ্ট child টার্গেট করা যায়।

li:nth-child(2) {
  color: red;
}

👉 দ্বিতীয় <li> লাল হবে।

li:nth-child(odd) { background: #eee; }
li:nth-child(even) { background: #ddd; }

👉 লিস্টে অড-ইভেন আলাদা কালার হবে।


১৬. Not Selector (:not())

যে এলিমেন্ট নির্দিষ্ট শর্ত পূরণ করে না, তাকে টার্গেট করে।

p:not(.highlight) {
  color: gray;
}

👉 class="highlight" ছাড়া সব <p> গ্রে হবে।


১৭. Specificity

যখন একাধিক সিলেক্টর একই এলিমেন্টে প্রযোজ্য হয়, তখন কোনটা প্রাধান্য পাবে?

  • Inline style → সবচেয়ে বেশি

  • ID selector → বেশি

  • Class selector → মাঝারি

  • Type selector → সবচেয়ে কম


১৮. Universal + Attribute + Pseudo একসাথে

আমরা চাইলে সিলেক্টর মিশিয়ে ব্যবহার করতে পারি।

input[type="text"]:focus {
  border: 2px solid blue;
}

👉 টেক্সট ইনপুটে ফোকাস করলে নীল বর্ডার আসবে।

CSS Selectors হচ্ছে ওয়েব ডিজাইনের হৃদয়
Universal থেকে শুরু করে Pseudo-class, Pseudo-element, Attribute Selector, Combinator, Nth-child সবগুলো ভালোভাবে বুঝলে তুমি যেকোনো ওয়েবপেজের স্টাইল ১০০% নিয়ন্ত্রণে রাখতে পারবে

1 views

More from this blog

FilamentPHP কী এবং কেন ব্যবহার করবেন?

Laravel দিয়ে ওয়েব অ্যাপ্লিকেশন তৈরি করা আজকাল অনেক সহজ। কিন্তু একটা জায়গায় ডেভেলপারদের এখনও বেশ সময় লাগে—Admin Panel বা Backend Dashboard তৈরি করা। এই কাজটা সাধারণত repetitive, time-consuming এবং অনেক

Jun 16, 20263 min read8
FilamentPHP কী এবং কেন ব্যবহার করবেন?

JavaScript এ Error Handling

JavaScript একটি শক্তিশালী প্রোগ্রামিং ভাষা, যা ওয়েব ব্রাউজারে এবং সার্ভার-সাইড (Node.js) উভয় জায়গায় ব্যবহৃত হয়। তবে কোড লেখার সময় প্রায়ই আমরা এমন পরিস্থিতির সম্মুখীন হই যেখানে কোনো ভুল বা exception ঘটে। এই ধরনের সমস্যাগুলোকে আমরা Error Handlin...

Sep 30, 20254 min read11
JavaScript এ Error Handling

Local Storage এবং Session Storage

ওয়েব ডেভেলপমেন্টে কাজ করার সময় প্রায়ই আমাদের দরকার হয় ব্রাউজারে ব্যবহারকারীর কিছু ডেটা সাময়িকভাবে সংরক্ষণ করার। যেমন – ব্যবহারকারীর নাম, থিম সেটিংস, লগইন টোকেন, কার্টে রাখা পণ্য ইত্যাদি। এই কাজটি করার জন্য আগে আমরা সাধারণত Cookies ব্যবহার করতাম। তবে ...

Sep 30, 20254 min read4
Local Storage এবং Session Storage

JSON (Parse, Stringify)

ওয়েব ডেভেলপমেন্টে কাজ করতে গেলে ডেটা আদান-প্রদান, সংরক্ষণ এবং ব্যবস্থাপনা করা অত্যন্ত জরুরি। এই ক্ষেত্রে সবচেয়ে জনপ্রিয় এবং বহুল ব্যবহৃত একটি ফরম্যাট হলো JSON। জাভাস্ক্রিপ্টে JSON কাজ করে অত্যন্ত সহজভাবে, বিশেষ করে যখন আমরা JSON.parse() এবং JSON.stri...

Sep 29, 20254 min read2
JSON (Parse, Stringify)

JavaScript Date & Time

সময়কে প্রোগ্রামিংয়ের মধ্যে সঠিকভাবে ব্যবহার করা খুব গুরুত্বপূর্ণ। অনেক ক্ষেত্রে আমাদের তারিখ (Date) এবং সময় (Time) নিয়ে কাজ করতে হয়, যেমন – কোনো ওয়েব অ্যাপে ইউজারের লগইন সময় দেখানো, অর্ডারের ডেলিভারি তারিখ ট্র্যাক করা, বা একটি ইভেন্টের কাউন্টডাউন তৈর...

Sep 28, 20253 min read
JavaScript Date & Time
S

SliceTech

86 posts

Sharing basic web development tutorials.