Material Design Lite (MDL) গুগলের Material Design নীতির উপর ভিত্তি করে তৈরি একটি হালকা এবং কার্যকরী ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক। এটি ওয়েবসাইট এবং অ্যাপ্লিকেশন ডিজাইনকে আধুনিক এবং ইউজার-বান্ধব করে তোলে। MDL-এর বিশেষ বৈশিষ্ট্য হলো এর customization এবং থিম কাস্টমাইজেশন ক্ষমতা, যা ব্যবহারকারীদের ওয়েব পেজের স্টাইল এবং অনুভূতি সম্পূর্ণভাবে তাদের প্রয়োজন অনুসারে কাস্টমাইজ করতে সহায়তা করে। এই টিউটোরিয়ালে, আমরা MDL এর কাস্টমাইজেশন এবং থিম কাস্টমাইজেশন পদ্ধতি আলোচনা করব।
MDL এর Customization
MDL-এর customization পদ্ধতিতে, আপনি বিভিন্ন উপাদান, যেমন বাটন, টেবিল, ফর্ম, এবং ট্যাবের স্টাইল, সাইজ, রঙ ইত্যাদি সহজেই কাস্টমাইজ করতে পারেন। MDL CSS ক্লাসগুলি খুবই নমনীয় এবং এটির মাধ্যমে আপনি দ্রুত ওয়েব ডিজাইন কাস্টমাইজ করতে পারবেন।
১. বাটন কাস্টমাইজেশন
MDL-এ বাটন কাস্টমাইজ করতে আপনি বিভিন্ন ক্লাস ব্যবহার করতে পারেন যেমন mdl-button--raised, mdl-button--flat, mdl-button--colored ইত্যাদি। আপনি বাটনের আকার, রঙ এবং স্টাইল পরিবর্তন করতে পারেন।
উদাহরণ: Raised Button কাস্টমাইজেশন
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--primary">
Raised Button
</button>
এটি একটি raised button তৈরি করবে, যার রঙ primary থাকবে। আপনি mdl-button--accent বা mdl-button--colored ক্লাস ব্যবহার করে রঙ পরিবর্তন করতে পারবেন।
২. ফর্ম কাস্টমাইজেশন
MDL-এর ফর্ম উপাদানগুলিকে কাস্টমাইজ করার জন্য, আপনি mdl-textfield, mdl-checkbox, mdl-radio ইত্যাদি ক্লাস ব্যবহার করতে পারেন। এগুলোকে সহজেই সাইজ এবং রঙ কাস্টমাইজ করা যায়।
উদাহরণ: Textfield কাস্টমাইজেশন
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" id="sample1">
<label class="mdl-textfield__label" for="sample1">Your Name</label>
</div>
এটি একটি floating label textfield তৈরি করবে, যেখানে ব্যবহারকারী নাম ইনপুট করতে পারবেন।
৩. টেবিল কাস্টমাইজেশন
MDL টেবিলগুলি খুবই সহজ এবং শক্তিশালী। আপনি mdl-data-table, mdl-data-table__cell, এবং mdl-data-table__header ক্লাস ব্যবহার করে টেবিল কাস্টমাইজ করতে পারেন।
উদাহরণ: Basic Table কাস্টমাইজেশন
<table class="mdl-data-table mdl-js-data-table mdl-data-table--selectable">
<thead>
<tr>
<th class="mdl-data-table__cell--non-numeric">Name</th>
<th>Age</th>
<th>City</th>
</tr>
</thead>
<tbody>
<tr>
<td class="mdl-data-table__cell--non-numeric">John Doe</td>
<td>25</td>
<td>New York</td>
</tr>
<tr>
<td class="mdl-data-table__cell--non-numeric">Jane Smith</td>
<td>30</td>
<td>Los Angeles</td>
</tr>
</tbody>
</table>
এটি একটি সিম্পল টেবিল তৈরি করবে, যেখানে mdl-data-table ক্লাস ব্যবহার করে এটি কাস্টমাইজ করা হয়েছে।
MDL থিম কাস্টমাইজেশন
MDL-এ থিম কাস্টমাইজেশন করার জন্য আপনি CSS এবং SASS ব্যবহার করে ওয়েবসাইটের প্রধান রঙ, ব্যাকগ্রাউন্ড, বাটন, এবং অন্যান্য UI উপাদানগুলির রঙ এবং ডিজাইন পরিবর্তন করতে পারবেন। MDL-এর জন্য কিছু থিম প্যাকেজ সরবরাহ করা হয়, যা আপনাকে সহজেই কাস্টম থিম তৈরি করতে সহায়তা করবে।
১. রঙ কাস্টমাইজেশন
MDL-এর বিভিন্ন কম্পোনেন্টের রঙ কাস্টমাইজ করতে আপনি CSS ব্যবহার করতে পারেন। MDL প্রিসেট রঙ স্কিমের সঙ্গে কাজ করে, যেমন primary এবং accent।
উদাহরণ: প্রাথমিক এবং অ্যাকসেন্ট রঙ কাস্টমাইজেশন
/* Primary Color */
.mdl-button--primary {
background-color: #2196F3; /* Blue */
}
/* Accent Color */
.mdl-button--accent {
background-color: #FF5722; /* Orange */
}
এটি বাটনগুলোর জন্য primary এবং accent রঙ কাস্টমাইজ করবে।
২. ব্যাকগ্রাউন্ড এবং টেক্সট রঙ কাস্টমাইজেশন
MDL এর background এবং text রঙও খুব সহজে কাস্টমাইজ করা যায়।
উদাহরণ: ব্যাকগ্রাউন্ড এবং টেক্সট রঙ কাস্টমাইজেশন
body {
background-color: #f0f0f0; /* Light grey background */
color: #212121; /* Dark text color */
}
এটি ওয়েবপেজের ব্যাকগ্রাউন্ড এবং টেক্সট রঙ পরিবর্তন করবে।
৩. SASS থিম কাস্টমাইজেশন
MDL-এ আপনি SASS ব্যবহার করে আরো বিস্তারিত কাস্টমাইজেশন করতে পারেন। MDL এ কিছু প্রিসেট SASS ভ্যারিয়েবল সরবরাহ করা হয়, যেগুলি ব্যবহার করে আপনি রঙ, সাইজ, মার্জিন, প্যাডিং এবং অন্যান্য প্রপার্টি কাস্টমাইজ করতে পারেন।
উদাহরণ: SASS ব্যবহার করে থিম কাস্টমাইজেশন
$primary-color: #2196F3; /* Blue */
$accent-color: #FF5722; /* Orange */
@import 'material-design-lite/material';
এটি SASS এর মাধ্যমে থিমের রঙ কাস্টমাইজ করবে এবং MDL এর উপাদানগুলির জন্য আপনার চাহিদা অনুযায়ী ডিজাইন তৈরি করবে।
সারাংশ
Material Design Lite (MDL)-এর customization এবং থিম কাস্টমাইজেশন আপনার ওয়েব ডিজাইনকে আরো আধুনিক, আকর্ষণীয়, এবং ব্যবহারকারী-বান্ধব করে তোলে। MDL ব্যবহার করে আপনি বাটন, ফর্ম, টেবিল, এবং অন্যান্য কম্পোনেন্টের স্টাইল পরিবর্তন করতে পারেন। এর সাথে আপনি CSS বা SASS ব্যবহার করে ওয়েব পেজের প্রধান রঙ, ব্যাকগ্রাউন্ড, এবং অন্যান্য স্টাইলও কাস্টমাইজ করতে পারবেন। MDL এর কাস্টমাইজেশন এবং থিম কাস্টমাইজেশন আপনার ডিজাইনকে এক্সটেনড এবং আপনার প্রয়োজন অনুযায়ী পার্সোনালাইজ করার সুযোগ প্রদান করে।
Material Design Lite (MDL) একটি সহজ, হালকা ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক যা গুগলের Material Design নীতির উপর ভিত্তি করে তৈরি। MDL ব্যবহার করে ওয়েবসাইট বা অ্যাপ্লিকেশন ডিজাইন করা সহজ এবং দ্রুত হয়। তবে, অনেক সময় আপনার নিজস্ব ডিজাইন এবং স্টাইল প্রযোজ্য হতে পারে, যা MDL এর ডিফল্ট স্টাইল বা বৈশিষ্ট্যগুলির বাইরে হতে পারে। এই ক্ষেত্রে, MDL আপনাকে বিভিন্ন Customization Options প্রদান করে, যার মাধ্যমে আপনি আপনার ডিজাইন এবং ফাংশনালিটি কাস্টমাইজ করতে পারেন।
এই টিউটোরিয়ালে, আমরা MDL এর Customization Options নিয়ে বিস্তারিত আলোচনা করব এবং কিভাবে আপনি MDL-এর কম্পোনেন্টগুলো কাস্টমাইজ করতে পারেন তা দেখাব।
MDL কাস্টমাইজেশন এর মূল উপাদান
MDL কাস্টমাইজ করার জন্য প্রধানত তিনটি উপায় রয়েছে:
- CSS কাস্টমাইজেশন
- JavaScript কাস্টমাইজেশন
- MDL কম্পোনেন্ট কাস্টমাইজেশন
১. CSS কাস্টমাইজেশন
MDL এর কম্পোনেন্টগুলোর স্টাইলিং বেশিরভাগ সময় CSS দিয়ে কাস্টমাইজ করা হয়। MDL এর ডিফল্ট স্টাইলগুলো সাধারণত ভালো, কিন্তু আপনি চাইলে সেগুলো পরিবর্তন করতে পারেন। MDL সিএসএস ক্লাসগুলোর মাধ্যমে আপনি বাটন, কার্ড, টেবিল, টেক্সট ফিল্ড, এবং অন্যান্য উপাদানগুলোর স্টাইলিং পরিবর্তন করতে পারেন।
উদাহরণ: MDL বাটনের রঙ পরিবর্তন
/* MDL Button এর ব্যাকগ্রাউন্ড রঙ পরিবর্তন */
.mdl-button--colored {
background-color: #4caf50; /* গা green ় রঙ */
color: white; /* বাটনের টেক্সট রঙ সাদা */
}
এটি mdl-button--colored ক্লাসের মাধ্যমে একটি সবুজ রঙের বাটন তৈরি করবে। আপনি আপনার পছন্দ অনুযায়ী রঙ পরিবর্তন করতে পারেন।
উদাহরণ: MDL Card এর শ্যাডো পরিবর্তন
/* MDL Card এর শ্যাডো পরিবর্তন */
.mdl-card {
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
}
এটি mdl-card কম্পোনেন্টের শ্যাডো পরিবর্তন করে একটি গভীর এবং স্পষ্ট শ্যাডো তৈরি করবে।
২. JavaScript কাস্টমাইজেশন
MDL অনেক কার্যকরী ফিচার এবং ইন্টারঅ্যাকশন JavaScript দিয়ে পরিচালনা করে, যেমন Ripple Effect, Modal Dialogs, Side Navigation, এবং Dropdown Menus। আপনি MDL এর জাভাস্ক্রিপ্ট কোড কাস্টমাইজ করে ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারেন।
উদাহরণ: MDL Modal Dialog কাস্টমাইজ করা
<!-- Modal Trigger -->
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" id="showModal">
Show Modal
</button>
<!-- Modal -->
<dialog class="mdl-dialog" id="myModal">
<h4 class="mdl-dialog__title">Welcome to MDL</h4>
<div class="mdl-dialog__content">
<p>This is an MDL Modal example.</p>
</div>
<div class="mdl-dialog__actions">
<button type="button" class="mdl-button mdl-js-button mdl-button--raised" id="closeModal">Close</button>
</div>
</dialog>
<!-- MDL JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.js"></script>
<script>
var modal = document.querySelector('#myModal');
var showModalButton = document.querySelector('#showModal');
var closeModalButton = document.querySelector('#closeModal');
showModalButton.addEventListener('click', function() {
modal.showModal();
});
closeModalButton.addEventListener('click', function() {
modal.close();
});
</script>
এখানে:
- dialog: এটি MDL এর Modal Dialog তৈরি করতে ব্যবহৃত হয়।
- showModal() এবং close(): MDL modal dialog এর প্রদর্শন এবং বন্ধ করার জন্য ব্যবহৃত JavaScript ফাংশন।
এটি একটি সিম্পল Modal Dialog তৈরি করবে, যেখানে Show Modal বাটনে ক্লিক করলে একটি modal প্রদর্শিত হবে এবং Close বাটনে ক্লিক করলে এটি বন্ধ হবে।
৩. MDL কম্পোনেন্ট কাস্টমাইজেশন
MDL-এ কিছু কম্পোনেন্ট কাস্টমাইজেশন করা যায়, যেমন Side Navigation, Dropdown Menus, Tabs, Cards ইত্যাদি। এই কম্পোনেন্টগুলো MDL এর ক্লাস এবং JavaScript এর মাধ্যমে কাস্টমাইজ করা যায়।
উদাহরণ: MDL Tabs কাস্টমাইজেশন
<!-- Tabs -->
<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect">
<div class="mdl-tabs__tab-bar">
<a href="#tab1" class="mdl-tabs__tab is-active">Tab 1</a>
<a href="#tab2" class="mdl-tabs__tab">Tab 2</a>
<a href="#tab3" class="mdl-tabs__tab">Tab 3</a>
</div>
<div class="mdl-tabs__panel is-active" id="tab1">
<p>Content for Tab 1</p>
</div>
<div class="mdl-tabs__panel" id="tab2">
<p>Content for Tab 2</p>
</div>
<div class="mdl-tabs__panel" id="tab3">
<p>Content for Tab 3</p>
</div>
</div>
<!-- MDL JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.js"></script>
এখানে:
- mdl-tabs: এটি MDL এর Tabs কম্পোনেন্ট তৈরি করতে ব্যবহৃত হয়।
- mdl-tabs__tab: প্রতিটি ট্যাবের জন্য ক্লাস।
- mdl-tabs__panel: প্রতিটি ট্যাবের কন্টেন্ট প্যানেল।
এটি তিনটি ট্যাব তৈরি করবে, যেখানে প্রতিটি ট্যাবের সাথে কন্টেন্ট থাকবে। MDL-এ ট্যাবের পরিবর্তন এবং কন্টেন্ট JavaScript এর মাধ্যমে ডাইনামিকভাবে পরিচালনা করা যায়।
MDL কাস্টমাইজেশন এর মূল বৈশিষ্ট্য
MDL এর কাস্টমাইজেশন আপনাকে আপনার ওয়েবসাইট বা অ্যাপ্লিকেশনের ডিজাইন এবং কার্যকারিতা নিয়ন্ত্রণ করতে সহায়তা করে। কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য হলো:
১. CSS ক্লাস ব্যবহার
MDL এর মাধ্যমে আপনি সহজেই বাটন, টেক্সট ফিল্ড, কার্ড, মেনু ইত্যাদির রঙ, আকার, শ্যাডো, প্যাডিং এবং অন্যান্য বৈশিষ্ট্য পরিবর্তন করতে পারবেন।
২. JavaScript ইন্টারঅ্যাকশন
MDL এর জাভাস্ক্রিপ্ট কম্পোনেন্ট ব্যবহার করে আপনি ইন্টারঅ্যাকটিভ ফিচারগুলো কাস্টমাইজ করতে পারেন। যেমন, modals, dropdown menus, tabs, dialogs ইত্যাদি।
৩. রেসপন্সিভ ডিজাইন
MDL-এ ডিফল্টভাবে রেসপন্সিভ ডিজাইন রয়েছে, তবে আপনি CSS এবং JavaScript ব্যবহার করে এর ডিজাইন এবং কার্যকারিতা আরও কাস্টমাইজ করতে পারবেন।
সারাংশ
Material Design Lite (MDL) একটি হালকা এবং সহজ ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক যা গুগলের Material Design নীতির উপর ভিত্তি করে তৈরি। MDL এর Customization Options ব্যবহার করে আপনি CSS, JavaScript এবং MDL কম্পোনেন্টের মাধ্যমে আপনার ওয়েবসাইট বা অ্যাপ্লিকেশনের ডিজাইন এবং কার্যকারিতা কাস্টমাইজ করতে পারেন। আপনি বাটন, ট্যাব, মেনু, টেক্সট ফিল্ড, কার্ড এবং অন্যান্য উপাদানের রঙ, আকার, শ্যাডো এবং ফাংশনালিটি পরিবর্তন করতে পারেন, যা আপনার ডিজাইনকে আরও ইউনিক এবং আকর্ষণীয় করে তোলে। MDL-এ কাস্টমাইজেশন খুবই সহজ এবং ব্যবহারকারী বান্ধব, যা আপনাকে একটি আধুনিক এবং সুন্দর ওয়েবসাইট তৈরি করতে সহায়তা করে।
Material Design Lite (MDL) একটি সহজ, লাইটওয়েট ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক যা গুগলের Material Design নীতির উপর ভিত্তি করে তৈরি। MDL এর ব্যবহারকারীর ইন্টারফেস কম্পোনেন্টগুলোর একটি বড় সুবিধা হলো এগুলোর কাস্টমাইজেশন ক্ষমতা। আপনি MDL কম্পোনেন্টে Custom CSS যোগ করে ডিজাইন পরিবর্তন করতে পারবেন, যেমন color, size, spacing এবং layout ইত্যাদি। এই টিউটোরিয়ালে আমরা দেখব কিভাবে MDL কম্পোনেন্টে custom CSS যোগ করা এবং MDL components override করা যায়।
MDL Components কাস্টমাইজেশন
MDL-এর কম্পোনেন্টগুলো একেবারে সহজে কাস্টমাইজ করা যায়। MDL সাধারণত CSS এর মাধ্যমে কম্পোনেন্টের স্টাইল দেয়, যার ফলে আপনি সহজেই CSS ব্যবহার করে MDL এর ডিজাইন এবং ফিচার কাস্টমাইজ করতে পারবেন।
MDL Button কাস্টমাইজ করা
MDL-এর Button কম্পোনেন্ট কাস্টমাইজ করতে হলে, আপনি CSS ব্যবহার করে এর আকার, রঙ, বা শ্যাডো পরিবর্তন করতে পারবেন।
উদাহরণ: Button কাস্টমাইজেশন
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored">
Click Me
</button>
<!-- Custom CSS -->
<style>
.mdl-button {
background-color: #4caf50; /* Green background */
border-radius: 12px; /* Rounded corners */
}
.mdl-button--colored {
color: white; /* Text color */
}
</style>
ব্যাখ্যা:
- background-color: বাটনের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করতে ব্যবহৃত হয়েছে।
- border-radius: বাটনের কোণগুলো রাউন্ড করা হয়েছে।
- color: বাটনের টেক্সটের রঙ পরিবর্তন করা হয়েছে।
এই কাস্টম CSS-এ বাটনের ডিজাইন সম্পূর্ণভাবে কাস্টমাইজ করা হয়েছে, যেমন রঙ এবং কোণগুলো পরিবর্তন করা।
MDL Card কাস্টমাইজেশন
MDL Card কম্পোনেন্টও CSS ব্যবহার করে কাস্টমাইজ করা যায়। কার্ডের রঙ, শ্যাডো এবং অন্যান্য স্টাইল সহজেই পরিবর্তন করা সম্ভব।
উদাহরণ: Card কাস্টমাইজেশন
<div class="mdl-card mdl-shadow--2dp">
<div class="mdl-card__title">
<h2 class="mdl-card__title-text">My Custom Card</h2>
</div>
<div class="mdl-card__supporting-text">
This is a customized card.
</div>
<div class="mdl-card__actions">
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored">Action</button>
</div>
</div>
<!-- Custom CSS -->
<style>
.mdl-card {
background-color: #f5f5f5; /* Card background color */
border-radius: 8px; /* Rounded corners */
}
.mdl-card__title {
background-color: #3f51b5; /* Card title background color */
}
.mdl-card__title-text {
color: white; /* Title text color */
}
.mdl-card__supporting-text {
color: #212121; /* Supporting text color */
}
.mdl-card__actions .mdl-button {
background-color: #ff5722; /* Action button background color */
}
</style>
ব্যাখ্যা:
- background-color: কার্ডের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করা হয়েছে।
- border-radius: কোণগুলো রাউন্ড করা হয়েছে।
- color: টেক্সটের রঙ পরিবর্তন করা হয়েছে।
- mdl-card__actions .mdl-button: এখানে Action Button-এর জন্য আলাদা রঙ সেট করা হয়েছে।
এটি একটি customized MDL card, যেখানে card title এবং action button এর রঙ পরিবর্তন করা হয়েছে।
MDL Components Override করা
MDL-এ আপনি যদি কোনো ডিফল্ট স্টাইল পরিবর্তন করতে চান, তবে CSS specificity এবং override ব্যবহার করতে হবে। আপনি MDL কম্পোনেন্টের ডিফল্ট স্টাইলকে পরাভূত করতে পারবেন যদি আপনি আপনার CSS সঠিকভাবে লিখেন।
উদাহরণ: MDL Button এর Default Style Override
MDL-এ ডিফল্ট বাটন স্টাইল পরিবর্তন করার জন্য আপনি কাস্টম CSS ব্যবহার করতে পারেন।
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored">
Default Button
</button>
<!-- Custom CSS to override MDL button style -->
<style>
.mdl-button {
background-color: #e91e63 !important; /* Override the default color */
color: white !important; /* Override the default text color */
}
</style>
ব্যাখ্যা:
- !important: এই চিহ্নটি CSS কোডে ব্যবহৃত হয় যখন আপনি ডিফল্ট স্টাইলকে ওভাররাইড করতে চান। এটি CSS এর specificity কে উপেক্ষা করে আপনার কাস্টম স্টাইল প্রয়োগ করতে সহায়তা করে।
- background-color: বাটনের ডিফল্ট ব্যাকগ্রাউন্ড রঙ পরিবর্তন করা হয়েছে।
এটি MDL বাটনের ডিফল্ট রঙ পরিবর্তন করবে এবং আপনার কাস্টম রঙ প্রযোজ্য হবে।
MDL এর Customization এর জন্য কিছু Tips
- CSS Specificity: MDL এর ডিফল্ট স্টাইল কাস্টমাইজ করার সময় আপনাকে CSS specificity বুঝতে হবে। !important ব্যবহারের মাধ্যমে আপনি ডিফল্ট স্টাইলকে অতিক্রম করতে পারেন।
- Custom Themes: MDL-এর CSS ফাইলের মধ্যে আপনি theme colors এবং অন্যান্য স্টাইল সেট করতে পারেন।
- MDL Documentation: MDL এর ডকুমেন্টেশনটি পড়ে আপনি জানবেন কোন ক্লাসগুলো কাস্টমাইজ করার জন্য প্রযোজ্য এবং কোনটিকে আপনার কাস্টম স্টাইল দিয়ে ওভাররাইড করা যেতে পারে।
সারাংশ
Material Design Lite (MDL) এর কম্পোনেন্টগুলো কাস্টমাইজ করা এবং স্টাইল ওভাররাইড করা খুবই সহজ। আপনি MDL এর Button, Card, Textfield, এবং অন্যান্য UI উপাদানে custom CSS যোগ করে ডিজাইন পরিবর্তন করতে পারেন। MDL-এর ডিফল্ট স্টাইল সহজেই CSS এর মাধ্যমে কাস্টমাইজ করা যায় এবং CSS specificity এবং !important ব্যবহার করে আপনি সহজেই ডিফল্ট স্টাইলকে ওভাররাইড করতে পারবেন। MDL আপনাকে একটি আধুনিক এবং ইউজার-বান্ধব ডিজাইন তৈরি করার জন্য প্রয়োজনীয় সব কাস্টমাইজেশন সুবিধা প্রদান করে।
Material Design Lite (MDL) গুগলের Material Design নীতির উপর ভিত্তি করে একটি হালকা এবং সহজ ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক। MDL ব্যবহার করে আপনি আপনার ওয়েবসাইটের থিম কাস্টমাইজ করতে পারেন, যার মাধ্যমে আপনি রঙ, ফন্ট, বাটন এবং অন্যান্য উপাদানগুলির স্টাইল কাস্টমাইজ করতে পারবেন। MDL আপনাকে থিম তৈরি করার জন্য বিভিন্ন বিকল্প প্রদান করে, যা আপনাকে আপনার ওয়েবসাইটের ডিজাইন আরও ব্যক্তিগতকৃত এবং আকর্ষণীয় করতে সহায়তা করবে।
এই টিউটোরিয়ালে, আমরা দেখব কিভাবে MDL থিম কাস্টমাইজ করা যায় এবং কাস্টম থিম তৈরি করা যায়।
MDL থিম কাস্টমাইজেশন
MDL-এ থিম কাস্টমাইজ করার জন্য প্রধানত CSS ব্যবহার করা হয়। MDL এর প্রাক-নির্ধারিত থিমগুলো ব্যবহার করা যেতে পারে বা আপনি কাস্টম থিম তৈরি করতে পারেন। MDL থিম কাস্টমাইজ করার কিছু সাধারণ পদ্ধতি হলো:
১. প্রাথমিক রঙ পরিবর্তন
MDL-এ বিভিন্ন রঙের স্কিম রয়েছে, এবং আপনি সেগুলি পরিবর্তন করে আপনার ওয়েবসাইটের ডিজাইন কাস্টমাইজ করতে পারেন। CSS ব্যবহার করে আপনি প্রাথমিক রঙ, ব্যাকগ্রাউন্ড রঙ, টেক্সট রঙ, এবং অন্যান্য উপাদানগুলির রঙ পরিবর্তন করতে পারেন।
উদাহরণ: থিম রঙ কাস্টমাইজেশন
/* প্রাথমিক রঙ পরিবর্তন */
body {
background-color: #f5f5f5; /* লাইট গ্রে ব্যাকগ্রাউন্ড */
}
.mdl-button--colored {
background-color: #4CAF50; /* সব বাটনের জন্য গা-green রঙ */
}
.mdl-layout__header {
background-color: #2196F3; /* হেডারের জন্য নীল রঙ */
}
.mdl-navigation__link {
color: #ffffff; /* ন্যাভিগেশন লিঙ্কের জন্য সাদা রঙ */
}
এখানে, আমরা বিভিন্ন উপাদানের জন্য ব্যাকগ্রাউন্ড রঙ, বাটনের রঙ, এবং ন্যাভিগেশন লিঙ্কের রঙ পরিবর্তন করেছি।
২. ফন্ট কাস্টমাইজেশন
MDL ব্যবহার করে আপনি আপনার ওয়েবসাইটের জন্য কাস্টম ফন্ট ব্যবহার করতে পারেন। MDL ডিফল্টভাবে Roboto ফন্ট ব্যবহার করে, কিন্তু আপনি চাইলে Google Fonts থেকে অন্য কোনো ফন্ট ব্যবহার করতে পারেন।
উদাহরণ: কাস্টম ফন্ট ব্যবহার
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Open Sans', sans-serif;
}
</style>
এখানে, আমরা Open Sans ফন্ট ব্যবহার করেছি, যা Google Fonts থেকে লোড করা হয়েছে।
৩. বাটন স্টাইল কাস্টমাইজেশন
MDL এর বাটনগুলির স্টাইল পরিবর্তন করে আপনি আপনার ওয়েবসাইটের বাটনের আকার, রঙ এবং স্টাইল কাস্টমাইজ করতে পারেন।
উদাহরণ: কাস্টম বাটন স্টাইল
.mdl-button {
border-radius: 50px; /* বাটনের কোণের সোজা প্রান্ত পরিবর্তন */
padding: 12px 20px; /* বাটনের প্যাডিং বৃদ্ধি */
}
.mdl-button--raised {
background-color: #FF4081; /* Raised বাটনের জন্য পিঙ্ক রঙ */
color: white;
}
.mdl-button--colored {
background-color: #6200EE; /* কালার্ড বাটনের জন্য বেগুনি রঙ */
}
এটি বাটনের আকার এবং রঙ কাস্টমাইজ করতে সাহায্য করবে।
কাস্টম থিম তৈরি করা
MDL-এ কাস্টম থিম তৈরি করতে হলে, আপনাকে Custom CSS এবং SASS (যদি ব্যবহার করেন) ব্যবহার করে থিম ডিজাইন করতে হবে। MDL এর কাস্টম থিম তৈরি করার সময় আপনাকে বেশ কিছু মূল উপাদান কাস্টমাইজ করতে হতে পারে যেমন: বাটন, ট্যাব, স্লাইডার, কন্টেইনার ইত্যাদি।
১. SASS ব্যবহার করে থিম তৈরি
MDL এর জন্য আপনি SASS ব্যবহার করে কাস্টম থিম তৈরি করতে পারেন। MDL-এ variables ব্যবহার করে সহজে থিম কাস্টমাইজ করা যায়। MDL SASS ফাইলগুলি ডাউনলোড করে এবং সেগুলি আপনার প্রজেক্টে ইন্টিগ্রেট করে কাজ করতে পারেন।
উদাহরণ: SASS ফাইল ব্যবহার
// _variables.scss
$primary-color: #2196F3; /* আপনার প্রাথমিক রঙ */
$secondary-color: #4CAF50; /* আপনার সেকেন্ডারি রঙ */
@mixin mdl-button {
background-color: $primary-color;
color: white;
padding: 10px 20px;
border-radius: 4px;
}
// _custom-theme.scss
@import "variables";
button {
@include mdl-button;
}
এটি আপনাকে কাস্টম থিমের জন্য primary-color এবং secondary-color পরিবর্তন করতে সহায়তা করবে। এরপর আপনি কাস্টম থিম ফাইলটি আপনার HTML পেজে লিঙ্ক করে সেটি ব্যবহার করতে পারবেন।
২. Custom CSS Theme
MDL-এ আপনি সাধারণ CSS ব্যবহার করেও কাস্টম থিম তৈরি করতে পারেন। আপনি MDL এর বেস স্টাইলগুলো নিয়ে পরিবর্তন করে আপনার ডিজাইন পছন্দ মতো সাজাতে পারেন।
উদাহরণ: Custom CSS থিম
/* Custom Theme */
body {
background-color: #fafafa; /* হালকা গ্রে ব্যাকগ্রাউন্ড */
}
.mdl-button--raised {
background-color: #009688; /* Raised বাটনের জন্য টারকয়েজ রঙ */
color: white;
border-radius: 8px;
}
.mdl-tabs__tab-bar {
background-color: #009688; /* ট্যাব বার কালার */
}
.mdl-card {
background-color: #ffffff; /* কার্ডের ব্যাকগ্রাউন্ড রঙ */
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* কার্ডের শ্যাডো */
}
এটি একটি সিম্পল কাস্টম থিম তৈরি করবে, যেখানে বিভিন্ন উপাদানের রঙ এবং শ্যাডো কাস্টমাইজ করা হয়েছে।
MDL থিম কাস্টমাইজেশনের সুবিধা
- ব্যক্তিগতকৃত ডিজাইন: MDL আপনাকে সম্পূর্ণ কাস্টম থিম তৈরি করার সুবিধা দেয়, যার মাধ্যমে আপনি আপনার ওয়েবসাইটের ডিজাইন আপনার ব্র্যান্ডের সাথে মানানসই করতে পারেন।
- সহজ কাস্টমাইজেশন: MDL এর CSS এবং SASS ব্যবহার করে সহজেই থিম কাস্টমাইজ করা যায়।
- রেসপন্সিভ ডিজাইন: MDL থিম কাস্টমাইজ করলে ওয়েবসাইটটি মোবাইল, ট্যাবলেট এবং ডেস্কটপে একসাথে সঠিকভাবে প্রদর্শিত হবে।
- সহজ ইন্টিগ্রেশন: MDL থিম সহজেই আপনার ওয়েবসাইটের সঙ্গে ইন্টিগ্রেট করা যায়, এবং এর কাস্টমাইজেশন খুবই সরল।
সারাংশ
Material Design Lite (MDL) এর মাধ্যমে আপনি সহজেই কাস্টম থিম তৈরি করতে পারেন এবং আপনার ওয়েবসাইটের ডিজাইনকে আরও ব্যক্তিগতকৃত করতে পারেন। MDL থিম কাস্টমাইজেশন আপনার ওয়েবসাইটের জন্য সঠিক রঙ, ফন্ট, বাটন এবং অন্যান্য UI উপাদান কাস্টমাইজ করতে সহায়তা করে। আপনি CSS এবং SASS ব্যবহার করে MDL থিম কাস্টমাইজ করতে পারেন, যা আপনার ডিজাইনের মধ্যে এক্সট্রা সৃজনশীলতা যোগ করবে।
Material Design Lite (MDL) একটি লাইটওয়েট এবং ইউজার-বান্ধব ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক যা গুগলের Material Design নীতির ওপর ভিত্তি করে তৈরি। MDL-এর কম্পোনেন্টগুলো সাধারণত CSS এবং HTML এর মাধ্যমে স্ট্যাটিকভাবে কাজ করে, তবে JavaScript ব্যবহার করে আপনি MDL এর কম্পোনেন্টগুলোকে dynamic (ইন্টারঅ্যাকটিভ) করতে পারেন। এই টিউটোরিয়ালে, আমরা দেখব কিভাবে JavaScript ব্যবহার করে MDL কম্পোনেন্টগুলোকে ডায়নামিক করা যায়, যেমন ট্যাবস, মেনু, ডায়ালগ, এবং অন্যান্য কম্পোনেন্ট।
MDL কম্পোনেন্টগুলোর সাথে JavaScript ব্যবহার করা
১. MDL Tabs ডায়নামিকভাবে তৈরি করা
MDL-এ Tabs কম্পোনেন্ট ব্যবহার করে আপনি একটি UI তে কন্টেন্ট বিভিন্ন সেকশনে ভাগ করতে পারেন। JavaScript ব্যবহার করে আপনি Tabs এর মধ্যে কন্টেন্ট পরিবর্তন করতে পারেন।
উদাহরণ: MDL Tabs ডায়নামিকভাবে তৈরি করা
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MDL Tabs Dynamic</title>
<!-- MDL CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.css">
</head>
<body>
<!-- MDL Tabs -->
<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect">
<div class="mdl-tabs__tab-bar" id="tabs-bar">
<a href="#tab1" class="mdl-tabs__tab is-active">Tab 1</a>
<a href="#tab2" class="mdl-tabs__tab">Tab 2</a>
<a href="#tab3" class="mdl-tabs__tab">Tab 3</a>
</div>
<div class="mdl-tabs__panel is-active" id="tab1">
<h4>Content for Tab 1</h4>
<p>This is the content for the first tab.</p>
</div>
<div class="mdl-tabs__panel" id="tab2">
<h4>Content for Tab 2</h4>
<p>This is the content for the second tab.</p>
</div>
<div class="mdl-tabs__panel" id="tab3">
<h4>Content for Tab 3</h4>
<p>This is the content for the third tab.</p>
</div>
</div>
<!-- MDL JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.js"></script>
<script>
// Dynamically add a new tab and panel
var tabsBar = document.getElementById('tabs-bar');
var newTab = document.createElement('a');
newTab.classList.add('mdl-tabs__tab');
newTab.href = '#tab4';
newTab.innerText = 'Tab 4';
tabsBar.appendChild(newTab);
var newPanel = document.createElement('div');
newPanel.classList.add('mdl-tabs__panel');
newPanel.id = 'tab4';
newPanel.innerHTML = '<h4>Content for Tab 4</h4><p>This is the content for the fourth tab.</p>';
document.querySelector('.mdl-tabs').appendChild(newPanel);
// Initialize MDL components
componentHandler.upgradeDom();
</script>
</body>
</html>
ব্যাখ্যা:
- componentHandler.upgradeDom(): এটি MDL এর JavaScript কোডের মাধ্যমে নতুন কম্পোনেন্ট (যেমন ট্যাব) কে ডাইনামিকভাবে আপডেট করতে ব্যবহৃত হয়।
- document.createElement: এই ফাংশনটি HTML এ নতুন ট্যাব এবং প্যানেল তৈরি করতে ব্যবহৃত হয়।
এখানে JavaScript ব্যবহার করে একটি নতুন Tab এবং তার সম্পর্কিত Tab Panel যোগ করা হয়েছে।
২. MDL Dialog Dynamic Create করা
MDL-এ Dialog (ডায়ালগ) কম্পোনেন্ট ব্যবহার করে আপনি একটি পপ-আপ উইন্ডো তৈরি করতে পারেন, যা ব্যবহারকারীর ইনপুট গ্রহণ করে অথবা কোনো তথ্য প্রদর্শন করতে পারে। আপনি JavaScript ব্যবহার করে Dialog কে ডায়নামিকভাবে ট্রিগার বা কন্ট্রোল করতে পারেন।
উদাহরণ: MDL Dialog Dynamic Create করা
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MDL Dialog Dynamic</title>
<!-- MDL CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.css">
</head>
<body>
<!-- Trigger Button -->
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" id="showDialogButton">
Open Dialog
</button>
<!-- Dialog -->
<dialog class="mdl-dialog" id="myDialog">
<h4 class="mdl-dialog__title">Dialog Title</h4>
<div class="mdl-dialog__content">
<p>This is a dynamically created dialog.</p>
</div>
<div class="mdl-dialog__actions">
<button class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored" type="button" id="closeDialogButton">Close</button>
</div>
</dialog>
<!-- MDL JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.js"></script>
<script>
var dialog = document.getElementById('myDialog');
var showDialogButton = document.getElementById('showDialogButton');
var closeDialogButton = document.getElementById('closeDialogButton');
showDialogButton.addEventListener('click', function() {
dialog.showModal(); // Show dialog
});
closeDialogButton.addEventListener('click', function() {
dialog.close(); // Close dialog
});
// Upgrade MDL components
componentHandler.upgradeDom();
</script>
</body>
</html>
ব্যাখ্যা:
- showModal(): ডায়ালগ উইন্ডো প্রদর্শন করতে ব্যবহৃত ফাংশন।
- close(): ডায়ালগ উইন্ডো বন্ধ করতে ব্যবহৃত ফাংশন।
- componentHandler.upgradeDom(): নতুন ডায়ালগ বা কোনো MDL কম্পোনেন্টের কার্যকারিতা সঠিকভাবে অ্যাক্টিভ করতে ব্যবহৃত হয়।
এখানে JavaScript ব্যবহার করে একটি dynamic dialog তৈরি এবং কন্ট্রোল করা হয়েছে।
৩. MDL Menu Dynamic তৈরি করা
MDL Menu কম্পোনেন্ট ব্যবহার করে আপনি ড্রপডাউন মেনু তৈরি করতে পারেন, যা বিভিন্ন অপশন প্রদর্শন করে। JavaScript ব্যবহার করে আপনি মেনু তৈরি, কাস্টমাইজ এবং ডায়নামিকভাবে কন্ট্রোল করতে পারেন।
উদাহরণ: MDL Menu Dynamic তৈরি করা
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MDL Menu Dynamic</title>
<!-- MDL CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.css">
</head>
<body>
<!-- Menu Trigger Button -->
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" id="menuButton">
Open Menu
</button>
<!-- Menu -->
<ul class="mdl-menu mdl-js-menu mdl-menu--bottom-left" for="menuButton" id="dynamicMenu">
<li class="mdl-menu__item">Option 1</li>
<li class="mdl-menu__item">Option 2</li>
<li class="mdl-menu__item">Option 3</li>
</ul>
<!-- MDL JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.js"></script>
<script>
// Dynamically create and append menu items
var menu = document.getElementById('dynamicMenu');
var newMenuItem = document.createElement('li');
newMenuItem.classList.add('mdl-menu__item');
newMenuItem.textContent = 'Option 4';
menu.appendChild(newMenuItem);
// Initialize MDL components
componentHandler.upgradeDom();
</script>
</body>
</html>
ব্যাখ্যা:
- mdl-menu: এটি MDL মেনু কম্পোনেন্টের জন্য ব্যবহৃত ক্লাস।
- componentHandler.upgradeDom(): MDL এর নতুন উপাদান এবং কম্পোনেন্টকে সক্রিয় করতে ব্যবহৃত হয়।
এটি JavaScript ব্যবহার করে dynamic menu তৈরি করার একটি উদাহরণ যেখানে নতুন মেনু আইটেম যোগ করা হয়েছে।
সারাংশ
Material Design Lite (MDL) ব্যবহার করে dynamic components তৈরি করা খুবই সহজ এবং ইন্টারঅ্যাকটিভ। JavaScript ব্যবহার করে আপনি MDL এর বিভিন্ন কম্পোনেন্ট যেমন Tabs, Dialogs, এবং Menus ডায়নামিকভাবে তৈরি এবং কাস্টমাইজ করতে পারেন। MDL এর componentHandler.upgradeDom() ব্যবহার করে নতুন কম্পোনেন্টগুলি সক্রিয় করা হয়, যা সিস্টেমের কার্যকারিতা বজায় রাখে। JavaScript এর মাধ্যমে MDL কম্পোনেন্টগুলোর কার্যকারিতা এবং লেআউট আরও উন্নত এবং ইন্টারঅ্যাকটিভ করা যায়, যা ব্যবহারকারীদের একটি উন্নত অভিজ্ঞতা প্রদান করে।
Read more