HTML stands for HyperText Markup Language. It is the standard language used to create and structure web pages on the internet.
HTML is not a programming language; it is a markup language that uses tags to define elements like headings, paragraphs, links, images, tables, forms, and more.
It forms the skeleton or basic structure of every webpage. Web browsers read HTML code and display the content accordingly.
In summary, HTML is the foundation of every website. Without HTML, we cannot build web pages.

HTML এর পূর্ণরূপ হলো HyperText Markup Language। এটি একটি স্ট্যান্ডার্ড মার্কআপ ভাষা, যেটি ব্যবহার করে আমরা ওয়েবপেজ তৈরি ও গঠন করি।
HTML কোনো প্রোগ্রামিং ভাষা নয়, এটি একটি markup language, যেখানে ট্যাগ ব্যবহার করে ওয়েব কনটেন্ট যেমন হেডিং, প্যারাগ্রাফ, লিংক, ছবি, ফর্ম ইত্যাদি তৈরি করা হয়।
HTML মূলত একটি ওয়েবপেজের স্ট্রাকচার তৈরি করে। ওয়েব ব্রাউজার HTML কোড পড়ে এবং সেই অনুযায়ী কনটেন্ট দেখায়।
সংক্ষেপে, HTML ছাড়া ওয়েবপেজ তৈরি করা সম্ভব নয়। এটি প্রতিটি ওয়েবসাইটের মূল ভিত্তি।
There are several important differences between HTML4 and HTML5. Here are the key ones:
🔹 Doctype Declaration: HTML4 has a long and complex doctype, but HTML5 uses a very simple one: `<!DOCTYPE html>`.
🔹 New Semantic Elements: HTML5 introduced many new semantic elements like `header`, `footer`, `article`, `section`, which help to create more meaningful and well-structured pages. These were not available in HTML4.
🔹 Multimedia Support: HTML5 supports audio and video using `audio` and `video` tags directly, without the need for external plugins like Flash. HTML4 didn’t have this feature.
🔹 Form Enhancements: HTML5 added new input types like `email`, `date`, `number`, and built-in validation features. HTML4 only had basic input types like `text` and `password`.
🔹 APIs and Features: HTML5 supports new APIs such as Geolocation API, Web Storage, Canvas for 2D graphics, and Drag-and-Drop. HTML4 does not support these.
🔹 Mobile Friendly: HTML5 is designed with modern devices and mobile compatibility in mind. HTML4 is more desktop-oriented.
So, overall, HTML5 is more powerful, flexible, and user-friendly than HTML4.

HTML4 এবং HTML5 এর মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য আছে। নিচে প্রধান পার্থক্যগুলো বলছি:
🔹 Doctype ঘোষণা: HTML4 এর Doctype অনেক বড় ও জটিল, কিন্তু HTML5 এ শুধু `<!DOCTYPE html>` লিখলেই হয়।
🔹 নতুন Semantic ট্যাগ: HTML5 এ `header`, `footer`, `article`, `section` এর মতো অনেক নতুন ট্যাগ এসেছে, যেগুলো দিয়ে ওয়েবপেজ আরও গঠনমূলকভাবে লেখা যায়। HTML4 এ এসব ট্যাগ ছিল না।
🔹 মাল্টিমিডিয়া সাপোর্ট: HTML5 এ সরাসরি `audio` এবং `video` ট্যাগ ব্যবহার করে অডিও-ভিডিও চালানো যায়, কোনো প্লাগইন ছাড়া। HTML4 এ এভাবে সাপোর্ট ছিল না।
🔹 ফর্মের উন্নয়ন: HTML5 এ `email`, `date`, `number` এর মতো নতুন ইনপুট টাইপ এসেছে এবং বিল্ট-ইন ভ্যালিডেশনও আছে। HTML4 এ শুধু `text`, `password` এর মতো বেসিক টাইপ ছিল।
🔹 নতুন API এবং ফিচার: HTML5 এ Geolocation API, Web Storage, Canvas, Drag-and-Drop ইত্যাদি ফিচার যুক্ত হয়েছে। HTML4 এ এগুলো ছিল না।
🔹 মোবাইল ফ্রেন্ডলি: HTML5 ডিজাইন করা হয়েছে মোবাইল ও মডার্ন ডিভাইস মাথায় রেখে। HTML4 ছিল মূলত ডেস্কটপ ভিত্তিক।
সারসংক্ষেপে, HTML5 হচ্ছে আরও শক্তিশালী, ফিচার-রিচ এবং ব্যবহার বান্ধব ভার্সন।
Semantic tags in HTML are tags that clearly describe the meaning or purpose of the content inside them. They make the structure of a web page more readable for both developers and browsers, including screen readers and search engines.
Instead of using generic tags like `<div>` or `<span>` for everything, semantic tags tell what the content is about. This improves accessibility, SEO, and code maintainability.
🔹 Examples of semantic tags:
* `<header>` – Represents the top section or header of a page.
* `<footer>` – Represents the bottom section or footer.
* `<nav>` – Represents the navigation menu.
* `<main>` – Represents the main content area of a page.
* `<article>` – Used for self-contained content like blog posts or news.
* `<section>` – Represents a section of content grouped together.
* `<aside>` – For side content, like a sidebar or ad.
So, semantic tags help in writing cleaner, more meaningful, and SEO-friendly HTML code.

