এইচটিএমএল টেবিল (HTML Table)
পূর্বের টিউটোরিয়ালে আমরা এইচটিএমএল লিষ্ট সম্পর্কে জেনেছিলাম। লিষ্ট আর টেবিলের মধ্য একপ্রকার স্বাদৃশ্য আছে। অনেক গুলো আইটেমকে সারিবদ্ধ ভাবে রাখার জন্য যেমন লিষ্ট ব্যবহার হয় তেমনি অনেকগুলো ডাটাকে সারিবদ্ধ ভাবে রাখার জন্য টেবিল ব্যবহার হয়। যেমন টিভিতে ক্রিকেট খেলার স্কোর বোর্ড আমরা দেখি। এই স্কোর বোর্ড একটি টেবিল আকারে সাজানো হয়। বিভিন্ন অফিস সহ বড় বড় মিল ফেক্টরী বা গার্মেন্টস ইত্যাদীর যাবতীয় হিসাব নিকাশ। কর্মচারীর নাম ঠিকানা, বেতন, আমদানী রফতানী ইত্যাদী সব কিছুই একটি টেবিল আকারে সাজানো হয়। ওয়েবসাইট বলেন কিংবা অফিস আদালত সবখানেই এই টেবিল খুবই গুরত্বপূর্ণ।
মনে করুন বাংলাদেশে প্রায় দশ কোটি মানুষের আইডি কার্ড আছে। একটি আইডি কার্ডের নাম্বার দিয়ে আপনাকে বলা হল দশ কোটি আইডির ভিতর থেকে এই আইডিটা বিস্তারিত ডিটাইলস সহ বাহির করুন তাও মাত্র পাঁচ মিনিটে। আমার মত যারা জানে না ওরাতো বলবে পাঁচ মিনিট কেন পাঁচ দিনেও খুঁজে বাহির করা প্রায় অসম্ভব। কিন্তু যারা এইচটিএমএল টেবিল এবং পিএইচপি এসকিউএল নিয়ে কাজ করেছেন ওরা বলবে পাঁচ মিনিট তো অনেক সময় পাঁচ সেকেন্টেই সম্ভব। যাক, এইচটিএমএল টেবিলের জন্য যে ট্যাগ গুলো ব্যবহার হয় তা একটি টেবিল আকারে সঙ্কিপ্ত বিবরণ সহ দিলাম। আরো বিস্তারিত জানতে ভিডিও টিউটোরিয়ালটি দেখুন।
বিস্তারিত ভিডিও সহ দেখুন
কোড উদাহরণ
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> HTML Table </title>
<style>
table, table th, td{
border:1px solid #bcbcbc;
padding:10px;
text-align:center;
}
</style>
</head>
<body>
<table>
<tr>
<th> নাম </th>
<th> জর্ম্ম তারিখ </th>
<th> শ্রেনী </th>
<th> রোল নং </th>
</tr>
<tr>
<td> নছীম </td>
<td> ১২ - ১০ - ২০০৭ইং </td>
<td> ৭ম </td>
<td> ২৫ </td>
</tr>
<tr>
<td> মাহিমা </td>
<td> ০৭ - ০৫ - ২০১২ইং </td>
<td> ৪র্থ </td>
<td> ০৩ </td>
</tr>
<tr>
<td> মোস্তাকিম </td>
<td> ০১ - ০২ - ২০১৫ইং </td>
<td> ২য় </td>
<td> ০৫ </td>
</tr>
</table>
</body>
</html>
ভিডিও দেখুন নিজে করুন ফলাফল
এইচটিএমএল টেবিলে ব্যবহার হয় এমন এলিমেন্ট সমুহ
এলিমেন্ট সমুহ | বর্ণনা |
---|---|
<table> | এই ট্যাগ দ্বারা টেবিলের মূল ব্লক তৈরী করা হয়। |
<th> | টেবিলের হেডলাইন বা হেডার তৈরীর জন্য ব্যবহার হয়। |
<tr> | টেবিলের row বা সারি তৈরি করার জন্য ব্যবহার হয়। |
<td> | টেবিলের ডাটা দেওয়ার জন্য ব্যবহার করা হয়। |
<caption> | টেবিলটি সম্পর্কে সঙ্কিপ্ত ক্যাপশন দেওয়ার জন্য ব্যবহার হয়। |
<col> | কলাম প্রপার্টি সেট করার জন্য ব্যবহার করা হয়। |
<colgroup> | একাদিক কলামকে গ্রুপ আকারে সাজানোর জন্য ব্যবহার করা হয়। |
<thead> | টেবিলের হেডার সেট করা জন্য ব্যবহার হয়। |
<tbody> | টেবিলের মুল বডি সেট করা জন্য ব্যবহার হয়। |
<tfoot> | টেবিলের ফোটার সেট করা জন্য ব্যবহার হয়। |
বর্ডার সহ টেবিল
<table border="1">...</table>
নিজে করে দেখুন
হাল্কা ষ্টাইলিশ টেবল
<style type="text/css">
table, th, td{
border:1px solid gray;
background-color:aliceblue;
text-align:center;
padding:10px;
}
</style>
নিজে করে দেখুন
Collapsed Borders টেবিল
<style type="text/css">
table, th, td {
border: 1px solid silver;
border-collapse: collapse;
padding:10px;
text-align:center;
}
</style>
নিজে করে দেখুন
ক্যাপশন সহ টেবিল
<caption> বিদ্যালয়ের ছাত্র ছাত্রীদের তালিকা </caption>
নিজে করে দেখুন
টেবিলে <col> ট্যাগের ব্যবহার
<col>
ট্যাগ দিয়ে একটি টেবিলের কলাম প্রপার্টি সেট করা হয়। কলাম হচ্ছে যেখানে টেবিলের আলাদা আলাদা হেডিং এবং ডাটা রাখা হয়। এই ট্যাগের সাথে কিছু এট্রিবিউট ব্যবহার করে টেবিলের নির্দিষ্ট কোন কলামকে ইচ্ছে মত ষ্টাইল করা যায়। যদি আপনার টেবিলে চারটা কলাম থাকে আর আপনি দুইটি কলামের ব্যাকগ্রাউন্ডে রঙ দিতে চান অথবা অন্য কোন ষ্টাইল করতে চান তাহলে এই
<col>
ট্যাগ ব্যবহার করে অতি সহজে করতে পারেন। এখানে টেবিলে নাম, জর্ম্ম তারিখ, শ্রেনী এবং রোল নং মোট চারটি কলাম আছে। আমি চাচ্ছি প্রথম দু'টি কলামকে হাল্কা আসমানী রঙ এবং প্রস্থ কিছুটা বাড়িয়ে দেব। এবং সব শেষের রোল নং কলামটিকে হলুদ করব। কিন্তু শ্রেনী কলামটিকে কিছুই করব না। উদাহরণ নিম্নরূপ...
<col span="2" style="background-color:skyblue;width:200px;">
<col>
<col span="1" style="background-color:yellow;">
নিজে করে দেখুন
টেবিলে <colgroup> ট্যাগের ব্যবহার
<colgroup>
এলিমেন্ট একটি টেবিলের মধ্যে কলামের একটি গ্রুপের বৈশিষ্ট্য উল্লেখ করে।
<colgroup>
এলিমেন্ট যেখান থেকে শুরু হয় এর পরের ভার্টকালী অর্থাৎ উপর থেকে নিচের সকল কলামের উপর এর কাজ চলে। এভাবে পাশাপাশি যত কলাম থাকবে ততবার
<colgroup>
ব্যবহার করে ষ্টাইল করতে পারেন। অর্থাৎ এই ট্যাগের মাধ্যমে একাধিক কলামের প্রস্থ বা ব্যাকগ্রাউন্ড রঙ একসাথে করা যায়। উদাহরণ নিম্নরুপ...
<colgroup width="180">...</colgroup>
<!--- অথবা--->
<colgroup style="width:180px;background:blue;">...</colgroup>
নিজে করে দেখুন টেবিলে <thead> ট্যাগের ব্যবহার
টেবিলে <thead>
ট্যাগের ব্যবহার মুলত টেবিলের হেডিং দেবার জন্য ব্যবহার হয়। যাতে সাধারণত <th>
এলিমেন্ট ব্যবহ্নত হয়। তবে <thead>
ট্যাগের মাধ্যমে ষ্টাইলিশ করার জন্য বিশেষ কিছু সুবিধা পাওয়া যায়। তাছাড়া একটি টেবিল তখনই সম্পূর্ণ হয় যখন সেখানে টেবিল হেডার ফুটার এবং বডি এলিমেন্ট সমুহ উপস্থিত থাকে।
<thead style="background:silver;">...</thead>
নিজে করে দেখুন টেবিলে <tbody> ট্যাগের ব্যবহার
<tbody>
বলতে টেবিলের বডিকেই বুঝানো হয়। <thead>
ট্যাগের মত এই ট্যাগের মাধ্যমে অতিরিক্ত কিছু সুবিদা পাওয়া যায়। এছাড়া একটা বড় সাইজের টেবিল কোথা থেকে হেডিং শুরু আর শেষ হল এবং কোথা থেকে বডি শুরু আর শেষ হল সহজে বুঝা যায়।
<tbody style="background:pink;"> ... </tbody>
নিজে করে দেখুন টেবিলে <tfoot> ট্যাগের ব্যবহার
<tfoot>
এলিমেন্ট দ্বারা টেবিলের ফুটার বুঝানো হয়। <tfoot>
এলিমেন্ট <thead>
এবং <tbody>
এলিমেন্টের মতই অতিরিক্ত কিছু সুবিদা দিয়ে থাকে। এই এলিমেন্ট গুলোর কারণে ব্রাউজার একটি টেবিলের হেডার ফুটার এবং বডিকে সহজে ক্যাচ করে নিতে পারে। উদাহরণ স্বরূপ কোড লিখার সময় আমি যদি ভুল করে <tfoot>
কে <tbody>
ট্যাগের আগে লিখে ফেলি কিন্ত ব্রাউজার সেটাকে আগে আউটপুট দেবে না। বরং <tfoot>
বলতে যেহেতু টেবিলের ফুটার বুঝানো হয় তাই ফুটারের কন্টেন্টকে ফুটারের যথাস্থানেই উপাস্থাপন করা হয়। অর্থাৎ আগেতপরে যেখানে কোড লিখা হোক আউটপুট ঠিক নিচেই প্রদর্শিত হবে। উদাহরণ নিম্নরুপ...
<tfoot>
<tr>
<th colspan="4"> টেবিল সমাপ্তি </th>
</tr>
</tfoot>
নিজে করে দেখুন টেবিলে colspan এট্রিবিউটের ব্যবহার
colspan এট্রিবিউট টেবিলের একাধিক ডাটার কলামকে এক করে দেয়। আমি যেহেতু প্রথম থেকেই বিদ্যালয়ের ছাত্র ছাত্রীদের টেবিল করে আসছি। তাহলে সেই একই উদাহরণটা নিয়েই এগুতে চাই। মনে করুন, আপনি একটি প্রাথমীক বিদ্যালয়ের ছাত্র ছাত্রীদের নাম, বয়স, ঠিকানা এবং রোল নং নিয়ে একটি টেবিল বানাচ্ছেন। কিন্তু আপনি চাচ্ছেন টেবিল একটাই হবে তবে শ্রেনীগুলো ভাগ করে যথাক্রমে সাজানো হবে। প্রথম শ্রেনী শেষ হয়ে দ্বিতীয় শ্রেনী শুরু করার আগের কলামটিকে আপনি সম্পূর্ণ এক করে সেখানে এমন কোন টেক্সট দিতে চান যা দেখে যে কেউ বুঝতে পারেন দ্বিতীয় শ্রেনী এখান থেকে শুরু হয়েছে। colspan এট্রিবিউট দিয়ে এটা আপনি খুব সহজে করে নিতে পারেন। কলাম যদি চারটি থাকে সম্পুর্ণ চারটি কলামকে এক করতে colspan="4" দিবেন। উদাহরণ নিম্নরূপ...
<td colspan="4"> দ্বিতীয় শ্রেনী এখান থেকে শুরু </td>
নিজে করে দেখুন টেবিলে rowspan এট্রিবিউটের ব্যবহার
উপরের উদাহরণে পাশাপাশি অর্থাৎ একাধিক কলামকে কিভাবে এক করতে হয় তা জানলাম। rowspan এট্রিবিউট ব্যবহার করে উপর নিচে অর্থাৎ টেবিলের একাধিক রো'কে এক করা হয়। মনে করি, একটি শ্রেনী একাধিক গ্রোপে ভাগ হয়। A গ্রুপ, B গ্রুপ, C গ্রুপ ইত্যাদী। তো আপনি চাচ্ছেন টেবিলটাকে গ্রুপ হিসেবে সাজাবেন। এখন সমস্যা হচ্ছে প্রত্যেক কলামে বারবার গ্রুপটাকে লিখতে হয়। এমন অবস্তায় rowspan এট্রিবিউটের ব্যবহার করে মাত্র একবার গ্রুপ দিলে সমাধান হয়ে যায়। উদাহরণ স্বরুপ যদি A গ্রুপে ৫০ জন ছাত্র ছাত্রী থাকে তাহলে সেই ৫০ জনের কলাম গুলো সাজানোর সময় প্রথম <tr>
ট্যাগের ব্লকের ভিতর একটি <td>
বাড়িয়ে সেটার সঙ্গে rowspan="51" লাগিয়ে দিয়ে শুধুমাত্র একবার A গ্রুপ লিখে দিলে হয়ে যাবে। ৫০টি রো'কে এক করে নেওয়া যাবে। 51 কারণ টেবিলের হেডিং ও একটি রো'এর ভিতরে আসে ৫০ জন ছাত্র ছাত্রীর জন্য ৫০টি রো এবং টেবিল হেডিং এর একটি মোট ৫১টি রো। উদাহরণ টেবিলে সর্বমোট রো আছে চারটি। সুতারাং আমি rowspan="4" দেব। উদাহরণ নিম্নরুপ...
<td rowspan="4"> A গ্রুপ </td>
নিজে করে দেখুন একটি পূর্ণাঙ্গ টেবল উদাহরণ
<style>
table, th, td{
border:1px solid #ddd;
border-collapse:collapse;
padding:5px 0px;
text-align:center;
}
thead{background:#3b5998;color:#fff;}
tfoot{font-size:22px;}
</style>
<table width="100%;">
<caption style="padding:10px 0px;font-size:22px;color:green;">কুসুম পুরা সরকারী প্রাথমীক বিদ্যালয় </caption>
<thead>
<tr>
<th> ছাত্র ছাত্রীর নাম </th>
<th> জর্ম্ম তারিখ </th>
<th> ঠিকানা </th>
<th> রোল নং </th>
<th> গ্রুপ - শ্রেনী </th>
</tr>
</thead>
<tbody>
<tr>
<td> আরেফুল ইসলাম </td>
<td> ১৮ - ০২ - ২০০৩ইং </td>
<td> কুসুম পুরা </td>
<td> ০১ </td>
<td rowspan="3"> প্রথম শ্রেনী <br> A গ্রুপ </td>
</tr>
<tr>
<td> শাইফুল ইসলাম </td>
<td> ০৫ - ০৫ - ২০০৪ইং </td>
<td> কুসুম পুরা </td>
<td> ০২ </td>
</tr>
<tr>
<td> শাহেদা শিরীন </td>
<td> ০৮ - ০৪ - ২০০৩ইং </td>
<td> জিরি </td>
<td> ৫০ </td>
</tr>
<tr>
<td> মাজেদুল ইসলাম </td>
<td> ১০ - ১২ - ২০০২ইং </td>
<td> কুসুম পুরা </td>
<td> ০১ </td>
<td rowspan="2"> প্রথম শ্রেনী <br> B গ্রুপ </td>
</tr>
<tr>
<td> আতিকুল ইসলাম </td>
<td> ২০ - ০৭ - ২০০৩ইং </td>
<td> কৈয়গ্রাম </td>
<td> ৫০ </td>
</tr>
<tr>
<td style="background:#E1E8ED;" colspan="5"> দ্বিতীয় শ্রেনীর ছাত্র ছাত্রীর তালিকা </td>
</tr>
<tr>
<td> মাসুদ করিম </td>
<td> ০৮ - ০৫ - ২০০১ইং </td>
<td> কুসুম পুরা </td>
<td> ০১ </td>
<td rowspan="3"> দ্বিতীয় শ্রেনী <br> A গ্রুপ </td>
</tr>
<tr>
<td> মাহিমা মমতাজ </td>
<td> ০৫ - ০৪ - ২০০০ইং </td>
<td> চাপরী </td>
<td> ০২ </td>
</tr>
<tr>
<td> আয়েশা খাতুন </td>
<td> ০৯ - ১১ - ২০০২ইং </td>
<td> বিনিনিহারা </td>
<td> ৪০ </td>
</tr>
<tr>
<td> আশিকুল হক </td>
<td> ১৬ - ১২ - ২০০১ইং </td>
<td> কুসুম পুরা </td>
<td> ০১ </td>
<td rowspan="2"> দ্বিতীয় শ্রেনী <br> B গ্রুপ </td>
</tr>
<tr>
<td> রুহুল্লাহ নছীম </td>
<td> ২০ - ০৯ - ২০০০ইং </td>
<td> কৈয়গ্রাম </td>
<td> ৫০ </td>
</tr>
<tfoot>
<td colspan="5"> সমাপ্ত </td>
</tfoot>
</tbody>
</table>
নিজে করে দেখুন
Keep Your Ads Here...
ঐতিহাসিক কালার থিওরি

এইচটিএমএল আইকন

ওয়েবের যত ফন্টস

সিএসএস এনিমেশন

হরেক রকম মেনু

রকমারি বাটন
