← Back to HTML Course | Chapter 3: Page Structure | Lesson 2 of 12

HTML Classes

सोचिए आप एक school चला रहे हैं और sports day organize करना चाहते हैं। अगर आपके पास पचास students हैं, तो हर बच्चे का नाम लेकर उसे red shirt पहनने को कहना बहुत मुश्किल काम है। इसके बजाय, आप उन्हें एक team में assign कर देते हैं, जैसे 'Team Red'। अब जब भी आप 'Team Red' चिल्लाते हैं, उस group का हर कोई जान जाता है कि उसे क्या करना है। HTML classes बिल्कुल उन school teams की तरह काम करती हैं। एक class एक custom name tag है जिसे आप अपने elements पर लगाते हैं। एक ही class में कई elements रखकर, आप उन सभी को एक साथ style या program कर सकते हैं। यह अपने पूरे page पर design को consistent रखने का सबसे efficient तरीका है, बिना हर container के लिए अपना code बार-बार दोहराए।
Syntax
markup
<tagname class="classname">content</tagname>

<style>
  .classname {
    property: value;
  }
</style>

class Attribute क्या है?

class attribute का इस्तेमाल कई HTML elements को एक साथ group करने के लिए किया जाता है। किसी class name को अलग-अलग elements पर लगाकर, आप उन सभी पर एक जैसी styles या scripts एक साथ लागू कर सकते हैं।

Note: Class names की शुरुआत हमेशा किसी letter से होनी चाहिए, और ये बहुत ज्यादा case-sensitive होते हैं।
Warning: class name के अंदर spaces न लिखें, वरना browser उन्हें कई अलग-अलग classes के रूप में treat करेगा।

उदाहरण: What is the class Attribute?

markup
<p class="highlight">First</p>
<p class="highlight">Second</p>

CSS में Classes को Select करना

अपनी stylesheet के अंदर classes को target और style करने के लिए, आप एक dot (.) के बाद अपना exact class name लिखते हैं। इससे उस class वाले webpage के सभी elements select हो जाते हैं।

Note: साफ और scalable layouts बनाने के लिए class selectors का इस्तेमाल करना ही सबसे अच्छा तरीका है।
Warning: अपने HTML class attribute के अंदर कभी भी CSS selector name की शुरुआत dot से न करें।

उदाहरण: Selecting Classes with CSS

markup
<style>
  .highlight {
    color: orange;
  }
</style>
<p class="highlight">Styled by class</p>

एक साथ कई Classes का उपयोग करना

एक HTML element सिर्फ एक class तक सीमित नहीं है। आप एक ही element पर कई class names को spaces से अलग करके लगा सकते हैं। इससे आप layout और style classes को एक साथ dynamically combine कर सकते हैं।

Note: अलग-अलग layout और color classes को combine करके एक utility-first approach अपनाएं।
Warning: सुनिश्चित करें कि कई classes को सिर्फ spaces से अलग करें, commas या semicolons का उपयोग न करें।

उदाहरण: Using Multiple Classes Together

markup
<div class="card large">Combined classes</div>

JavaScript Selectors में Classes

Classes सिर्फ styling के लिए नहीं होतीं। Web scripts, getElementsByClassName या querySelectorAll जैसे methods का इस्तेमाल करके class names के आधार पर elements को target कर सकते हैं और एक साथ कई items पर काम कर सकते हैं।

Note: Elements के पूरे groups को capture और animate करने के लिए web scripts के साथ class tags का उपयोग करें।
Warning: ध्यान रखें कि classes का उपयोग करने वाले script targets एक single element नहीं, बल्कि elements की एक array-जैसी list return करते हैं।

उदाहरण: Classes in JavaScript Selectors

markup
<script>
  document.querySelectorAll('.highlight');
</script>
<p class="highlight">Targeted by script</p>

Semantic Class Naming Styles

Random या गड़बड़ class names लिखने से आपका कोड पढ़ने और scale करने में मुश्किल हो जाता है। Descriptive, semantic naming patterns (जैसे शब्दों को अलग करने के लिए hyphens का इस्तेमाल करना) अपनाने से आपका layout structure बाकी developers के लिए भी साफ हो जाता है।

Note: toolcontainer की जगह tool-container जैसे standard, hyphen-separated नाम इस्तेमाल करें।
Warning: red-text जैसे visual styles के नाम पर classes न बनाएं; इसके बजाय warning-message जैसे semantic names का उपयोग करें, ताकि बाद में रंग बदलने पर भी नाम सही बने रहें।

उदाहरण: Semantic Class Naming Styles

markup
<div class="tool-container">Semantic, hyphenated class name</div>
Live Example
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
🔒

Chapter Quiz — Complete all 12 topics to unlock

0/12 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.