Semantic ট্যাগ হচ্ছে এমন HTML ট্যাগ যেগুলো তাদের ভিতরের কনটেন্টের অর্থ বা উদ্দেশ্য স্পষ্টভাবে বোঝায়। এগুলোর মাধ্যমে কোডটা শুধু ব্রাউজার নয়, ডেভেলপার ও সার্চ ইঞ্জিনগুলোর জন্যও সহজে বোঝার মতো হয়।
আমরা যদি সব কিছু `<div>` বা `<span>` দিয়ে লিখি, তাহলে বোঝা কঠিন হয় কোনটা কী উদ্দেশ্যে লেখা। কিন্তু semantic ট্যাগ দিয়ে লিখলে কাঠামো পরিষ্কার হয়, অ্যাক্সেসিবিলিটি বাড়ে, আর SEO-তেও ভালো ফল পাওয়া যায়।
🔹 Semantic ট্যাগের কিছু উদাহরণ:
* `<header>` – পেজের টপ হেডার অংশ বোঝাতে।
* `<footer>` – নিচের ফুটার অংশের জন্য।
* `<nav>` – নেভিগেশন মেনু বোঝাতে।
* `<main>` – পেজের মূল কনটেন্টের জন্য।
* `<article>` – ব্লগ বা নিউজের মতো আলাদা কনটেন্ট বোঝাতে।
* `<section>` – একই ধরনের কনটেন্ট গ্রুপ করার জন্য।
* `<aside>` – সাইড কনটেন্ট বা সাইডবারের জন্য।
সারসংক্ষেপে, semantic ট্যাগ ব্যবহার করলে HTML কোড পরিষ্কার, অর্থবোধক ও SEO-ফ্রেন্ডলি হয়।
I will use the `<meta>` tag in HTML to provide important metadata about the web page. This metadata is not visible on the page itself but helps browsers, search engines, and social media platforms understand the page better.
Here are some key reasons to use meta tags:
🔹 Character Encoding: To specify the character set, like UTF-8, so the browser displays text correctly.
Example: `<meta charset="UTF-8">`
🔹 SEO (Search Engine Optimization): Meta tags like `description` help search engines understand the content of the page and improve visibility in search results.
Example: `<meta name="description" content="Best online fashion store for trendy clothes.">`
🔹 Responsive Design: To make the website mobile-friendly using the viewport meta tag.
Example: `<meta name="viewport" content="width=device-width, initial-scale=1.0">`
🔹 Social Media Sharing: Meta tags help control how your page appears when shared on platforms like Facebook or Twitter.
So, I use meta tags to improve browser compatibility, SEO, accessibility, and social media presentation of a web page.

