रिस्पॉन्सिव ग्रिड-व्यू बनाने के लिए फ्लोट-आधारित लेआउट के साथ मीडिया क्वेरीज़ का उपयोग करें। मॉडर्न CSS में CSS Grid या Flexbox बेहतर विकल्प हैं, लेकिन फ्लोट-आधारित दृष्टिकोण लीगेसी सपोर्ट के लिए समझना महत्वपूर्ण है।
उदाहरण: फ्लोट-आधारित रिस्पॉन्सिव लेआउट
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
* {
box-sizing: border-box; /* पैडिंग/बॉर्डर को चौड़ाई में शामिल */
}
.header {
border: 1px solid black;
padding: 10px;
text-align: center;
}
.leftmenu {
width: 30%;
float: left;
padding: 10px;
border: 1px solid black;
background: #f5f5f5;
}
.content {
width: 70%;
float: left;
padding: 10px;
border: 2px dotted black;
}
/* मोबाइल पर स्टैक करें */
@media (max-width: 767px) {
.leftmenu, .content {
width: 100%;
float: none;
}
}
</style>
</head>
<body>
<div class="header">
<h1>हेडर</h1>
</div>
<div class="leftmenu">
<ul>
<li>मेनू वन</li>
<li>मेनू टू</li>
<li>मेनू थ्री</li>
<li>मेनू फोर</li>
<li>मेनू फाइव</li>
<li>मेनू सिक्स</li>
<li>मेनू सेवन</li>
<li>मेनू आठ</li>
<li>मेनू नाइन</li>
<li>मेनू टेन</li>
</ul>
</div>
<div class="content">
<h1>डेमो</h1>
<p>यह डेमो टेक्स्ट है। यह डेमो टेक्स्ट है। यह डेमो टेक्स्ट है।</p>
</div>
</body>
</html>
मॉडर्न विकल्प: CSS Grid
.grid-layout {
display: grid;
grid-template-columns: 1fr 3fr; /* 25% / 75% */
gap: 20px;
}
@media (max-width: 767px) {
.grid-layout {
grid-template-columns: 1fr; /* सिंगल कॉलम */
}
}
मॉडर्न विकल्प: Flexbox
.flex-layout {
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.leftmenu { flex: 1 1 300px; }
.content { flex: 3 1 600px; }
box-sizing: border-box महत्वपूर्ण
सभी एलिमेंट्स पर box-sizing: border-box सेट करने से पैडिंग और बॉर्डर एलिमेंट की घोषित चौड़ाई में शामिल होते हैं, लेआउट ब्रेक नहीं होता।