গ্রিড ভিউ - Grid-View
গ্রিড-ভিউ কি?
একটি ওয়েব পেজকে কলামে বিভক্ত করে লে-আউট তৈরি করা যায়, একেই গ্রিড-ভিউ বলা হয়।
ওয়েব পেজ ডিজাইনের সময় গ্রিড ভিউ ব্যবহার করা খুবই গুরুত্বপূর্ণ। এটি ওয়েব পেজের মধ্যে এলিমেন্টকে সঠিক জায়গায় স্থাপন করা সহজ করে তোলে।
রেস্পন্সিভ গ্রিড-ভিউতে অধিকাংশ সময় ১২ টি কলাম থাকে, ১২ টি কলাম মিলে এর মোট প্রস্থ হয় ১০০% এবং আপনি ব্রাউজারের আকার পরিবর্তন করার সাথে সাথে ইহা সংকুচিত ও প্রসারিত হবে।
গ্রিড-ভিউ তৈরি
প্রথমে সকল এইচটিএমএল এলিমেন্টের box-sizing
প্রোপার্টির ভ্যালু border-box
সেট করতে হবে। এর কারণ এলিমেন্টের প্যাডিং এবং বর্ডারসহ সম্পূর্ণ প্রস্থ ও উচ্চতা গণনা করা হবে।
আপনার সিএসএস ফাইলে নিম্নলিখিত কোড যুক্ত করুনঃ
* {
box-sizing: border-box;
}
box-sizing
প্রোপার্টি সম্পর্কে আরো জানতে আমাদের সিএসএস(৩) বক্স সাইজিং অধ্যায়টি পড়ুন।
উদাহরণ
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>এইচটিএমএল উদাহরণ</title>
<style>
* {
box-sizing: border-box;
}
.header {
border: 1px solid red;
padding: 15px;
}
.menu {
width: 25%;
float: left;
padding: 15px;
border: 1px solid red;
}
.main {
width: 75%;
float: left;
padding: 15px;
border: 1px solid red;
}
</style>
</head>
<body>
<div class="header">
<h1>ঢাকা</h1>
</div>
<div class="menu">
<ul>
<li>ফ্লাইট</li>
<li>সিটি</li>
<li>হাতিয়া</li>
<li> খাদ্য</li>
</ul>
</div>
<div class="main">
<h1> ঢাকা</h1>
<p>ঢাকা বাংলাদেশের রাজধানী। দেশের কাজ কর্মের সিংহ ভাগই এখানে সম্পুর্ন হয়।
ঢাকাকে মসজিদ ও রিক্সার শহর হিসাবেও ডাকা হয়। জনবহুল শহর হিসাবে বিশ্বে ২য়। </p>
<p>
ব্রাউজার উইন্ডোতে মাপ পরিবর্তন করতে কিভাবে সাড়াদেয় তা দেখাতে রেসাইজ ব্যবহার করা হয়। </p>
</div>
</body>
</html>
ফলাফল
ওয়েব পেজ দুই কলাম বিশিষ্ট হলে উপরের উদাহরণটিই যথেষ্ট।
আমরা ওয়েব পেজের উপর আরো বেশি নিয়ন্ত্রণ রাখার জন্য ১২ কলামের একটি রেস্পন্সিভ গ্রিড-ভিউ ব্যবহার করতে পারি।
প্রথমে আমরা একটি কলামের জন্য শতকরা বের করিঃ ১০০% / ১২ কলাম = ৮.৩৩%।
তারপর আমরা ১২ টি কলামের প্রতিটির জন্য একটি করে ক্লাস তৈরি করবো class="col-"
এবং প্রতিটি ক্লাসের জন্য কলামের প্রস্থ নির্দিষ্ট করে দিব।
উদাহরণ
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>এইচটিএমএল উদাহরণ</title>
<style>
* {
box-sizing: border-box;
}
.header {
border: 1px solid red;
padding: 15px;
}
.row::after {
content: "";
clear: both;
display: block;
}
[class*="col-"] {
float: left;
padding: 15px;
border: 1px solid red;
}
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
</style>
</head>
<body>
<div class="header">
<h1>ঢাকা</h1>
</div>
<div class="row">
<div class="col-3">
<ul>
<li>ফ্লাইট</li>
<li>সিটি</li>
<li>হাতিয়া</li>
<li>খাদ্য</li>
</ul>
</div>
<div class="col-9">
<h1>সিটি</h1>
<p>ঢাকা বাংলাদেশের রাজধানী। দেশের কাজ কর্মের সিংহ ভাগই এখানে সম্পুর্ন হয়।
ঢাকাকে মসজিদ ও রিক্সার শহর হিসাবেও ডাকা হয়। জনবহুল শহর হিসাবে বিশ্বে ২য়।</p>
<p> ব্রাউজার উইন্ডোতে মাপ পরিবর্তন করতে কিভাবে সাড়াদেয় তা দেখাতে রেসাইজ ব্যবহার করা হয়।</p>
</div>
</div>
</body>
</html>
ফলাফল
সকল কলাম ব্রাউজারের বাম দিক থেকে শুরু হয়ে ডান দিকে যাবে এবং প্রতিটি কলামে ১৫পিক্সেল করে প্যাডিং ব্যবহার করিঃ
সিএসএসঃ
[class*="col-"] {
float: left;
padding: 15px;
border: 1px solid red;
}
প্রতিটি সারির জন্য একটি <div>
এলিমেন্ট ব্যবহার করতে হবে। প্রতিটি সারির ভিতরে কলাম সর্বোচ্চ ১২ পর্যন্ত যোগ করা যায়ঃ
এইচটিএমএলঃ
<div class="row">
<div class="col-3">...</div>
<div class="col-9">...</div>
</div>
আমরা একে আরো আকর্ষনীয় করার জন্য কিছু স্টাইল এবং কালার যোগ করতে পারিঃ
উদাহরণ
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>এইচটিএমএল উদাহরণ</title>
<style>
* {
box-sizing: border-box;
}
.row::after {
content: "";
clear: both;
display: block;
}
[class*="col-"] {
float: left;
padding: 15px;
}
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
html {
font-family: "Lucida Sans", sans-serif;
}
.header {
background-color: #9933cc;
color: #ffffff;
padding: 15px;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 7px;
background-color :#33b5e5;
color: #ffffff;
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}
.menu li:hover {
background-color: #0099cc;
}
</style>
</head>
<body>
<div class="header">
<h1>ঢাকা </h1>
</div>
<div class="row">
<div class="col-3 menu">
<ul>
<li>ফ্লাইট </li>
<li>সিটি </li>
<li>হাতিয়া </li>
<li>খাদ্য </li>
</ul>
</div>
<div class="col-9">
<h1> ঢাকা </h1>
<p>ঢাকা বাংলাদেশের রাজধানী। দেশের কাজ কর্মের সিংহ ভাগই এখানে সম্পুর্ন হয়।
ঢাকাকে মসজিদ ও রিক্সার শহর হিসাবেও ডাকা হয়। জনবহুল শহর হিসাবে বিশ্বে ২য়। </p>
<p>প্রতিক্রিয়া বুঝার জন্য ব্রাউজার স্ক্রিনটি রিসাইজ করুন। </p>
</div>
</div>
</body>
</html>
ফলাফল
উপরের উদাহরণে আমরা দেখলাম যে ছোট অবস্থায় ব্রাউজার স্ক্রিনটি ভালো দেখায় না। ছোট স্ক্রিনে লিখাটিকে আরো ভালভাবে দেখানোর জন্য পরবর্তী অধ্যায়ে বিস্তারিত দেখানো হবে।