আমি `<meta>` ট্যাগ ব্যবহার করি একটি ওয়েবপেজ সম্পর্কে গুরুত্বপূর্ণ তথ্য (metadata) দেয়ার জন্য, যা ব্রাউজার, সার্চ ইঞ্জিন এবং সোশ্যাল মিডিয়া প্ল্যাটফর্মকে পেজটা ভালোভাবে বুঝতে সাহায্য করে। এই তথ্য পেজে দেখা যায় না, কিন্তু পেছনে অনেক গুরুত্বপূর্ণ ভূমিকা রাখে।
কিছু প্রধান কারণ হলো:
🔹 অক্ষর এনকোডিং ঠিক করা: যাতে ব্রাউজার ঠিকভাবে লেখা দেখাতে পারে।
উদাহরণ: `<meta charset="UTF-8">`
🔹 SEO বাড়ানোর জন্য: `description` মেটা ট্যাগ দিয়ে পেজের বিষয় সার্চ ইঞ্জিনকে বোঝানো হয়, যাতে গুগলে ভালোভাবে দেখা যায়।
উদাহরণ: `<meta name="description" content="Trendy জামার অনলাইন ফ্যাশন শপ">`
🔹 মোবাইল রেসপনসিভ করার জন্য: `viewport` মেটা ট্যাগ ব্যবহার করে মোবাইল স্ক্রিনে ঠিকভাবে দেখানো যায়।
উদাহরণ: `<meta name="viewport" content="width=device-width, initial-scale=1.0">`
🔹 সোশ্যাল মিডিয়ায় শেয়ার করলে ঠিকভাবে দেখানোর জন্য: বিশেষ মেটা ট্যাগ দিয়ে ঠিকভাবে টাইটেল, ছবি ও বর্ণনা কন্ট্রোল করা যায়।
সংক্ষেপে, meta ট্যাগ ব্যবহার করলে ওয়েবসাইটের SEO, ব্রাউজার সাপোর্ট, রেসপনসিভনেস এবং সোশ্যাল শেয়ারিং সবকিছু উন্নত হয়।
In HTML and CSS, elements are rendered differently based on their display type. The main differences between `inline`, `inline-block`, and `block` elements are:
🔹 Block Elements:
* Always start on a new line.
* Take up the full width available (by default).
* You can set width, height, margin, and padding.
* Example elements: `<div>`, `<h1>`, `<p>`, `<section>`
* Display: `display: block;`
🔹 Inline Elements:
* Do not start on a new line.
* Take only as much width as needed.
* Width and height cannot be set.
* Only horizontal padding/margin works (top/bottom won’t affect layout).
* Example elements: `<span>`, `<a>`, `<strong>`, `<em>`
* Display: `display: inline;`
🔹 Inline-block Elements:
* Behaves like inline (stays in line with other content).
* But allows setting width and height like block elements.
* Useful when you want inline flow with block-like control.
* Example: Used commonly in buttons or layout boxes.
* Display: `display: inline-block;`
So, depending on the layout requirement, I use these display types accordingly.

