CSS এ রেস্পন্সিভ ডিজাইনের সংক্ষিপ্ত বিবরণ
এই প্রবন্ধটি CSS-এ রেসপনসিভ ডিজাইনের সংক্ষিপ্ত পরিচয় ব্যাখ্যা করে।
আমরা রেসপনসিভ ডিজাইনের মৌলিক ধারণা এবং এটি বাস্তবায়নে CSS-এর ভূমিকার ওভারভিউ দেব।
YouTube Video
প্রিভিউর জন্য HTML
css-responsive-overview.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-responsive-overview.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>CSS Properties For Responsive Design</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Responsive Design Related Properties</h2>
20 </header>
21 <article>
22 <h3>Media Queries</h3>
23 <section>
24 <header><h4>CSS</h4></header>
25<pre class="sample">
26/* When the screen width is 600px or less */
27@media (max-width: 600px) {
28 body {
29 background-color: lightblue;
30 }
31}
32/* When the screen width is between 601px and 1200px */
33@media (min-width: 601px) and (max-width: 1200px) {
34 body {
35 background-color: lightgreen;
36 }
37}
38/* When the screen width is 1201px or more */
39@media (min-width: 1201px) {
40 body {
41 background-color: lightyellow;
42 }
43}
44</pre>
45 </section>
46 </article>
47 <article>
48 <h3>Fluid Layouts</h3>
49 <section>
50 <header><h4>CSS</h4></header>
51<pre class="sample">
52.container {
53 width: 80%; /* 80% width relative to the parent element */
54 margin: 0 auto; /* Center the element */
55}
56</pre>
57 </section>
58 </article>
59 <article>
60 <h3>Responsive Images</h3>
61 <section>
62 <header><h4>CSS</h4></header>
63<pre class="sample">
64img {
65 max-width: 100%;
66 height: auto;
67}
68</pre>
69 </section>
70 </article>
71 <article>
72 <h3>Viewport</h3>
73 <section>
74 <header><h4>HTML</h4></header>
75 <pre><meta name="viewport" content="width=device-width, initial-scale=1.0"></pre>
76 </section>
77 </article>
78 <article>
79 <h3>CSS Frameworks</h3>
80 <section>
81 <header><h4>HTML</h4></header>
82<pre>
83<div class="container">
84 <div class="row">
85 <div class="col-md-6">Left content</div>
86 <div class="col-md-6">Right content</div>
87 </div>
88</div>
89</pre>
90 </section>
91 </article>
92 <article>
93 <h3>Flexbox & Grid Layout</h3>
94 <section>
95 <header><h4>CSS</h4></header>
96<pre class="sample">
97/* Flex Example */
98.container {
99 display: flex;
100 flex-wrap: wrap; /* Allow elements to wrap */
101}
102
103.item {
104 flex: 1 1 200px; /* Each item has a minimum width of 200px */
105}
106
107/* Grid Example */
108.container {
109 display: grid;
110 grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
111 gap: 16px;
112}
113</pre>
114 </section>
115 </article>
116 </main>
117</body>
118</html>
CSS এ রেস্পন্সিভ ডিজাইনের সংক্ষিপ্ত বিবরণ
CSS-এ, রেস্পন্সিভ ডিজাইন একটি কৌশল যা ওয়েবপৃষ্ঠার লেআউট এবং বিষয়বস্তু বিভিন্ন ডিভাইস এবং পর্দার মাপ অনুযায়ী সঠিকভাবে প্রদর্শনের জন্য ব্যবহার করা হয়, যেমন স্মার্টফোন, ট্যাবলেট এবং ডেস্কটপ। রেস্পন্সিভ ডিজাইন অর্জনের জন্য প্রধানত নিম্নলিখিত কৌশল এবং পদ্ধতি ব্যবহার করা হয়।
মিডিয়া কুয়েরি
1/* When the screen width is 600px or less */
2@media (max-width: 600px) {
3 body {
4 background-color: lightblue;
5 }
6}
7/* When the screen width is between 601px and 1200px */
8@media (min-width: 601px) and (max-width: 1200px) {
9 body {
10 background-color: lightgreen;
11 }
12}
13/* When the screen width is 1201px or more */
14@media (min-width: 1201px) {
15 body {
16 background-color: lightyellow;
17 }
18}
মিডিয়া কুয়েরি এমন একটি ফিচার যা আপনাকে ডিভাইসের প্রস্থ, উচ্চতা, রেজল্যুশন এবং অন্যান্য বিষয়ের উপর ভিত্তি করে ভিন্ন CSS নিয়ম প্রয়োগ করতে সক্ষম করে। এটি পর্দার আকার অনুযায়ী বিভিন্ন স্টাইল প্রয়োগ করতে সক্ষম করে।
এই উদাহরণে, ব্যাকগ্রাউন্ড রঙ পর্দার প্রস্থ অনুযায়ী পরিবর্তিত হয়।
ফ্লুড লেআউট
1.container {
2 width: 80%; /* 80% width relative to the parent element */
3 margin: 0 auto; /* Center the element */
4}
রেস্পন্সিভ ডিজাইনে, উপাদানগুলির প্রস্থ এবং উচ্চতা নির্ধারণের জন্য নির্দিষ্ট পিক্সেল মানের পরিবর্তে শতাংশ বা em
এর মতো আপেক্ষিক ইউনিট ব্যবহার করা হয়। এটি লেআউটকে পর্দার মাপের সঙ্গে সামঞ্জস্যপূর্ণভাবে পরিবর্তনের সুযোগ দেয়।
রেস্পন্সিভ ইমেজ
1img {
2 max-width: 100%;
3 height: auto;
4}
ছবিগুলিকেও পর্দার মাপ অনুযায়ী স্কেল করা হয়। উদাহরণস্বরূপ, max-width
ব্যবহার করে ছবিগুলি এমনভাবে সামঞ্জস্য করা সম্ভব যাতে সেগুলি তাদের প্যারেন্ট উপাদানের প্রস্থ অতিক্রম না করে।
ভিউপোর্ট সেটিংস
1<meta name="viewport" content="width=device-width, initial-scale=1.0">
ডিভাইসের পর্দার প্রস্থ সঠিকভাবে ব্রাউজারের মাধ্যমে অনুবাদ করতে HTML-এ <meta>
ট্যাগ ব্যবহার করুন। এটি ছাড়া রেস্পন্সিভ ডিজাইন সঠিকভাবে কাজ করবে না, বিশেষ করে মোবাইল ডিভাইসে।
CSS ফ্রেমওয়ার্কের ব্যবহার
Bootstrap এবং Tailwind CSS-এর মতো CSS ফ্রেমওয়ার্কগুলি প্রায়শই রেস্পন্সিভ ডিজাইন সহজে এবং কার্যকরভাবে পাওয়ার জন্য ব্যবহার করা হয়। এই ফ্রেমওয়ার্কগুলি প্রি-ডিফাইন করা ক্লাস ব্যবহার করে সহজে রেস্পন্সিভ লেআউট তৈরির জন্য ডিজাইন করা হয়েছে।
উদাহরণ: Bootstrap এর গ্রিড সিস্টেম
1<div class="container">
2 <div class="row">
3 <div class="col-md-6">Left content</div>
4 <div class="col-md-6">Right content</div>
5 </div>
6</div>
উপরের উদাহরণে, যখন স্ক্রীনের প্রস্থ md
(মাঝারি আকার, সাধারণত ৭৬৮px বা তার বেশি) হয়, তখন দুটি কলাম পাশাপাশি সাজানো হয়, কিন্তু সংকীর্ণ স্ক্রীনে, সেগুলি উল্লম্বভাবে সাজানো হয়।
ফ্লেক্সবক্স এবং গ্রিড বিন্যাস
1/* Flex Example */
2.container {
3 display: flex;
4 flex-wrap: wrap; /* Allow elements to wrap */
5}
6
7.item {
8 flex: 1 1 200px; /* Each item has a minimum width of 200px */
9}
10
11/* Grid Example */
12.container {
13 display: grid;
14 grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
15 gap: 16px;
16}
CSS flexbox
অথবা grid
ব্যবহার করে সহজেই বিন্যাসের সামঞ্জস্য করা যায়। এই বিন্যাসের কৌশলগুলি প্রতিক্রিয়াশীল ডিজাইনের জন্য উপযুক্ত কারণ এটি স্ক্রীনের আকার অনুযায়ী স্বয়ংক্রিয়ভাবে বিন্যাস সামঞ্জস্য করা সহজ করে।
সারসংক্ষেপ
প্রতিক্রিয়াশীল নকশা এমন একটি গুরুত্বপূর্ণ পদ্ধতি যা নিশ্চিত করে যে ব্যবহারকারীরা যেকোনো ডিভাইসে আরামদায়কভাবে ওয়েবসাইট দেখতে পারেন। মিডিয়া কুয়েরি, নমনীয় বিন্যাস, ফ্রেমওয়ার্ক এবং ফ্লেক্সবক্স ও গ্রিডের মতো নতুন বিন্যাস প্রযুক্তি একত্রিত করে আরও নমনীয় এবং অভিযোজনযোগ্য ওয়েব পৃষ্ঠা তৈরি করা সম্ভব।
আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।