5 मिनट पढ़ें · मुफ़्त · बिना लॉगिन
ज़्यादातर elements वहीं बैठते हैं जहाँ browser उन्हें रखता है, एक के बाद एक, ऊपर से नीचे। position property आपको उस बहाव से बाहर निकलकर element को ठीक वहीं रखने देती है जहाँ आप चाहते हैं — card के कोने पर badge, scroll करते हुए ऊपर टिका menu, screen के कोने पर जमा button।
Position के पाँच मान होते हैं। डिफ़ॉल्ट है static। बाकी चार — relative, absolute, fixed और sticky — हर एक element को अलग तरीके से हिलाते हैं। इन्हें एक-एक करके सीखें, और पूरा layout system समझ में आने लगता है।
position: static वह है जो हर element के पास होता है, जब तक आप उसे बदलें नहीं। Element पेज के सामान्य बहाव में बैठता है, ठीक वहीं जहाँ HTML उसे रखता है। Static element पर top, right, bottom और left properties कुछ नहीं करतीं — browser उन्हें बस नज़रअंदाज़ कर देता है।
position: relative आपको element को उसकी सामान्य जगह से top, right, bottom या left से थोड़ा हिलाने देता है। अहम बात: जिस जगह से वह आया था वह जगह बची रहती है। दूसरे elements gap भरने के लिए ऊपर नहीं खिसकते — पेज वह खाली जगह बनाए रखता है जहाँ element पहले था।
.badge {
position: relative;
top: -10px;
left: 20px;
}
position: absolute element को सामान्य बहाव से पूरी तरह बाहर ले जाता है। दूसरे elements ऐसे व्यवहार करते हैं जैसे वह है ही नहीं। फिर उसे उसके निकटतम positioned पूर्वज के सहारे रखा जाता है — निकटतम parent जिसकी position static के अलावा कुछ और हो। अगर कोई parent positioned नहीं है, तो उसे पेज के सहारे रखा जाता है। इसी तरह badges, labels और close buttons card के कोने में सुथरे बैठते हैं।
.card {
position: relative;
}
.card .badge {
position: absolute;
top: 10px;
right: 10px;
}
position: fixed भी element को बहाव से बाहर ले जाता है, पर उसे किसी parent के नहीं, browser window के सहारे रखा जाता है। पेज को ऊपर-नीचे scroll करें और element screen पर ठीक उसी जगह रहता है। "Back to top" buttons और chat buttons इसी तरह काम करते हैं।
position: sticky relative और fixed का मेल है। Element पेज के साथ सामान्य रूप से scroll करता है — जब तक वह उस जगह तक नहीं पहुँचता जो आपने top से तय की है। फिर वह वहीं चिपक जाता है और बाकी पेज उसके पास से scroll करता रहता है। Section headings और navigation bars इसका हर समय इस्तेमाल करते हैं।
जब positioned elements एक-दूसरे के ऊपर आते हैं, तो z-index तय करता है कि कौन-सा ऊपर है। ज़्यादा नंबर जीतता है। पर एक नियम है जिसे beginners भूल जाते हैं: z-index सिर्फ उन elements पर काम करता है जिनकी position static के अलावा कुछ और हो। Static element पर z-index: 10 लगाएँ और कुछ नहीं होगा।
.popup {
position: absolute;
z-index: 10;
}
.card {
position: relative;
z-index: 1;
}
static के अलावा कुछ हो। अगर आप parent को position: relative देना भूल जाते हैं, तो element card के कोने की जगह पूरे पेज के कोने में उड़ जाता है। यह सबसे आम position bug है।position: relative और badge को top और right के साथ position: absolute दें। Badge फिर card के कोने में ठीक बैठता है, card का size जो भी हो।position: absolute इस्तेमाल करना और parent को position: relative न देना, इसलिए element गलत कोने में जा पड़ता है।z-index लगाना और हैरान होना कि stacking क्यों नहीं बदलती।position: fixed से button लगाना और उसे छोटी screen पर पेज का content ढकने देना।position: sticky को ऐसे parent के अंदर इस्तेमाल करना जिस पर overflow: hidden हो — तब sticky element कभी चिपकता नहीं।top से हिलाना और भूल जाना कि उसकी मूल जगह बची रहती है, जिससे gap रह जाता है।top मान तक पहुँचकर चिपक जाता है।z-index सिर्फ positioned elements पर काम करता है — ज़्यादा नंबर ऊपर बैठता है।.sticky-bar { position: sticky; top: 0; } — नीला bar पेज के साथ scroll करता है, फिर screen के ऊपर चिपक जाता है जब वह ऊपर के किनारे तक पहुँचता है।.card { position: relative; } — card सामान्य बहाव में रहता है, पर क्योंकि वह positioned है, उसके अंदर का badge उसे सहारा बना सकता है।.badge { position: absolute; top: -12px; right: 16px; } — NEW badge card के सहारे रखा जाता है, ऊपर के किनारे से आधा बाहर लटका हुआ, दाईं ओर से 16px।.avatar { width: 90px; height: 90px; border-radius: 50%; } — पूरी तरह गोल कोनों वाला चौकोर बॉक्स गोला बन जाता है, यहाँ छात्र के initials के लिए इस्तेमाल हुआ है।.top-btn { position: fixed; right: 20px; bottom: 20px; } — Top button browser window पर जमा है, इसलिए पेज के scroll करते हुए भी वह नीचे-दाएँ कोने में रहता है।<!DOCTYPE html>
<html>
<head>
<title>Student Profile Card</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f1f5f9;
margin: 0;
}
.sticky-bar {
position: sticky;
top: 0;
background-color: #1e3a5f;
color: white;
padding: 12px;
text-align: center;
z-index: 5;
}
.card {
position: relative;
width: 320px;
margin: 40px auto;
background-color: white;
border: 1px solid #cbd5e1;
border-radius: 10px;
padding: 20px;
text-align: center;
}
.badge {
position: absolute;
top: -12px;
right: 16px;
background-color: #e11d48;
color: white;
padding: 4px 12px;
border-radius: 20px;
}
.avatar {
width: 90px;
height: 90px;
background-color: #f97316;
color: white;
border-radius: 50%;
font-size: 36px;
line-height: 90px;
margin: 0 auto;
}
.top-btn {
position: fixed;
right: 20px;
bottom: 20px;
background-color: #1e3a5f;
color: white;
padding: 10px 16px;
border-radius: 8px;
}
</style>
</head>
<body>
<div class="sticky-bar">KAMALDNP Academy — Student Profile</div>
<div class="card">
<div class="badge">NEW</div>
<div class="avatar">RK</div>
<h2>Raj Kamal</h2>
<p>Computer Science — 3rd Year</p>
<p>Learning HTML, CSS and JavaScript.</p>
</div>
<div class="top-btn">Top</div>
</body>
</html>
नीचे दिया गया कोड बदलें और चलाएँ दबाएँ — परिणाम तुरंत दिखेगा। कोई फाइल सहेजनी नहीं है, कोई लॉगिन नहीं चाहिए।
AI आपके लिए कोड लिख सकता है, लेकिन वह आपके लिए सोच नहीं सकता। जब आप HTML खुद सीखते हैं, तो आपका दिमाग असली कौशल बनाता है: आप समझते हैं कि पेज ऐसा क्यों दिखता है, टूटने पर उसे ठीक कर सकते हैं, और परीक्षा या इंटरव्यू में बिना मदद के जवाब दे सकते हैं। यही कौशल नौकरी दिलाता है — कॉपी किया हुआ जवाब नहीं।
सभी 30 पाठ पूरे करें, टेस्ट पास करें (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 →