HTML ও CSS-এ একটি এলিমেন্ট কিভাবে দেখানো হবে তা নির্ভর করে তার display type এর উপর। নিচে তিনটি display type এর মূল পার্থক্যগুলো বলছি:
🔹 Block এলিমেন্ট:
* সবসময় নতুন লাইনে শুরু হয়।
* পুরো width দখল করে।
* আপনি width, height, margin, padding সব সেট করতে পারেন।
* উদাহরণ: `<div>`, `<h1>`, `<p>`, `<section>`
* Display: `display: block;`
🔹 Inline এলিমেন্ট:
* নতুন লাইনে শুরু হয় না, লাইনের মধ্যে থাকে।
* শুধুমাত্র যতটুকু জায়গা দরকার ততটুকুই নেয়।
* width এবং height সেট করা যায় না।
* শুধুমাত্র left/right margin ও padding কাজ করে, top/bottom কাজ করে না।
* উদাহরণ: `<span>`, `<a>`, `<strong>`
* Display: `display: inline;`
🔹 Inline-block এলিমেন্ট:
* লাইনের মধ্যেই থাকে (inline এর মতো)।
* কিন্তু width, height, padding, margin ব্লকের মতো কাজ করে।
* এটি তখন ব্যবহার করি যখন ব্লক-স্টাইল কন্ট্রোল দরকার, কিন্তু ইনলাইনের মতো আচরণ চাই।
* Display: `display: inline-block;`
এই display টাইপগুলো প্রয়োজন অনুযায়ী ব্যবহার করে আমি লেআউট ডিজাইন করি।
In HTML, both attributes and properties are used to define information about elements, but they are different in how and when they are used.
🔹 Attributes:
* Attributes are written in the HTML code, inside the start tag of an element.
* They define initial values or settings for the element.
* Attributes are static and don’t change automatically after the page loads (unless changed via JavaScript).
* Example:
<input type="text" value="Jumman" disabled />
* Here, `type`, `value`, and `disabled` are attributes.
🔹 Properties:
* Properties are JavaScript-accessible representations of the current state of an element in the DOM.
* They are used after the page loads, through JavaScript, to get or update values dynamically.
* Example:
let input = document.querySelector('input');
input.value = "New Text"; // This is a property
input.disabled = false; // This changes the disabled property
So, I use attributes in the HTML markup and properties when I want to work with elements dynamically using JavaScript.

HTML-এ Attribute এবং Property দুটোই এলিমেন্ট সম্পর্কিত তথ্য দেয়, কিন্তু এদের কাজ এবং ব্যবহারের সময় ভিন্ন।
🔹 Attribute (অ্যাট্রিবিউট):
* এটি HTML ট্যাগের ভিতরে লেখা হয়।
* এলিমেন্টের প্রাথমিক মান বা কনফিগারেশন সেট করে।
* এটি স্ট্যাটিক অর্থাৎ পেজ লোডের পরে নিজে থেকে পরিবর্তন হয় না (যদি না JavaScript দিয়ে পরিবর্তন করা হয়)।
* উদাহরণ:
<input type="text" value="Jumman" disabled />
এখানে `type`, `value`, `disabled` হলো অ্যাট্রিবিউট।
🔹 Property (প্রপার্টি):
* এটি পেজ লোড হওয়ার পরে JavaScript দিয়ে ব্যবহার করা হয়।
* এটি এলিমেন্টের বর্তমান অবস্থা বোঝায়।
* প্রপার্টি ব্যবহার করে আমরা ডায়নামিকভাবে মান পড়তে বা পরিবর্তন করতে পারি।
* উদাহরণ:
let input = document.querySelector('input');
input.value = "New Text"; // এটা প্রপার্টি
input.disabled = false; // এটা দিয়েই আমরা disable বন্ধ করছি
সংক্ষেপে, attribute ব্যবহার করি যখন HTML লিখি, আর property ব্যবহার করি যখন JavaScript দিয়ে এলিমেন্টের মান পরিবর্তন করতে চাই।
In web development, the viewport is the visible area of a web page on a user’s screen. It varies depending on the device being used — for example, a desktop monitor has a large viewport, while a mobile phone has a small one.
Modern websites are responsive, meaning they adjust content and layout according to the size of the viewport.
To control this behavior, we use the viewport meta tag in the `<head>` section of HTML, like this:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
🔹 `width=device-width` sets the viewport width to match the device screen.
🔹 `initial-scale=1.0` sets the initial zoom level.
Without this tag, mobile browsers often scale and zoom the page by default, which breaks responsive design.
So, the viewport is critical for responsive web design and ensuring a consistent user experience across different screen sizes.

