4 मिनट पढ़ें · मुफ़्त · बिना लॉगिन
घर का नक़्शा सोचिए। उसे बताने के दो तरीक़े हैं। एक numbers से: कमरा 1 तीन metre चौड़ा है, कमरा 2 चार metre चौड़ा है, वग़ैरह। दूसरा नाम से: kitchen यहाँ, bedroom वहाँ, hall बीच में। नाम पढ़ना कहीं आसान है — और दोबारा जमाना भी कहीं आसान। Grid template areas नाम वाले तरीक़े से काम करते हैं। आप अपने page का layout शब्दों में बनाते हैं, हर zone को नाम देते हैं, और browser आपकी drawing से layout बना देता है।
नक़्शा grid container पर grid-template-areas में लिखा जाता है। हर quoted string layout की एक row है, और string का हर शब्द एक cell है। एक शब्द को cells पर दोहराने से वह एक बड़े zone में जुड़ जाते हैं:
.page {
display: grid;
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
grid-template-columns: 200px 1fr;
grid-template-rows: 80px 1fr 60px;
}
यहाँ header दोनों columns पर फैला है, sidebar और main बीच की row बाँटते हैं, और footer फिर दोनों columns पर फैला है। Dot (.) ख़ाली cell बताता है जिसे कुछ नहीं भरता। हर row string में cells की संख्या एक जैसी होनी चाहिए, वरना पूरा नक़्शा ग़लत है और browser उसे ignore कर देता है।
grid के हर child को अपना zone grid-area property से मिलता है: .header { grid-area: header; }, .sidebar { grid-area: sidebar; }, वग़ैरह। item को यह जानने की ज़रूरत नहीं कि वह कौनसी row या column में है — उसका नाम सारा काम कर देता है। sizes फिर भी grid-template-columns और grid-template-rows से आते हैं: sidebar column 200px चौड़ा है, main column बाक़ी जगह लेता है, और rows 80px, flexible, और 60px ऊँची हैं।
यहीं named areas चमकते हैं। phone पर sidebar main content के बग़ल में नहीं, उसके नीचे होना चाहिए। number वाले columns से हर item की placement दोबारा लिखनी पड़ती; areas से media query के अंदर सिर्फ़ नक़्शा दोबारा लिखना होता है, वही नाम नई तरतीब में:
@media (max-width: 600px) {
.page {
grid-template-areas:
"header"
"main"
"sidebar"
"footer";
grid-template-columns: 1fr;
}
}
कुछ और नहीं बदलता — items अपने grid-area नाम बनाए रखते हैं, और browser नए नक़्शे से पूरा page दोबारा बहा देता है।
main-content ठीक है, 2nd-column नहीं — अगर कोई नाम ग़लत है तो browser पूरा grid-template-areas declaration गिरा देता है।grid-area देना भूलना — बिना नाम का item browser खुद जगह पर रख देता है, जो अक्सर वहाँ नहीं होता जहाँ आप चाहते थे।2nd-column — पूरा declaration गिरा दिया जाता है।grid-template-columns और grid-template-rows फिर भी size तय करते हैं।grid-template-areas layout शब्दों में बनाता है: हर row के लिए एक quoted string, हर cell के लिए एक शब्द।grid-area: नाम; से लेते हैं — वह कभी row या column नहीं गिनते।grid-template-areas: "header header" "sidebar main" "footer footer"; — नक़्शा: header ऊपर दोनों तरफ़, बीच में sidebar के बग़ल main, footer नीचे दोनों तरफ़।grid-template-columns: 200px 1fr; — sidebar column 200px पर fixed है और main column जो जगह बचती है वह ले लेता है।.header { grid-area: header; } — header header zone लेता है, जो दोनों columns पर फैला है क्योंकि शब्द नक़्शे में दोहराता है।.main { grid-area: main; } — main content main zone लेता है, चौड़ी screen पर sidebar के बग़ल में।@media (max-width: 600px) — पतली screen पर नक़्शा एक column में दोबारा लिखा जाता है: header, main, sidebar, footer, इसी order में stacked।<!DOCTYPE html>
<html>
<head>
<title>Page Layout in Words</title>
<style>
* { box-sizing: border-box; }
body { font-family: Arial, sans-serif; margin: 0; background-color: #f2f2f2; }
.page {
display: grid;
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
grid-template-columns: 200px 1fr;
grid-template-rows: 80px 1fr 60px;
gap: 15px;
max-width: 900px;
min-height: 500px;
margin: 20px auto;
padding: 15px;
}
.page > div { border-radius: 10px; padding: 20px; color: white; font-size: 20px; font-weight: bold; }
.header { grid-area: header; background-color: #333; }
.sidebar { grid-area: sidebar; background-color: #2196f3; }
.main { grid-area: main; background-color: white; color: #333; }
.footer { grid-area: footer; background-color: #04aa6d; }
@media (max-width: 600px) {
.page {
grid-template-areas:
"header"
"main"
"sidebar"
"footer";
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div class="page">
<div class="header">Header — KAMALDNP Academy</div>
<div class="sidebar">Sidebar — Menu</div>
<div class="main">Main — Welcome! This is the main content area. On a wide screen it sits beside the sidebar; on a phone it moves below the header.</div>
<div class="footer">Footer — kamaldnp.com</div>
</div>
</body>
</html>
नीचे दिया गया कोड बदलें और चलाएँ दबाएँ — परिणाम तुरंत दिखेगा। कोई फाइल सहेजनी नहीं है, कोई लॉगिन नहीं चाहिए।
इस पाठ के बारे में सबसे ज़्यादा पूछे जाने वाले सवाल — सवाल पढ़ें, फिर खोलकर जवाब देखें।
यह लेआउट को शब्दों में बनाता है: हर row के लिए एक quoted string, हर cell के लिए एक शब्द। एक शब्द दोहराने से cells एक बड़े zone में मिल जाते हैं।
grid-area: नाम से। Items को rows या columns गिनने की ज़रूरत नहीं होती, वे बस अपना नाम इस्तेमाल करते हैं।
Media query में सिर्फ़ नक़्शा दोबारा लिखें। Items के नाम वही रहते हैं, तो और कुछ बदलने की ज़रूरत नहीं।
AI आपके लिए कोड लिख सकता है, लेकिन वह आपके लिए सोच नहीं सकता। जब आप HTML खुद सीखते हैं, तो आपका दिमाग असली कौशल बनाता है: आप समझते हैं कि पेज ऐसा क्यों दिखता है, टूटने पर उसे ठीक कर सकते हैं, और परीक्षा या इंटरव्यू में बिना मदद के जवाब दे सकते हैं। यही कौशल नौकरी दिलाता है — कॉपी किया हुआ जवाब नहीं।
सभी 35 पाठ पूरे करें, टेस्ट पास करें (80%), ₹10 दें और अपना सर्टिफिकेट पाएँ।
टेस्ट देंदेखकर सीखना पसंद है? वीडियो कोर्स में वही विषय एक-एक करके सिखाए जाते हैं।
Free tutorials teach you the basics. Our paid courses add live projects, mentorship and a certificate.
Browse all coursesAsk about courses, website & more
Request human callback:
Download karne ke liye login karo. Login ke baad yahi page pe rahoge!
Naya ho? Register karo →