इस section में हम सीखेंगे कि CSS क्या होती है, इसके प्रकार (Inline, Internal, External), विभिन्न प्रकार के Selectors, तथा CSS Properties जैसे Background, Box Model, Border, List, और Positioning को कैसे उपयोग किया जाता है। साथ ही CSS Lists, Tables, Menu Design और Image Gallery को भी examples सहित समझेंगे।
CSS (Cascading Style Sheets) एक style sheet language है जो HTML elements के design, layout और formatting को control करती है। यह website को attractive और readable बनाती है। HTML structure देता है जबकि CSS presentation तय करती है।
“CSS is a style sheet language used to describe the presentation of documents written in HTML or XML.” (अर्थात HTML पेज की styling के लिए CSS का उपयोग होता है।)
<h1>Welcome to My Website</h1>
<p>This is a paragraph.</p>
<style>
h1 { color: navy; text-align: center; }
p { font-size: 18px; color: #555; }
</style>
▶️ Try Code Live
selector {
property: value;
}
▶️ Try Code Live
➤ Selector: HTML element का नाम
➤ Property: जिस feature को बदलना है (जैसे color, font-size)
➤ Value: उस property का मान (जैसे red, 20px)
CSS को मुख्यतः तीन भागों में बाँटा जाता है: Inline, Internal और External. उद्देश्य है HTML structure और design को अलग रखते हुए maintainable, reusable और fast websites बनाना।
Definition: HTML element के अंदर style="" attribute से सीधा style apply करना।
Use-case: बहुत छोटे/स्पेशल बदलाव या quick testing।
Drawback: Reusability कम, maintain करना कठिन।
<h1 style="color:#1f4ad1; text-align:center;">Welcome</h1>
<p style="font-size:18px; color:#555;">Inline CSS example.</p>
▶️ Try Code Live
Definition: उसी HTML फ़ाइल के <head> में <style> tag के अंदर CSS लिखना।
Use-case: Single page projects या demo pages।
Note: Multiple pages के लिए बार-बार code duplicate होगा।
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Segoe UI, sans-serif; background:#f7f9fc; }
h1 { color:#0b3ea9; text-align:center; }
p { color:#475569; }
</style>
</head>
<body>
<h1>Internal CSS Demo</h1>
<p>Styles are defined inside <style> tag.</p>
</body>
</html>
▶️ Try Code Live
Definition: CSS को अलग .css file में लिखकर HTML से <link> द्वारा जोड़ना।
Benefits: Reusability, consistency, fast maintenance, caching से better performance।
index.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1 class="title">External CSS Demo</h1>
<p>This page uses styles.css for design.</p>
</body>
</html>
▶️ Try Code Live
styles.css
body{font-family:Segoe UI, sans-serif; background:#fff;}
.title{color:#1f4ad1; text-align:center; letter-spacing:.5px;}
p{color:#475569;}
CSS Selectors का प्रयोग यह निर्धारित करने के लिए किया जाता है कि किस HTML element पर कौन-सा style लागू होगा। Selectors हमें elements को उनके नाम, class, id, relation या state के आधार पर target करने की सुविधा देते हैं।
*)सभी HTML elements को select करता है। आमतौर पर reset CSS या global style सेट करने के लिए प्रयोग किया जाता है।
*{margin:0; padding:0; box-sizing:border-box;}
body{font-family:"Segoe UI",sans-serif;}
▶️ Try Code Live
HTML tag के नाम द्वारा सभी समान elements को target करता है।
h1{color:#1f4ad1;text-align:center;}
p{color:#475569;font-size:18px;}
▶️ Try Code Live
.classname)एक ही style कई elements पर लगाने के लिए class attribute का उपयोग किया जाता है।
<h2 class="note">Important Heading</h2>
<p class="note">Reused class on paragraph</p>
.note{background:#fff8e1;border-left:4px solid #ff9800;padding:8px;}
▶️ Try Code Live
#idname)एक uniquely identified element को select करता है। एक page पर ID unique होनी चाहिए।
<h1 id="header">Welcome</h1>
#header{color:#0b3ea9;text-transform:uppercase;}
▶️ Try Code Live
parent child)Parent element के अंदर मौजूद सभी matching child elements को target करता है।
.article p{color:#1f4ad1;font-weight:bold;}
▶️ Try Code Live
parent > child)केवल immediate child (direct) elements पर style लागू करता है।
div>p{color:#ff5722;font-weight:600;}
▶️ Try Code Live
element + element)किसी element के just next sibling को target करता है।
h2+p{color:#0b3ea9;font-style:italic;}
▶️ Try Code Live
element ~ element)किसी element के बाद आने वाले सभी same-level siblings को select करता है।
h2~p{color:#4a148c;}
▶️ Try Code Live
Attributes या उनके values के आधार पर elements को target करते हैं।
[attr] → जिन elements में attribute मौजूद है।[attr="value"] → exact match।[attr^="value"] → attribute value से शुरू होने वाले।[attr$="value"] → attribute value पर समाप्त होने वाले।[attr*="value"] → attribute value में substring शामिल होने वाले।
input[type]{border:1px solid #ccc;}
input[type="email"]{border-color:#1f4ad1;}
a[href^="https"]{color:green;}
a[href$=".pdf"]{color:red;}
a[href*="boosting"]{font-weight:bold;}
▶️ Try Code Live
selector1, selector2, ...)कई selectors पर एक साथ एक ही style लागू करता है।
h1,h2,h3{color:#0b3ea9;margin-bottom:10px;}
▶️ Try Code Live
:hover, :first-child etc.)Element की special state या position पर style लगाने के लिए उपयोग होते हैं।
:hover – Mouse hover पर:active – Click करते समय:focus – Input focus में:first-child, :last-child, :nth-child() – Position आधारित
button:hover{background:#1f4ad1;color:#fff;}
ul li:first-child{color:green;}
ul li:nth-child(2){color:red;}
input:focus{border-color:#0b3ea9;}
▶️ Try Code Live
::before, ::after etc.)Elements के अंदर generated content या specific parts पर style लगाने के लिए उपयोग होते हैं।
::before – Element से पहले content जोड़ना।::after – Element के बाद content जोड़ना।::first-line – Paragraph की पहली line।::selection – Selected text styling।
h1::before{content:"★ ";color:gold;}
p::first-line{font-weight:bold;}
::selection{background:#ffeb3b;color:#000;}
▶️ Try Code Live
CSS properties HTML elements के look & feel को नियंत्रित करती हैं। इस गाइड में हम वे सारी properties कवर कर रहे हैं जो एक beginner को रोज़मर्रा के web pages डिजाइन करने में चाहिए—exams और practice दोनों दृष्टि से।
Color values को कई तरीकों से लिखा जाता है: नाम (red), Hex (#1f4ad1), rgb(), rgba() (opacity के साथ),
hsl(), hsla()। Units: Absolute (px) और Relative (%, em, rem, vw, vh)।
/* Colors and units demo */
:root{ font-size:16px; }
h1{ color:#1f4ad1; }
p.note{ background:rgba(255,235,59,.3); }
.box{ width:50%; padding:1rem; font-size:1.125rem; }
▶️ Try Code Live
पढ़ने-योग्य पेज के लिए text properties बहुत महत्वपूर्ण हैं:
font-family: fallback के साथ fonts की सूची (जैसे "Segoe UI", Arial, sans-serif)font-size, font-weight (400, 600, bold), font-style (italic)line-height: lines के बीच spacing; 1.5–1.8 सामान्यtext-align: left/center/right/justifytext-transform: uppercase/lowercase/capitalizeletter-spacing, word-spacing, text-decoration (underline/none)text-shadow: glow/shadow effects
body{font-family:"Segoe UI", Arial, sans-serif; line-height:1.7;}
h1{font-size:2rem; text-align:center; text-transform:uppercase; letter-spacing:.06em;}
.lead{font-size:1.125rem; color:#475569;}
a{color:#0b3ea9; text-decoration:none;}
a:hover{text-decoration:underline;}
▶️ Try Code Live
किसी element के पीछे रंग या चित्र लगाने के लिए:
background-color, background-image: url()background-repeat: repeat / no-repeat / repeat-x / repeat-ybackground-position: left/top/center या 50% 20%background-size: cover (पूरे क्षेत्र को भरे), contain (पूरी image दिखे)background-attachment: fixed (parallax जैसा असर)background (shorthand): कई values एक साथ
.hero{
background: url('https://www.w3schools.com/css/img_lights.jpg') center/cover no-repeat fixed;
color:#fff; padding:3rem 1rem; text-align:center;
}
▶️ Try Code Live
हर element चार layers से मिलकर बनता है: content → padding → border → margin।
padding/margin: चारों ओर के लिए; शॉर्टहैंड: top right bottom leftvertical horizontal; 3-value: top horizontal bottombox-sizing: border-box लगाने से width में padding/border include हो जाते हैं (layout आसान)
*{box-sizing:border-box;}
.card{width:320px; padding:16px; border:2px solid #1f4ad1; margin:20px auto; background:#f7f9fc;}
.card p{margin:0 0 10px 0;}
▶️ Try Code Live
Border element बॉक्स के हिस्से के रूप में जगह लेता है; outline बाहर की ओर draw होता है और layout प्रभावित नहीं करता—focus दिखाने में काम आता है।
border: width style color, border-radius (rounded corners)outline: width style color, outline-offset
.btn{
border:2px solid #0b3ea9; border-radius:8px; padding:.5rem 1rem;
}
.btn:focus{
outline:3px dashed #ff9800; outline-offset:3px;
}
▶️ Try Code Live
display यह तय करता है कि element layout में कैसे behave करेगा: block (पूरी line), inline (content जितना),
inline-block (inline लेकिन width/height मान्य), flex, grid, none (DOM में रहता है पर layout से हट जाता है)।
visibility: hidden space रखता है पर content छुपा देता है।
.badge{display:inline-block; padding:.25rem .5rem; border:1px solid #1f4ad1; border-radius:999px;}
.hide{display:none;}
▶️ Try Code Live
Elements की size को width, height, min-/max- के साथ constrain करें।
Content बड़ा हो जाए तो overflow: visible/hidden/scroll/auto।
.box{
width:260px; height:120px; max-width:90%;
overflow:auto; border:1px solid #ccc; padding:8px;
}
▶️ Try Code Live
Unordered/Ordered lists को बेहतर look देने के लिए:
list-style-type (disc, circle, square, decimal, upper-roman),
list-style-position (inside/outside),
list-style-image (custom bullet)।
ul.features{list-style-type:square; list-style-position:inside;}
ol.steps{list-style-type:upper-roman;}
▶️ Try Code Live
static: default flow। relative: original स्थान से offset। absolute: nearest positioned ancestor के अनुसार; flow से बाहर। fixed: viewport से चिपका (scroll पर नहीं हिलेगा)। sticky: scroll तक normal, फिर threshold पर stick। z-index: stacking order।
.wrapper{position:relative; height:200px; background:#eaf2ff;}
.box-rel{position:relative; top:10px; left:10px; background:#bbdefb; padding:8px;}
.box-abs{position:absolute; top:20px; right:10px; background:#90caf9; padding:8px;}
.header-fixed{position:fixed; top:0; left:0; right:0; background:#1f4ad1; color:#fff; padding:6px 10px; z-index:100;}
.note-sticky{position:sticky; top:8px; background:#fff8e1; padding:4px;}
▶️ Try Code Live
एक-dimension (row/column) में items को align और distribute करने का आसान तरीका। Parent पर display:flex लगाएँ।
flex-direction: row/columnjustify-content: main axis alignment (start/center/space-between)align-items: cross axis alignment (stretch/center)gap: items के बीच spacingflex shorthand = grow shrink basis (जैसे flex:1 1 200px)
.container{display:flex; gap:12px; justify-content:space-between; align-items:center;}
.item{flex:1 1 160px; padding:12px; background:#e3f2fd; border:1px solid #dbeafe;}
▶️ Try Code Live
float originally images के आसपास text wrap के लिए बना था। Modern layout में flex/grid बेहतर हैं, फिर भी exam/practice में पूछा जा सकता है।
clear float को next element से टकराने से रोकता है।
.thumb{float:left; width:120px; margin:0 12px 8px 0;}
.clearfix::after{content:""; display:block; clear:both;}
▶️ Try Code Live
box-shadow, text-shadow – depth/contrastopacity (0–1) – transparencycursor – pointer, move, not-allowed इत्यादिtransition – smooth change (hover effects etc.)
.card2{
padding:16px; border:1px solid #dbeafe; box-shadow:0 4px 16px rgba(0,0,0,.08);
transition:transform .2s ease, box-shadow .2s ease; cursor:pointer; opacity:.98;
}
.card2:hover{ transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.14); }
▶️ Try Code Live
इस सेक्शन में हम सीखेंगे कि HTML lists, tables, navigation menus और image galleries को CSS से कैसे सुंदर और responsive बनाया जाता है। ये सभी topics O Level syllabus और real-world web design दोनों में बहुत महत्वपूर्ण हैं।
Lists दो प्रकार की होती हैं — Unordered (ul) और Ordered (ol)। CSS से हम इनके bullets, spacing, icons, और hover effects बदल सकते हैं।
list-style-type – disc, circle, square, decimal, upper-roman आदि।list-style-position – inside या outside bullets की जगह निर्धारित करता है।list-style-image – custom image को bullet के रूप में लगाता है।margin / padding – spacing नियंत्रित करता है।
ul.features{
list-style-type:square;
background:#f7f9fc;
padding:15px;
border-radius:8px;
}
ul.features li{
margin-bottom:8px;
padding:4px;
transition:background .3s ease;
}
ul.features li:hover{
background:#e3f2fd;
}
▶️ Try Code Live
list-style-image: url('icon.png'); का प्रयोग करें।
HTML tables को modern look देने के लिए CSS का उपयोग किया जाता है। Beginners को ये properties जानना चाहिए:
border-collapse: collapse – cell borders को merge करता है।text-align, padding, background-color – table readability बढ़ाते हैं।:nth-child(even) – alternate row coloring के लिए।
table{
width:100%;
border-collapse:collapse;
margin:20px 0;
}
th,td{
border:1px solid #dbeafe;
padding:10px;
text-align:left;
}
th{
background:#1f4ad1;
color:#fff;
}
tr:nth-child(even){
background:#f7f9fc;
}
▶️ Try Code Live
overflow-x:auto; और display:block; लगाएँ ताकि छोटे screen पर scroll हो सके।
Navigation menus किसी भी website की backbone होती हैं। Modern menus CSS Flexbox से आसानी से बनाई जाती हैं और responsive होती हैं।
display:flex का प्रयोग करें।justify-content से items को बराबर spacing दें।
nav.menu{
background:#1f4ad1;
display:flex;
justify-content:center;
padding:10px 0;
}
nav.menu a{
color:#fff;
text-decoration:none;
padding:10px 18px;
transition:background .3s ease;
}
nav.menu a:hover{
background:#0b3ea9;
border-radius:6px;
}
nav.menu a.active{
background:#fff;
color:#1f4ad1;
border-radius:6px;
}
▶️ Try Code Live
Image galleries से वेबसाइट attractive दिखती है। CSS Grid/Flexbox के माध्यम से responsive gallery बनाई जा सकती है। Hover zoom effects से interaction बढ़ाया जा सकता है।
display:grid – layout बनाने के लिए।grid-template-columns: repeat(auto-fit, minmax()) – responsive gallery।object-fit:cover – images को proportion में crop करना।transform:scale() – zoom effect।
.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:15px;
padding:20px;
}
.gallery img{
width:100%;
height:180px;
object-fit:cover;
border-radius:10px;
transition:transform .3s ease, box-shadow .3s ease;
}
.gallery img:hover{
transform:scale(1.05);
box-shadow:0 6px 18px rgba(0,0,0,.2);
}
▶️ Try Code Live
max-width:100% रखना न भूलें।
list-style control bullets
CSS Tables → border-collapse + :nth-child() for zebra effect
CSS Menus → Flexbox, hover effect, active link
CSS Image Gallery → Grid layout + hover zoom
ये चारों topics exam में frequently पूछे जाते हैं।
Tables का उपयोग structured data (जैसे marks, salary report, attendance, etc.) दिखाने के लिए किया जाता है। नीचे दिया गया example आपको सिखाएगा कि कैसे HTML और CSS मिलकर एक सुंदर, readable और responsive table बना सकते हैं।
HTML में table को बनाने के लिए हम <table>, <tr>, <th> और <td> का प्रयोग करते हैं।
नीचे एक उदाहरण है जो Student Marksheet दिखाता है:
<div class="table-container">
<table>
<caption>Student Marksheet</caption>
<thead>
<tr>
<th>Roll No</th>
<th>Name</th>
<th>Subject</th>
<th>Marks</th>
<th>Grade</th>
</tr>
</thead>
<tbody>
<tr>
<td>101</td>
<td>Ravi Kumar</td>
<td>Maths</td>
<td>86</td>
<td>A</td>
</tr>
<tr>
<td>102</td>
<td>Pooja Sharma</td>
<td>Science</td>
<td>91</td>
<td>A+</td>
</tr>
<tr>
<td>103</td>
<td>Amit Verma</td>
<td>English</td>
<td>78</td>
<td>B</td>
</tr>
</tbody>
</table>
</div>
▶️ Try Code Live
नीचे दिया गया CSS कोड table को professional और readable look देता है। इसमें borders, zebra striping (alternate row color), hover effect और responsive design शामिल है।
.table-container {
overflow-x: auto;
display: block;
margin: 20px auto;
max-width: 800px;
box-shadow: 0 4px 18px rgba(0,0,0,.1);
border-radius: 8px;
}
table {
width: 100%;
border-collapse: collapse;
font-family: "Segoe UI", Arial, sans-serif;
}
caption {
caption-side: top;
font-size: 1.3rem;
font-weight: bold;
padding: 12px;
background-color: #1f4ad1;
color: white;
border-radius: 8px 8px 0 0;
}
th, td {
padding: 12px 15px;
text-align: left;
border-bottom: 1px solid #dbeafe;
}
th {
background-color: #e3f2fd;
font-weight: 600;
text-transform: uppercase;
color: #0b3ea9;
}
tr:nth-child(even) {
background-color: #f7f9fc;
}
tr:hover {
background-color: #dcecff;
transition: background 0.3s ease;
}
▶️ Try Code Live
नीचे पूरा working example दिया गया है जिसमें HTML और CSS दोनों जोड़े गए हैं। Students इसे Boosting Skills Compiler पर run करके practical कर सकते हैं।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Table Example</title>
<style>
.table-container {
overflow-x: auto;
display: block;
margin: 20px auto;
max-width: 800px;
box-shadow: 0 4px 18px rgba(0,0,0,.1);
border-radius: 8px;
}
table {
width: 100%;
border-collapse: collapse;
font-family: "Segoe UI", Arial, sans-serif;
}
caption {
caption-side: top;
font-size: 1.3rem;
font-weight: bold;
padding: 12px;
background-color: #1f4ad1;
color: white;
border-radius: 8px 8px 0 0;
}
th, td {
padding: 12px 15px;
text-align: left;
border-bottom: 1px solid #dbeafe;
}
th {
background-color: #e3f2fd;
font-weight: 600;
text-transform: uppercase;
color: #0b3ea9;
}
tr:nth-child(even) {
background-color: #f7f9fc;
}
tr:hover {
background-color: #dcecff;
transition: background 0.3s ease;
}
</style>
</head>
<body>
<div class="table-container">
<table>
<caption>Student Marksheet</caption>
<thead>
<tr>
<th>Roll No</th>
<th>Name</th>
<th>Subject</th>
<th>Marks</th>
<th>Grade</th>
</tr>
</thead>
<tbody>
<tr>
<td>101</td>
<td>Ravi Kumar</td>
<td>Maths</td>
<td>86</td>
<td>A</td>
</tr>
<tr>
<td>102</td>
<td>Pooja Sharma</td>
<td>Science</td>
<td>91</td>
<td>A+</td>
</tr>
<tr>
<td>103</td>
<td>Amit Verma</td>
<td>English</td>
<td>78</td>
<td>B</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
▶️ Try Code Live
border-collapse – एकसाथ merged borders के लिएnth-child(even) – alternate row coloroverflow-x:auto – responsive scrollcaption-side: top – heading के लिएWebsite का सबसे महत्वपूर्ण हिस्सा उसका Navigation Menu होता है — जिससे user site के विभिन्न pages तक आसानी से पहुँच सकता है। इस section में हम एक सुंदर और responsive Horizontal Navigation Bar बनाना सीखेंगे।
Navigation Bar एक menu bar होती है जिसमें links दिए जाते हैं जैसे — Home, About, Services, Contact आदि। यह <nav> tag के अंदर रखी जाती है और anchor (<a>) tags से links बनाए जाते हैं।
<nav class="menu">
<a href="#" class="active">Home</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Portfolio</a>
<a href="#">Contact</a>
</nav>
▶️ Try Code Live
नीचे दिए गए CSS से menu horizontally align होगा, hover effects आएँगे, active page highlight होगा और responsive behavior भी मिलेगा।
nav.menu {
display: flex;
justify-content: center;
background-color: #1f4ad1;
padding: 12px 0;
flex-wrap: wrap; /* responsive adjustment */
box-shadow: 0 2px 8px rgba(0,0,0,.1);
}
nav.menu a {
color: #fff;
text-decoration: none;
padding: 10px 20px;
font-size: 1rem;
font-weight: 500;
transition: all 0.3s ease;
}
nav.menu a:hover {
background-color: #0b3ea9;
border-radius: 6px;
}
nav.menu a.active {
background-color: #fff;
color: #1f4ad1;
border-radius: 6px;
}
/* Responsive menu: mobile view */
@media (max-width: 600px) {
nav.menu {
flex-direction: column;
align-items: center;
}
nav.menu a {
display: block;
width: 100%;
text-align: center;
}
}
▶️ Try Code Live
नीचे पूरा example दिया गया है — इसे run करें और देखें कैसे hover और active effects काम करते हैं।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Navigation Menu</title>
<style>
body {
margin: 0;
font-family: "Segoe UI", Arial, sans-serif;
background: #f7f9fc;
}
nav.menu {
display: flex;
justify-content: center;
background-color: #1f4ad1;
padding: 12px 0;
flex-wrap: wrap;
box-shadow: 0 2px 8px rgba(0,0,0,.1);
}
nav.menu a {
color: #fff;
text-decoration: none;
padding: 10px 20px;
font-size: 1rem;
font-weight: 500;
transition: all 0.3s ease;
}
nav.menu a:hover {
background-color: #0b3ea9;
border-radius: 6px;
}
nav.menu a.active {
background-color: #fff;
color: #1f4ad1;
border-radius: 6px;
}
@media (max-width: 600px) {
nav.menu {
flex-direction: column;
align-items: center;
}
nav.menu a {
display: block;
width: 100%;
text-align: center;
}
}
h1 {
text-align: center;
color: #0b3ea9;
margin-top: 40px;
}
</style>
</head>
<body>
<nav class="menu">
<a href="#" class="active">Home</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Portfolio</a>
<a href="#">Contact</a>
</nav>
<h1>Welcome to Boosting Skills!</h1>
</body>
</html>
▶️ Try Code Live
display:flex – items को horizontally align करता है।justify-content:center – menu को center में रखता है।:hover – mouse ले जाने पर highlight effect देता है।.active – current page को दिखाने के लिए।@media – responsive behavior जोड़ता है।Image Gallery किसी भी वेबसाइट को सुंदर और interactive बनाती है। इस section में हम एक Responsive Image Gallery बनाना सीखेंगे जो automatically adjust होती है और hover करने पर Zoom Effect दिखाती है।
एक Image Gallery कई images को grid layout में दिखाने का तरीका है। यह CSS की मदद से responsive बनती है ताकि हर device (desktop, tablet, mobile) पर सुंदर दिखे।
<div class="gallery">
<img src="https://picsum.photos/300/200?random=1" alt="Nature 1">
<img src="https://picsum.photos/300/200?random=2" alt="Nature 2">
<img src="https://picsum.photos/300/200?random=3" alt="Nature 3">
<img src="https://picsum.photos/300/200?random=4" alt="Nature 4">
<img src="https://picsum.photos/300/200?random=5" alt="Nature 5">
<img src="https://picsum.photos/300/200?random=6" alt="Nature 6">
</div>
▶️ Try Code Live
नीचे दिए गए CSS से gallery automatically adjust होती है। Hover करने पर image थोड़ा zoom होती है और shadow देती है जिससे 3D effect महसूस होता है।
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
padding: 20px;
background: #f7f9fc;
}
.gallery img {
width: 100%;
height: 180px;
object-fit: cover;
border-radius: 10px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
cursor: pointer;
}
.gallery img:hover {
transform: scale(1.08);
box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
▶️ Try Code Live
grid-template-columns property responsive gallery design में सबसे powerful है।
auto-fit और minmax() का combination automatically columns को adjust करता है।
नीचे पूरा working code दिया गया है। इसे Boosting Skills Compiler में run करके gallery का behavior देखें।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsive CSS Image Gallery</title>
<style>
body {
margin: 0;
font-family: "Segoe UI", Arial, sans-serif;
background: #f7f9fc;
}
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
padding: 20px;
background: #f7f9fc;
}
.gallery img {
width: 100%;
height: 180px;
object-fit: cover;
border-radius: 10px;
transition: transform 0.3s ease, box-shadow 0.3s ease;
cursor: pointer;
}
.gallery img:hover {
transform: scale(1.08);
box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
h1 {
text-align: center;
color: #0b3ea9;
margin-top: 25px;
}
</style>
</head>
<body>
<h1>Beautiful CSS Image Gallery</h1>
<div class="gallery">
<img src="https://picsum.photos/300/200?random=1" alt="Nature 1">
<img src="https://picsum.photos/300/200?random=2" alt="Nature 2">
<img src="https://picsum.photos/300/200?random=3" alt="Nature 3">
<img src="https://picsum.photos/300/200?random=4" alt="Nature 4">
<img src="https://picsum.photos/300/200?random=5" alt="Nature 5">
<img src="https://picsum.photos/300/200?random=6" alt="Nature 6">
</div>
</body>
</html>
▶️ Try Code Live
display: grid; → Gallery layout बनाने के लिए।repeat(auto-fit, minmax()) → Columns को responsive बनाने के लिए।object-fit: cover; → Image को proportion में crop करने के लिए।transform: scale() → Hover पर zoom effect के लिए।box-shadow → 3D depth effect देने के लिए।CSS की मदद से हम static web pages को dynamic और engaging बना सकते हैं। Animation, Transition और Transform तीन ऐसी properties हैं जो motion effects create करती हैं। इन्हें websites में hover, button click या page load पर इस्तेमाल किया जाता है।
Transition किसी property में smooth change लाने के लिए use होती है — जैसे color, size, position आदि। यह तब काम करती है जब user किसी element पर hover करता है या कोई state बदलती है।
<div class="box">Hover Me!</div>
<style>
.box {
width: 120px;
height: 120px;
background-color: #1f4ad1;
color: white;
text-align: center;
line-height: 120px;
border-radius: 10px;
transition: all 0.4s ease;
}
.box:hover {
background-color: #0b3ea9;
transform: scale(1.2);
}
</style>
▶️ Try Code Live
transition: all 0.4s ease; का मतलब है — सभी properties 0.4 सेकंड में smooth बदलें।
Transform किसी element को move, rotate, scale या skew करने के लिए use होता है। यह element के shape या position को बदल सकता है।
transform: translate(x, y); → element को move करने के लिएtransform: rotate(45deg); → element को घुमाने के लिएtransform: scale(1.5); → size बड़ा या छोटा करने के लिएtransform: skew(20deg); → tilt करने के लिए
<div class="transform-box">Transform Me</div>
<style>
.transform-box {
width: 150px;
height: 150px;
background-color: #ff7043;
color: #fff;
text-align: center;
line-height: 150px;
border-radius: 10px;
margin: 10px;
transition: 0.4s;
}
.transform-box:hover {
transform: rotate(15deg) scale(1.1);
background-color: #ff5722;
}
</style>
▶️ Try Code Live
Animation property हमें किसी element में continuously चलने वाला movement या visual effect जोड़ने की सुविधा देती है। इसके लिए हम @keyframes का उपयोग करते हैं जिससे motion define होती है।
<div class="animate-box">Animated Box</div>
<style>
.animate-box {
width: 120px;
height: 120px;
background-color: #4caf50;
color: white;
text-align: center;
line-height: 120px;
border-radius: 10px;
animation: moveBox 3s infinite alternate;
}
@keyframes moveBox {
0% {
transform: translateX(0);
}
50% {
transform: translateX(150px);
background-color: #81c784;
}
100% {
transform: translateX(0);
background-color: #388e3c;
}
}
</style>
▶️ Try Code Live
infinite keyword और alternate direction के लिए alternate use करें।
नीचे complete example दिया गया है जिसमें Transition, Transform और Animation तीनों को combine किया गया है।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Animation and Transform Example</title>
<style>
body {
margin: 0;
background: #f7f9fc;
font-family: "Segoe UI", Arial, sans-serif;
text-align: center;
}
h1 {
color: #1f4ad1;
margin-top: 20px;
}
.container {
display: flex;
justify-content: center;
gap: 40px;
flex-wrap: wrap;
margin-top: 30px;
}
.box, .transform-box, .animate-box {
width: 120px;
height: 120px;
color: white;
line-height: 120px;
text-align: center;
border-radius: 10px;
font-weight: bold;
}
.box {
background-color: #1f4ad1;
transition: all 0.4s ease;
}
.box:hover {
background-color: #0b3ea9;
transform: scale(1.2);
}
.transform-box {
background-color: #ff7043;
transition: 0.4s;
}
.transform-box:hover {
transform: rotate(15deg) scale(1.1);
background-color: #ff5722;
}
.animate-box {
background-color: #4caf50;
animation: moveBox 3s infinite alternate;
}
@keyframes moveBox {
0% {
transform: translateX(0);
}
50% {
transform: translateX(150px);
background-color: #81c784;
}
100% {
transform: translateX(0);
background-color: #388e3c;
}
}
</style>
</head>
<body>
<h1>CSS Animation, Transition & Transform</h1>
<div class="container">
<div class="box">Hover</div>
<div class="transform-box">Rotate</div>
<div class="animate-box">Move</div>
</div>
</body>
</html>
▶️ Try Code Live
transition – hover या change पर smooth effect देता है।transform – element को move, rotate, scale, skew करता है।@keyframes – animation sequence define करता है।animation: – duration, direction, repetition control करता है।Web designing में सिर्फ code लिखना ही नहीं बल्कि उसे साफ, readable, और maintainable रखना भी बहुत ज़रूरी है। नीचे कुछ ऐसी tips दी गई हैं जो हर beginner को एक professional web developer बनने में मदद करेंगी।
/* Header Section */
header { background: #fff; }
/* Footer Section */
footer { background: #f1f1f1; }
पूरे web page में font, color, spacing और button style consistent होना चाहिए। इससे user experience बेहतर बनता है।
:root {
--brand-color: #1f4ad1;
--text-color: #333;
--font-family: 'Segoe UI', sans-serif;
}
body {
font-family: var(--font-family);
color: var(--text-color);
}
button {
background: var(--brand-color);
color: #fff;
border: none;
padding: 10px 18px;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background: #0b3ea9;
}
▶️ Try Code Live
Website को mobile, tablet और desktop पर responsive बनाना आज की जरूरत है। इसके लिए media queries का इस्तेमाल करें।
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
@media (max-width: 768px) {
.container {
grid-template-columns: 1fr;
}
}
▶️ Try Code Live
हमेशा External CSS का इस्तेमाल करें ताकि HTML और CSS अलग रहें। इससे maintenance आसान और performance बेहतर रहती है।
<!-- index.html -->
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Welcome to Boosting Skills</h1>
</body>
“Code लिखने से पहले सोचिए कि maintain कौन करेगा — और वही बनाइए जो दो महीने बाद भी खुद को पढ़ने में आसान लगे!”