ওয়েব ডেভেলপমেন্টে, viewport হলো ইউজারের স্ক্রিনে যেই অংশে ওয়েবপেজ দেখা যায়, সেই দৃশ্যমান এলাকা। এটি ডিভাইস অনুযায়ী পরিবর্তিত হয় — যেমন, ডেস্কটপে বড় viewport হয়, আর মোবাইলে ছোট।
আধুনিক ওয়েবসাইটগুলো responsive, মানে তারা স্ক্রিন সাইজ অনুযায়ী কনটেন্টের লেআউট পরিবর্তন করে।
এই আচরণ কন্ট্রোল করার জন্য আমরা HTML-এর `<head>` অংশে viewport meta tag ব্যবহার করি:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
🔹 `width=device-width` ডিভাইসের স্ক্রিন অনুযায়ী ভিউপোর্টের প্রস্থ সেট করে।
🔹 `initial-scale=1.0` ওয়েবপেজের শুরুর zoom লেভেল ঠিক করে।
যদি এই ট্যাগ ব্যবহার না করি, তাহলে মোবাইল ব্রাউজার পেজকে জুম করে দেখাতে পারে, ফলে ডিজাইন ভেঙে যায়।
সারসংক্ষেপে, viewport হলো responsive design-এর ভিত্তি, যা ওয়েবসাইটকে মোবাইল, ট্যাবলেট ও ডেস্কটপে সঠিকভাবে দেখাতে সাহায্য করে।
In HTML, a hyperlink is a link that connects one page to another — either within the same website or to an external website. When a user clicks on a hyperlink, it navigates to the specified URL or resource.
To create a hyperlink in HTML, we use the `<a>` tag, which stands for anchor.
The most important attribute used with it is `href`, which stands for hyperlink reference. This defines the destination URL.
🔹 Example:
<a href="https://www.example.com">Visit Example</a>
In this example:
* `<a>` is the anchor tag.
* `href="https://www.example.com"` specifies the link destination.
* The text "Visit Example" is the clickable part of the link.
We can also use other attributes like `target="_blank"` to open the link in a new tab.
So, the anchor tag `<a>` with the `href` attribute is used to create hyperlinks in HTML.

HTML-এ Hyperlink এমন একটি লিংক, যেটি ব্যবহারকারীকে একটি পেজ থেকে অন্য পেজে, অথবা একটি সাইট থেকে অন্য সাইটে নেভিগেট করতে সাহায্য করে। ইউজার লিংকে ক্লিক করলে সেটি নির্দিষ্ট URL-এ চলে যায়।
Hyperlink তৈরি করতে আমরা `<a>` ট্যাগ ব্যবহার করি, যেটিকে anchor tag বলা হয়।
এই ট্যাগের সঙ্গে সবচেয়ে গুরুত্বপূর্ণ অ্যাট্রিবিউট হলো `href` – যার মানে hyperlink reference, অর্থাৎ লিংকের ঠিকানা।
🔹 উদাহরণ:
<a href="https://www.example.com">Visit Example</a>
এখানে:
* `<a>` হলো anchor ট্যাগ,
* `href="https://www.example.com"` হলো যেখানে ক্লিক করলে যাবে,
* "Visit Example" হলো যেটা ক্লিকযোগ্য টেক্সট।
প্রয়োজনে আমরা `target="_blank"` ব্যবহার করতে পারি, যাতে লিংকটি নতুন ট্যাবে খুলে।
সারসংক্ষেপে, HTML-এ Hyperlink তৈরি করতে আমরা `<a>` ট্যাগ এবং `href` অ্যাট্রিবিউট ব্যবহার করি।
In HTML, tags and elements are related, but they are not the same.
🔹 HTML Tag:
* A tag is a part of the HTML syntax used to define the start or end of an element.
* Tags are written using angle brackets like `<p>`, `</p>`, `<h1>`, `<div>`.
* There are two types of tags:
* Opening tag – like `<p>`
* Closing tag – like `</p>`
🔹 HTML Element:
* An element is the complete structure — including the opening tag, content, and closing tag.
* It represents the actual content on the page.
* Example:
<p>Hello World</p>
* Here, `<p>` is the opening tag,
`Hello World` is the content,
`</p>` is the closing tag,
and together they form a paragraph element.
So, in short, tags are just parts, and elements are the full building blocks of an HTML page.

