5 मिनट पढ़ें · मुफ़्त · बिना लॉगिन
Flexbox और grid के आने से पहले, float से ही पूरे पेज के layouts बनाए जाते थे। आज उसका काम छोटा है, पर एक काम के लिए वह अब भी सही tool है: text को तस्वीर के चारों ओर लपेटना, जैसे अखबार में होता है। बाईं ओर तस्वीर, article का text उसके दाईं ओर बहता हुआ।
जब आप किसी element को float करते हैं, तो वह अपने container के एक तरफ चला जाता है और उसके बाद वाला content उसके चारों ओर बहता है। Element सामान्य बहाव से बाहर हो जाता है — और इससे एक मशहूर समस्या पैदा होती है, जिसे यह पाठ ठीक भी करता है।
float: left element को उसके container के बाईं ओर धकेल देता है, और text उसकी दाईं ओर लिपट जाता है। float: right इसका उल्टा करता है। क्लासिक उदाहरण article में तस्वीर है: उसे बाईं ओर float करें, और paragraph text उसके बगल में सुथरा बैठ जाता है।
.photo {
float: left;
width: 140px;
margin: 0 16px 8px 0;
}
Float किया हुआ element अगले content को अपने बगल में ऊपर खींचता रहता है। जब आप चाहते हैं कि कोई चीज़ लिपटना बंद करके वापस पूरी लाइन पर आ जाए — उदाहरण के लिए footer — तो उसे clear: both देते हैं। वह हर floated element के नीचे चला जाता है, बाईं और दाईं दोनों, और नई लाइन से शुरू होता है।
.footer {
clear: both;
}
यहाँ मशहूर समस्या है। जिस parent बॉक्स में सिर्फ floated बच्चे होते हैं, वह शून्य height तक सिकुड़ जाता है — वह ऐसे व्यवहार करता है जैसे बच्चे हैं ही नहीं, क्योंकि floated elements सामान्य बहाव से बाहर होते हैं। Parent का background और border कुछ नहीं रह जाते, और अगला section floats के नीचे ऊपर खिसक आता है।
मानक हल clearfix कहलाता है। आप floats के बाद ::after pseudo-element से एक छोटा अदृश्य element जोड़ते हैं, और उसे clear करते हैं। Parent फिर अपने floated बच्चों को लपेटने के लिए फैल जाता है। यह तीन लाइन का CSS है, और आप इसे हर float layout पर इस्तेमाल करेंगे।
.clearfix::after {
content: "";
display: table;
clear: both;
}
Float और clear से आप साधारण दो-कॉलम layout बना सकते हैं: एक column बाईं ओर float करता है, दूसरा दाईं ओर, और footer दोनों को clear करता है। यह वेब की सबसे पुरानी layout तरकीब है, और अब भी काम करती है। नए layouts के लिए flexbox और grid आसान हैं — आप उनसे इस कोर्स में बाद में मिलेंगे — पर तस्वीरों के चारों ओर text लपेटने के लिए float ही tool है।
margin: 0 16px 8px 0। इसके बिना, text तस्वीर को छूता है और पेज भरा-भरा दिखता है।clear: left तब इस्तेमाल करना जब दाईं ओर float किए हुए elements भी हों — सुरक्षित रहने के लिए clear: both इस्तेमाल करें।float: left और float: right element को एक तरफ ले जाते हैं; text दूसरी तरफ लिपट जाता है।clear: both element को सभी floated elements के नीचे धकेल देता है।::after जिसमें content: "", display: table और clear: both होते हैं।.photo { float: left; width: 140px; margin: 0 16px 8px 0; } — नारंगी CHAI बॉक्स बाईं ओर तैरता है, और स्वागत वाला text उसके दाईं ओर 16px के gap के साथ लिपट जाता है।.clearfix::after { content: ""; display: table; clear: both; } — clearfix wrapper को अपने floated बच्चों के चारों ओर फैलने देता है, बजाय इसके कि वह सिकुड़ जाए।.menu { float: left; width: 45%; } — menu column पेज के बाईं ओर तैरता है।.offers { float: right; width: 45%; } — offers column दाईं ओर तैरता है, इसलिए दोनों columns साथ-साथ बैठते हैं।.menu, .offers { box-sizing: border-box; } — padding 45% चौड़ाई के अंदर गिना जाता है, इसलिए दोनों columns सच में एक लाइन पर फिट होते हैं।.footer { clear: both; } — footer दोनों floated columns के नीचे चला जाता है और नई पूरी चौड़ाई वाली लाइन से शुरू होता है।<!DOCTYPE html>
<html>
<head>
<title>Float Layout — Chai Shop</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
}
.header {
background-color: #7c2d12;
color: white;
padding: 16px;
text-align: center;
}
.photo {
float: left;
width: 140px;
height: 140px;
background-color: #f59e0b;
color: white;
text-align: center;
line-height: 140px;
margin: 0 16px 8px 0;
border-radius: 8px;
}
.clearfix::after {
content: "";
display: table;
clear: both;
}
.menu {
float: left;
width: 45%;
box-sizing: border-box;
background-color: #fef3c7;
padding: 12px;
}
.offers {
float: right;
width: 45%;
box-sizing: border-box;
background-color: #dcfce7;
padding: 12px;
}
.footer {
clear: both;
background-color: #1e3a5f;
color: white;
text-align: center;
padding: 12px;
}
</style>
</head>
<body>
<div class="header"><h1>Chai & Snacks Shop</h1></div>
<div class="clearfix">
<div class="photo">CHAI</div>
<p>Welcome to our little chai shop, next to the school gate. We serve hot masala chai, fresh samosas and bun maska from 7 in the morning.</p>
<p>Students get a special price before 9 AM. Bring your friends, sit a while, and start the day with a hot cup.</p>
</div>
<div class="clearfix">
<div class="menu">
<h2>Menu</h2>
<p>Masala Chai — Rs 10</p>
<p>Samosa — Rs 10</p>
<p>Bun Maska — Rs 15</p>
</div>
<div class="offers">
<h2>Today's Offers</h2>
<p>Chai + Samosa — Rs 15</p>
<p>Buy 2, get 1 free — before 9 AM</p>
<p>Free elaichi chai on your birthday</p>
</div>
</div>
<div class="footer">Open 7 AM – 9 PM, every day.</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 →