1. HTML යනු කුමක්ද? (Introduction to HTML)
ආයුබෝවන්! නවීන ලෝකයේ නැතුවම බැරි අංගයක් වන වෙබ් අඩවි නිර්මාණයේ මූලිකම සහ වැදගත්ම පදනම වන HTML ලෝකයට ඔබව සාදරයෙන් පිළිගනිමු. ඔබ දකින ඕනෑම වෙබ් පිටුවක සැකිල්ල සකසා ඇත්තේ HTML වලිනි.
HTML යනු HyperText Markup Language යන්නෙහි කෙටි නමයි. මෙය programming භාෂාවක් ලෙස බොහෝ දෙනා වරදවා වටහා ගත්තද, එය වෙබ් පිටුවක අන්තර්ගතය (Content) සහ එහි සැකැස්ම (Structure) තීරණය කරන "Markup" භාෂාවකි. සරලවම කිවහොත්, වෙබ් පිටුවක ඇති මාතෘකා, ඡේද, පින්තූර, සහ ලින්ක්ස් තිබිය යුත්තේ කොතැනද සහ කෙසේද යන්න වෙබ් බ්රව්සරයට (Google Chrome, Firefox වැනි) පවසන්නේ HTML මගිනි.
සරල උපමාවක්!
වෙබ් අඩවියක් මිනිස් සිරුරකට සමාන කළහොත්:
- HTML යනු අපගේ ඇටසැකිල්ලයි. එය ශරීරයට හැඩය සහ ව්යුහය ලබා දෙයි.
- CSS (Cascading Style Sheets) යනු අපගේ සම, හිසකෙස් සහ ඇඳුම් වැනිය. එය ඇටසැකිල්ලට පෙනුම සහ අලංකාරය ලබා දෙයි.
- JavaScript යනු අපගේ මාංශ පේශී සහ ස්නායු පද්ධතියයි. එය ශරීරයට ක්රියාකාරීත්වය සහ චලනය (Interactivity) ලබා දෙයි.
ඕනෑම වෙබ් අඩවියක් නිර්මාණය කිරීමේ පළමු සහ අනිවාර්ය පියවර වන්නේ HTML ඉගෙන ගැනීමයි.
HTML ඉගෙනගත යුත්තේ ඇයි?
වර්තමානයේ වෙබ් තාක්ෂණය ඉතා දියුණු වුවද, HTML හි වැදගත්කම තවමත් එලෙසම පවතී. Front-end developer, back-end developer, full-stack developer, UI/UX designer, SEO specialist, හෝ digital marketer වැනි ඕනෑම ක්ෂේත්රයකට පිවිසීමට HTML දැනුම අත්යවශ්ය වේ. එය වෙබ් ලෝකයේ "අක්ෂර මාලාව" බඳුය.
2. මූලික HTML පිටුවක ව්යුහය
සෑම HTML ලේඛනයක්ම නිශ්චිත ව්යුහයකට අනුව සකස් වී ඇත. මෙම මූලික කොටස් සෑම විටම අනිවාර්යයෙන්ම අඩංගු වේ. ඕනෑම text editor එකක් (Notepad, VS Code, Sublime Text වැනි) විවෘත කර පහත කේතය टाइप කර බලන්න.
<!DOCTYPE html>
<html lang="si">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>පිටුවේ මාතෘකාව</title>
</head>
<body>
<!-- වෙබ් පිටුවේ පරිශීලකයාට පෙනෙන සියලුම අන්තර්ගතය මෙතැනට යොදනු ලැබේ -->
</body>
</html>
මෙම Tags වලින් අදහස් වන්නේ කුමක්ද?
<!DOCTYPE html>: මෙය ටැග් එකක් නොවේ. මෙය මෙම ලේඛනය නවීන HTML5 ප්රමිතියට අනුව සකස් කර ඇති බව වෙබ් බ්රව්සරයට ලබාදෙන උපදෙසකි.<html>: සම්පූර්ණ HTML පිටුවේම මූලිකම (root) ටැග් එකයි. අනෙකුත් සියලුම ටැග්ස් මේ තුළ ලියැවේ.lang="si"මගින් මෙම පිටුවේ භාෂාව සිංහල බව හඳුන්වයි.<head>: වෙබ් පිටුව ගැන තොරතුරු (metadata) මෙහි ඇතුළත් වේ. මෙම කොටස පරිශීලකයාට සෘජුවම නොපෙනේ. පිටුවේ මාතෘකාව (title), CSS style sheets, meta tags වැනි දේ මෙහි අඩංගු වේ.<meta charset="UTF-8">: සිංහල වැනි ඕනෑම භාෂාවක අක්ෂර නිවැරදිව පෙන්වීමට උපකාරී වන character encoding එක නියම කරයි.<title>: වෙබ් බ්රව්සරයේ ටැබ් එකේ සහ search engine ප්රතිඵලවල පෙන්වන මාතෘකාව මෙයයි.<body>: වෙබ් පිටුවේ පරිශීලකයාට දර්ශනය වන සියලුම දේ (ශීර්ෂක, ඡේද, පින්තූර, ලින්ක්ස්) මෙම ටැග් දෙක අතර ලියනු ලැබේ.
4. HTML හි තවත් ගැඹුරු මාතෘකා
මූලික කරුණු අවබෝධ කරගත් පසු, වඩාත් වෘත්තීය මට්ටමේ වෙබ් පිටු සෑදීමට අවශ්ය වන තවත් වැදගත් සංකල්ප කිහිපයක් මෙහි දැක්වේ.
HTML Attributes (ගුණාංග)
HTML elements වලට අමතර තොරතුරු ලබාදීමට Attributes භාවිතා කරයි. Attributes හැමවිටම ආරම්භක ටැගය (Opening Tag) තුළ ලියනු ලබන අතර, ඒවා name="value" ආකාරයෙන් යුගල වශයෙන් පැමිණේ.
උදාහරණයක් ලෙස <a href="https://google.com"> ටැගයේ,
aයනු element එකයි.hrefයනු attribute name එකයි."https://google.com"යනු attribute value එකයි.
පොදුවේ භාවිතා වන Attributes:
id- Element එකකට අනන්ය හඳුනාගැනීමක් ලබාදෙයි.class- Elements කාණ්ඩයක් හඳුනාගැනීමට යොදාගනී (CSS styling සඳහා බහුලවම භාවිතා වේ).style- Element එකකට සෘජුවම CSS style එක් කිරීමට (Inline CSS).src,href,alt- අප ඉහත සාකච්ඡා කළ පරිදි.disabled- Form element එකක් අක්රීය කිරීමට.
Block-level vs. Inline Elements
HTML elements ප්රධාන වශයෙන් වර්ග දෙකකට බෙදේ. මෙය වෙබ් පිටුවේ සැකැස්ම (layout) සඳහා ඉතා වැදගත් සංකල්පයකි.
මේවා හැමවිටම නව පේළියකින් ආරම්භ වන අතර, තිරයේ සම්පූර්ණ පළල (full width) ලබාගනී.
උදාහරණ:
<h1>-<h6><p><div>(වෙනත් elements කාණ්ඩ කිරීමට යොදාගන්නා ප්රධාන block-level container එක)<ul>,<ol>,<li><form>
මේවා නව පේළියකින් ආරම්භ නොවන අතර, අවශ්ය වන ඉඩ ප්රමාණය පමණක් ලබාගනී.
උදාහරණ:
<a><strong>,<em><img><span>(වචනයක් වැනි කුඩා කොටසක් style කිරීමට යොදාගන්නා ප්රධාන inline container එක)<input>
HTML වගු (Tables)
දත්ත පේළි (rows) සහ තීරු (columns) ලෙස ව්යුහගතව පෙන්වීමට වගු භාවිතා කරයි. දත්ත සංසන්දනය කිරීමට හෝ සංඛ්යාලේඛන පෙන්වීමට මෙය ඉතා ප්රයෝජනවත් වේ.
<table class="table table-striped table-bordered">
<thead class="table-dark">
<tr>
<th>නම</th>
<th>වයස</th>
<th>නගරය</th>
</tr>
</thead>
<tbody>
<tr>
<td>කමල් පෙරේරා</td>
<td>28</td>
<td>කොළඹ</td>
</tr>
<tr>
<td>නිමාලි සිල්වා</td>
<td>32</td>
<td>මහනුවර</td>
</tr>
</tbody>
</table>
මෙහි <table> මගින් වගුව ද, <tr> මගින් පේළියක් (table row) ද, <th> මගින් මාතෘකා කොටුවක් (table header) ද, <td> මගින් දත්ත කොටුවක් (table data) ද නිරූපණය කරයි. <thead> සහ <tbody> මගින් වගුවේ මාතෘකා කොටස සහ දත්ත කොටස වෙන් කරයි.
| නම | වයස | නගරය |
|---|---|---|
| කමල් පෙරේරා | 28 | කොළඹ |
| නිමාලි සිල්වා | 32 | මහනුවර |
HTML ෆෝරම (Forms)
පරිශීලකයාගෙන් දත්ත (නම, email, password වැනි) ලබාගැනීමට ෆෝරම අත්යවශ්ය වේ. <form> ටැගය තුළ විවිධ input elements යොදාගනී.
ඉහත ෆෝරමය සෑදීමට භාවිතා කළ කේතය:
<form>
<div class="mb-3">
<label for="exampleInputName" class="form-label">ඔබේ නම</label>
<input type="text" class="form-control" id="exampleInputName">
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">ඊමේල් ලිපිනය</label>
<input type="email" class="form-control" id="exampleInputEmail1">
</div>
<div class="mb-3">
<label for="exampleMessage" class="form-label">ඔබේ පණිවිඩය</label>
<textarea class="form-control" id="exampleMessage" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">Submit කරන්න</button>
</form>
මෙහි <input> ටැගයේ type attribute එක මගින් විවිධ වර්ගයේ (text, email, password, checkbox, radio, date) දත්ත ලබාගත හැක. <label> මගින් input field එකට නමක් ලබාදෙන අතර, <textarea> මගින් දිගු පණිවිඩ ලබාගත හැක.
Semantic HTML5 Elements
HTML5 සමඟ හඳුන්වා දුන් Semantic Elements මගින් වෙබ් පිටුවේ විවිධ කොටස්වල අර්ථය (meaning) බ්රව්සරයට සහ search engines වලට වඩාත් පැහැදිලිව හඳුන්වා දේ. මෙය SEO සඳහා ඉතා වැදගත් වේ.
සාමාන්යයෙන් <div> ටැගය පමණක් භාවිතා කරනවා වෙනුවට, අර්ථයට ගැලපෙන ටැගය භාවිතා කිරීම වඩාත් සුදුසුය.
<header>- පිටුවේ ඉහළම කොටස (logo, navigation bar).<nav>- ප්රධාන මෙනුව (navigation links).<main>- පිටුවේ ප්රධාන සහ වැදගත්ම අන්තර්ගතය.<section>- අන්තර්ගතයේ තාර්කික කොටස් වෙන් කිරීමට.<article>- ස්වාධීන අන්තර්ගතයක් (blog post, news article).<aside>- ප්රධාන අන්තර්ගතයට අමතර තොරතුරු (sidebar).<footer>- පිටුවේ පහළම කොටස (copyright, contact info).
5. සම්පූර්ණ උදාහරණය සහ ක්රියාත්මක කිරීම
ඉහත ඉගෙනගත් සියල්ල ඇතුළත් කර, Semantic HTML5 ද භාවිතා කර, ඔබේ පළමු සම්පූර්ණ වෙබ් පිටුව සදා ගනිමු. මෙම කේතය mypage.html යන නමින් save කර වෙබ් බ්රව්සරයකින් open කර බලන්න.
- පහත ඇති සම්පූර්ණ කේතය copy කරගන්න.
- ඔබේ පරිගණකයේ Text Editor එකක් (Notepad, VS Code) open කරගන්න.
- Copy කරගත් කේතය එහි paste කරන්න.
- මෙම ෆයිල් එක
mypage.htmlයන නමින් save කරගන්න. - දැන් save කරගත් ෆයිල් එක වෙබ් බ්රව්සරයකින් (Chrome, Firefox) open කර බලන්න.
<!DOCTYPE html>
<html lang="si">
<head>
<meta charset="UTF-8">
<title>මගේ පළමු වෙබ් පිටුව</title>
<style>
body { font-family: Arial, sans-serif; line-height: 1.6; margin: 20px; }
header, footer { background-color: #f2f2f2; padding: 10px; text-align: center; }
nav a { margin: 0 15px; }
section { margin-bottom: 20px; }
</style>
</head>
<body>
<header>
<h1>ආයුබෝවන් ලෝකය!</h1>
<nav>
<a href="#">මුල් පිටුව</a>
<a href="#">මා ගැන</a>
<a href="#">සම්බන්ධ වන්න</a>
</nav>
</header>
<main>
<article>
<h2>මගේ වෙබ් නිර්මාණ ගමන</h2>
<p>මම <strong>HTML</strong> ඉගෙන ගනිමින් සිටිමි. මෙය ඉතා පහසු සහ විනෝදජනකයි! වෙබ් අඩවි ක්රියා කරන ආකාරය තේරුම් ගැනීමට මෙය හොඳම ආරම්භයයි.</p>
</article>
<section>
<h3>මා ඉගෙනගත් දේවල්</h3>
<ul>
<li>ශීර්ෂක සහ ඡේද යෙදීමට</li>
<li>ලැයිස්තු සැකසීමට</li>
<li>වෙනත් පිටු වලට සබැඳි (links) යෙදීමට</li>
</ul>
</section>
<section>
<p>වැඩිදුර තොරතුරු සඳහා, ඔබට <a href="https://developer.mozilla.org/en-US/docs/Web/HTML" target="_blank">MDN Web Docs</a> වෙත පිවිසිය හැක.</p>
<img src="https://via.placeholder.com/300" alt="සතුටු මුහුණක ලාංඡනය">
</section>
</main>
<footer>
<p>© 2025 - මගේ වෙබ් අඩවිය</p>
</footer>
</body>
</html>
6. නිතර අසන ප්රශ්න (FAQ)
- CSS (Cascading Style Sheets): ඔබේ HTML පිටු වලට වර්ණ, layouts, සහ fonts එක් කර අලංකාර කිරීමට.
- JavaScript: ඔබේ වෙබ් පිටු වලට ක්රියාකාරීත්වය (interactivity), animations, සහ ගතික (dynamic) අංග එක් කිරීමට.