HTML-এ Tag এবং Element একসাথে কাজ করে, কিন্তু তারা এক জিনিস না।
🔹 HTML Tag (ট্যাগ):
* Tag হচ্ছে HTML-এর syntax, যেটা দিয়ে কোনো এলিমেন্ট শুরু বা শেষ হয়।
* এটি angle brackets এর মধ্যে লেখা হয়, যেমন `<p>`, `</p>`, `<div>`, `<h1>`।
* Tag দুই রকমের হয়:
* Opening tag – যেমন `<p>`
* Closing tag – যেমন `</p>`
🔹 HTML Element (এলিমেন্ট):
* Element হচ্ছে পুরো গঠন – যেখানে আছে opening tag, content, এবং closing tag।
* এটি ওয়েবপেজে বাস্তব কনটেন্ট বোঝায়।
* উদাহরণ:
<p>Hello World</p>
* `<p>` হলো opening tag,
`Hello World` হলো content,
`</p>` হলো closing tag,
সব মিলিয়ে এটিই হলো একটি paragraph element।
সোজা কথায়, tag হলো গঠন করার অংশ, আর element হলো সেই গঠনটি সম্পূর্ণ।
The `<iframe>` tag in HTML is used to embed another webpage or external content into the current webpage. It acts like a window or frame inside your page, where you can display other content — such as a website, video, map, PDF, or another HTML file.
🔹 Key uses of `<iframe>`:
* Embedding a YouTube video
* Showing a Google Map
* Displaying a PDF or a login form from another domain
* Including a different HTML page inside a main page
🔹 Example:
<iframe src="https://www.example.com" width="600" height="400"></iframe>
This will show the webpage `https://www.example.com` inside a 600x400 pixel frame.
🔹 Important attributes:
* `src` – specifies the URL of the content
* `width` & `height` – define the frame size
* `title` – for accessibility
* `allowfullscreen` – allows full screen (useful for videos)
* `frameborder`, `loading`, and others for control and performance
So, the `<iframe>` tag is helpful when we want to include or display external content without redirecting the user.

HTML-এ `<iframe>` ট্যাগ ব্যবহার করা হয় একটি ওয়েবপেজের ভিতরে আরেকটি ওয়েবপেজ বা এক্সটার্নাল কনটেন্ট এমবেড করার জন্য। এটি এমন একটি ফ্রেম বা উইন্ডো তৈরি করে যেখানে অন্য সাইট বা কনটেন্ট দেখানো যায়।
🔹 `<iframe>` এর প্রধান ব্যবহার:
* YouTube ভিডিও এমবেড করা
* Google Map দেখানো
* PDF ফাইল দেখানো
* অন্য একটি HTML ফাইল বা ফর্ম ইনসার্ট করা
🔹 উদাহরণ:
<iframe src="https://www.example.com" width="600" height="400"></iframe>
এখানে `example.com` ওয়েবপেজটি 600x400 পিক্সেলের ফ্রেমে দেখাবে।
🔹 গুরুত্বপূর্ণ অ্যাট্রিবিউট:
* `src` – কোন URL দেখানো হবে
* `width`, `height` – ফ্রেমের সাইজ নির্ধারণ করে
* `title` – অ্যাক্সেসিবিলিটির জন্য
* `allowfullscreen` – ফুল স্ক্রিন করার অনুমতি দেয়
* `frameborder`, `loading` – অন্যান্য নিয়ন্ত্রণ এবং পারফরম্যান্সের জন্য
সংক্ষেপে, `<iframe>` ব্যবহার করে আমরা একই পেজে বাইরের কনটেন্ট দেখাতে পারি, ইউজারকে অন্য পেজে না নিয়েই।
`<audio>` and `<video>` These tags are used to embed audio and video files directly into a webpage without the need for external plugins like Flash. They are supported by all modern browsers.
🔹 How they work:
* The `<audio>` tag is used for adding sound or music.
* The `<video>` tag is used for embedding video content.
Both tags support several attributes to control playback:
🔸 Common attributes:
* `controls` – shows play, pause, volume controls
* `autoplay` – starts playing automatically
* `loop` – repeats the media when finished
* `muted` – starts the media in muted state
* `preload` – hints the browser about loading behavior (`auto`, `metadata`, `none`)
🔹 Example (Audio):
<audio controls>
<source src="audio.mp3" type="audio/mpeg" />
Your browser does not support the audio tag.
</audio>
🔹 Example (Video):
<video width="640" height="360" controls>
<source src="video.mp4" type="video/mp4" />
Your browser does not support the video tag.
</video>
So, using these tags allows us to add media files that are playable directly on the page, with built-in browser support.

`<audio>` এবং `<video>` এই ট্যাগগুলো দিয়ে আমরা HTML পেজে অডিও ও ভিডিও ফাইল সরাসরি এমবেড করতে পারি, কোনো এক্সটার্নাল প্লাগইন ছাড়া। সব আধুনিক ব্রাউজারে এগুলো সাপোর্ট করে।
🔹 কাজের পদ্ধতি:
* `<audio>` ট্যাগ ব্যবহার করে আমরা সাউন্ড বা মিউজিক ফাইল পেজে প্লে করাতে পারি।
* `<video>` ট্যাগ দিয়ে ভিডিও দেখাতে পারি।
উভয় ট্যাগেই কিছু অ্যাট্রিবিউট থাকে যেগুলো দিয়ে কন্ট্রোল করা যায়:
🔸 সাধারণ অ্যাট্রিবিউট:
* `controls` – প্লে, পজ, ভলিউম ইত্যাদি বাটন দেখায়
* `autoplay` – পেজ লোড হওয়ার সঙ্গে সঙ্গে চালু হয়
* `loop` – ভিডিও বা অডিও বারবার চলে
* `muted` – শুরুতেই সাইলেন্ট অবস্থায় চালু হয়
* `preload` – ব্রাউজারকে লোডিং সম্পর্কে নির্দেশ দেয়
🔹 উদাহরণ (Audio):
<audio controls>
<source src="audio.mp3" type="audio/mpeg" />
আপনার ব্রাউজার অডিও ট্যাগ সাপোর্ট করে না।
</audio>
🔹 উদাহরণ (Video):
<video width="640" height="360" controls>
<source src="video.mp4" type="video/mp4" />
আপনার ব্রাউজার ভিডিও ট্যাগ সাপোর্ট করে না।
</video>
সারসংক্ষেপে, `<audio>` ও `<video>` ট্যাগ ব্যবহার করে আমরা পেজের মধ্যে ইনবিল্ট মিডিয়া প্লেয়ার তৈরি করতে পারি, যা ইউজার ফ্রেন্ডলি এবং ডিভাইস কম্প্যাটিবল।
All four tags are used to style text, but they have different meanings and purposes — especially when it comes to semantics and accessibility.
🔹 `<b>` (Bold):
* Makes the text bold visually only.
* No extra importance or meaning is given to the text.
* It is purely stylistic.
* Example:
<b>Important Notice</b>
🔹 `<strong>` (Strong Importance):
* Makes the text bold and also gives it semantic importance.
* Screen readers emphasize this text to assist visually impaired users.
* It means the text is very important.
* Example:
<strong>Warning: This action cannot be undone.</strong>
🔹 `<i>` (Italic):
* Makes the text italic visually only.
* No emphasis or importance implied.
* Usually used for styling, technical terms, foreign words, etc.
* Example:
<i>Latin phrase: Carpe Diem</i>
🔹 `<em>` (Emphasis):
* Makes the text italic and gives it emphasis.
* Screen readers change tone to reflect the emphasis.
* It means the text should be read with stress or focus.
* Example:
<em>Do not ignore this message.</em>
So, I use `<b>` and `<i>` for visual design only, but I prefer `<strong>` and `<em>` when meaning and accessibility are important.

`<strong>`, `<b>`, `<em>`, এবং `<i>` এই চারটি ট্যাগই টেক্সটের স্টাইল পরিবর্তনের জন্য ব্যবহৃত হয়, কিন্তু এদের মধ্যে অর্থপূর্ণ (semantic) এবং দৃষ্টিনির্ভর (visual) ব্যবহারে পার্থক্য আছে।
🔹 `<b>` (Bold):
* শুধুমাত্র টেক্সট বোল্ড করে।
* এর কোন অতিরিক্ত গুরুত্ব বা মানে নেই।
* শুধু স্টাইলিং এর জন্য ব্যবহৃত হয়।
* উদাহরণ:
<b>Important Notice</b>
🔹 `<strong>` (গুরুত্বপূর্ণ):
* টেক্সট বোল্ড করে এবং বোঝায় এটি গুরুত্বপূর্ণ।
* স্ক্রিন রিডার এই টেক্সটকে আলাদা গুরুত্ব দিয়ে পড়ে।
* উদাহরণ:
<strong>Warning: This action cannot be undone.</strong>
🔹 `<i>` (Italic):
* শুধুমাত্র ইটালিক করে।
* কোনো অর্থ বা জোর বোঝায় না।
* সাধারণত বিদেশি শব্দ, টেকনিক্যাল টার্ম ইত্যাদির জন্য ব্যবহৃত হয়।
* উদাহরণ:
<i>Latin phrase: Carpe Diem</i>
🔹 `<em>` (Emphasis):
* টেক্সটকে ইটালিক করে এবং জোর দিয়ে পড়তে বলে।
* স্ক্রিন রিডার এটাকে বিশেষভাবে উচ্চারণ করে।
* উদাহরণ:
<em>Do not ignore this message.</em>
সংক্ষেপে, আমি যখন শুধুমাত্র স্টাইল দরকার তখন `<b>` বা `<i>` ব্যবহার করি, আর যখন অর্থ ও অ্যাক্সেসিবিলিটি গুরুত্বপূর্ণ, তখন `<strong>` বা `<em>` ব্যবহার করি।
In HTML, `charset` stands for character set. It defines which set of characters the browser should use to correctly display the text on a webpage.
The most commonly used charset is UTF-8, which can represent almost every character from all languages — including English, Bengali, Chinese, Arabic, symbols, emojis, and more.
🔹 Why I use it:
* To ensure special characters and multilingual content display correctly.
* To avoid encoding issues like strange symbols (�) or broken text.
* It also improves browser rendering speed, because the browser knows the encoding early.
🔹 How to use it:
You add it in the `<head>` section like this:
<meta charset="UTF-8">
This tells the browser:
“Use UTF-8 encoding for this HTML document.”
So, I always use the charset declaration to make my website universal, readable, and error-free across all devices and languages.

HTML-এ `charset` এর অর্থ হলো character set। এটি ব্রাউজারকে জানায় যে, কোন অক্ষরের কোডিং সিস্টেম ব্যবহার করে ওয়েবপেজের লেখা দেখাতে হবে।
সবচেয়ে বেশি ব্যবহৃত charset হলো UTF-8, যেটি প্রায় সব ভাষার বর্ণমালা, সংখ্যা, চিহ্ন ও ইমোজি সাপোর্ট করে — যেমন ইংরেজি, বাংলা, চাইনিজ ইত্যাদি।
🔹 আমি কেন charset ব্যবহার করি:
* যেন সব ভাষার এবং বিশেষ চিহ্ন সঠিকভাবে দেখায়।
* ভাঙা লেখা বা ভুল ক্যারেক্টার (যেমন: �) আসা থেকে বাঁচাতে।
* ব্রাউজার দ্রুত ও সঠিকভাবে কনটেন্ট রেন্ডার করতে পারে।
🔹 কোডে কিভাবে লিখি:
<meta charset="UTF-8">
এটি `<head>` ট্যাগের ভিতরে লিখা হয় এবং এটি ব্রাউজারকে জানায় —
“এই HTML ফাইলে UTF-8 এনকোডিং ব্যবহার করো।”
তাই আমি সবসময় charset ব্যবহার করি, যাতে আমার ওয়েবসাইট সব ভাষায় ও সব ডিভাইসে ঠিকভাবে দেখা যায়।