এক্সএইচএমএল স্ট্রাকচারিং এক্সএইচএমএল-এর মাধ্যমে ওয়েবসাইট পুনর্নির্মাণ

我们曾经为本节撰写的标题是:“XHTML : 简单的规则,容易的方针。”原因之一是,本节讨论的规则和方针是简单和容易的。原因之二是,一本简单和容易的 WEB 设计图书,就像超级市场的新式的免费商品一样,虽然常见却可以有效地吸引人的眼球,这样的东西可以刺激人的兴趣,并且鼓励人们尝试。

我确实希望本节的内容可以激发你的兴趣,并鼓励你去尝试。为什么这么说呢?因为一旦你掌握了本章包含的简单容易的理念,你就会重新思考网页运作的方式,并开始改变建造它们的方法。然而我并不希望你只是将代码重新改写一遍。我希望你可以实实在在地以另一种方式思考和工作。

另一方面,重构才是 XHTML 真正的意义。

在本章,我们将研究结构化标记的机制和涵义。如果你正在将网站标准融入你的开发项目,你或许会觉得本章的内容有些熟悉。不过即便是这方面的老手,也会从本章发现意外的收获。

এক্সহটম্ল নিয়ম সারাংশ

কিছু সহজ নিয়ম এবং পদ্ধতি মেনে রাখলে, ট্র্যাডিশনাল এইচটিএমএল-কে এক্সহটম্ল ১.০-এ রূপান্তর দ্রুত এবং ব্যথাহীন হতে পারে। এইচটিএমএল ব্যবহার করেছেন না কিংবা করেছেন, এক্সহটম্ল ব্যবহার করতে তা বাধা দেবে না。

  • যথাযোগ্য ডকুমেন্ট টাইপ ঘোষণা এবং নামস্পেস ব্যবহার করুন。
  • মেটা ইলেমেন্ট ব্যবহার করে আপনার কনটেন্টের ধরন ঘোষণা করুন。
  • সমস্ত ইলেমেন্ট এবং অ্যাট্রিবিউটকে ছোট অক্ষরে লিখুন。
  • সমস্ত অ্যাট্রিবিউট মূল্যকে চিহ্নিত করুন。
  • সমস্ত অ্যাট্রিবিউটকে মূল্য দিন。
  • সমস্ত ট্যাগ বন্ধ করুন。
  • খালি স্পেস এবং স্ল্যাশ ব্যবহার করে খালি ট্যাগ বন্ধ করুন。
  • মন্তব্যের মধ্যে দ্বিগুণ হাতের সমতা লিখুন না。
  • সুনিশ্চিত করুন যে, কমা নিঃক্রম এবং একক হাতের সমতা হল < এবং &

Unicode 和其他字符集

XML、XHTML、和HTML 4.0 文档的默认字符集是 Unicode,一个由 Unicode 联盟定义的标准。Unicode 是一套全面的字符集,它为每个字符提供了一个特定的唯一的数字,不论平台、程序和语言。Unicode 也是我们拥有的最接近通用字母表的事物,尽管它并不是一个字母表,而是一套数字映射方案。

যদিও Unicode ওয়েব ডকুমেন্টের ডিফল্ট চার্যাক্তার সংকেতস্থল, ডেভেলপারদেরও তাঁদের জন্য সহজলভ্য অন্যান্য চার্যাক্তার সংকেতস্থলকে ব্যবহার করার স্বাধীনতা রয়েছে। যেমন, আমেরিকা ও যুরোপীয় ওয়েবসাইটগুলির সাধারণত ISO-8859-1 (Latin-1) এনকোডিং ব্যবহার করে, কিন্তু চীনা জাতীয় মান হল gb2312。

ডকুমেন্টকে সাংকেতিক করুন, নয় শুধুমাত্র স্টাইল করুন

মনে রাখুন: CSS-এর সবচেয়ে বেশি ব্যবহার করুন লোকেশন। ওয়েব স্ট্যান্ডার্ডের বিশ্বে, XHTML ট্যাগগুলি প্রদর্শন থেকে স্বতন্ত্র, এটা শুধুমাত্র ডকুমেন্ট গঠন সংক্রান্ত।

গঠিত ডকুমেন্টগুলি ব্রাউজারকে যথেষ্ট সামগ্রী প্রদান করতে পারে, ব্রাউজারগুলি পল্লও কম্পিউটার থেকে শুরু করে শীর্ষস্থানীয় ডেস্কটপ গ্রাফিক্স ব্রাউজার পর্যন্ত, গঠিত ডকুমেন্টগুলি ব্যবহারকারীদের সামগ্রীকে ভিন্নভাবে প্রকাশ করতে পারে, বা ব্যবহারকারীদের CSS কে বন্ধ করলেও প্রকাশ করতে পারে।

প্রত্যেক সাইটই একত্রিভূত HTML ট্যাবলেশন থেকে তাকিন করতে পারে না। CSS এর প্রস্তাবক, W3C, ২০০২ সালের ১১ নভেম্বর পর্যন্ত তাঁদের অফিসিয়াল ওয়েবসাইটকে CSS সামগ্রীতে রূপান্তরিত করতে পারেন। তবে, যদিও কঠোরভাবে প্রমাণবদ্ধ হওয়া নিয়মনীতিবাদীদেরও অন্যথায় অনুপ্রেপ্যবহার থেকে মুক্ত থাকতে পারেন না, যদিও XHTML 1 এতটা প্রকৃতপক্ষে স্বতন্ত্র হয়নি। কিন্তু এখন, আমরা এই স্বপ্নকে একটি বড় পদক্ষেপ নিতে পারি, প্রকৃতপক্ষে অনুপ্রেপ্যবহারকে স্বতন্ত্রভাবে গঠন করে (বা ডাটা কে ডিজাইন থেকে স্বতন্ত্রভাবে গঠন করে), এবং এতটা স্বতন্ত্র এবং প্রবণ সামগ্রীতেও লাভবান হতে পারে।

নিচে কিছু সুঝানা আছে যা আপনাকে আরও সার্কুলারভাবে চিন্তার সাহায্য করবে:

সার্কুলার এই রঙ

গ্রামার স্কুলে, আমাদের অধিকাংশই প্রবন্ধ লিখতে প্রবণ সার্কুলার ফরম্যাটকে ব্যবহার করত। এখন, আমরা ডিজাইনার হয়েছি, যাঁরা সার্কুলার সীমাবদ্ধতা থেকে মুক্ত হতে পারেন, তাঁরা ব্যবহারকারীদের ব্যক্তিগত অভিব্যক্তির স্বাধীন ক্ষেত্রে প্রবেশ করতে বীরভাবে যাতা যাতা করতে পারেন (কিংবা আমাদের প্রচারপত্র এবং বাণিজ্যিক সাইটগুলি এতটা অভিন্ন ও ব্যক্তিগত নয়)। কিন্তু কম্পিউটারকেই আমরা এখন সার্কুলার সীমাবদ্ধতার বিষয়ে বিস্তারিতভাবে পরিস্ফুট করতে পারি না।

প্রকৃতপক্ষে, HTML অনুযায়ী, আমরা অগ্রণী শ্রেণীবিন্যাসকৃত সামগ্রীকে গঠন করব। যখন ব্রাউজারগুলি CSS এর সহায়তা করত না, তখন আমরা একটি বিক্রয়নীয় সামগ্রীকে প্রদান করে এই কাজটা করতে পারছিলাম না। কিন্তু আজ, আমাদের ডিজাইনকে অব্যাহত রেখে প্রদান করার ক্ষমতা আমাদের পাকাপাকি প্রদান করতে সক্ষম করে, আমরা অত্যন্ত সার্বজনীন ডকুমেন্টকে প্রদান করতে পারি যা আগের ভাবে নয়, এবং ভালোভাবে গঠিত হয়েছে।

আপনি নেটওয়ার্কের জন্য টেক্সটকে ট্যাগ করছেন বা কিংবা আপনি একটি পূর্ববর্তী ডকুমেন্টকে ওয়েবপেজে রূপান্তরিত করছেন তখন, প্রবণ সার্কুলার এই পোস্টগুলিকে চিন্তা করুন。

我的主题

介绍性文字

补充性的观点

相关文字

同时,避免使用已被废弃的 HTML 元素比如 ,或者无语义的元素比如
,来模拟其实不存在的逻辑结构。

যেমন, এইভাবে করবেন না:

<font size="7">আমার বিষয়</font><br />
প্রস্তুতি লেখা<br /><br />
<font size="6">অতিরিক্ত মতামত</font><br />
সংশ্লিষ্ট লেখা<br />

উপাদানগুলির মানে অনুযায়ী ব্যবহার করুন, না তাদের দেখানো শৈলী অনুযায়ী

আমাদের মধ্যে কিছু লোক একটি ভুল অভ্যাসে ফলে পড়েছেন, যখন আমরা শুধুমাত্র একটি বড় ফন্টের টেক্সট চাইলে h1-এর মতো ব্যবহার করি, অথবা একটি ডট নিয়ে থাকা li-এর মতো ব্যবহার করি। যেমন আমরা আগের চ্যাপটারে আলোচনা করেছিলাম, ব্রাউজারগুলি সর্বদাই ডিজাইন প্রক্রিয়াকে HTML উপাদানকে অপরিবর্তিত করেছে। আমরা সবাই একইভাবে মনে করি যে, h1 একটি বড় ফন্ট, li-এর মতো ডট থাকা, এবং blockquote-এর মতো টেক্সটকে সুস্পষ্ট করতে ব্যবহার করা হয়। আমাদের মধ্যে অধিকাংশই স্ট্রাকচারাল উপাদানকে প্রদর্শন সিমুলেশনের মাধ্যমে একটি বিন্যাসহীন HTML লিখেছেন。

একইভাবে, যদি ডিজাইনারকে সব শিরোনামকে একই আকারে দেখাতে হয়, তবে তিনি সব শিরোনামকে h1 হিসাবে সেট করবেন, যদিও এইভাবে কোনও স্ট্রাকচারাল সেম্যান্টিক নেই。

এটা প্রধান শিরোনাম, যখন আমি টেক্সটকে নোটস ফরম্যাটে রাখছি。
এটা প্রধান শিরোনাম নয়, কিন্তু আমি চাই যে, এটা উপরের শিরোনামের মতোই ফন্টে থাকে, কিন্তু আমি কিভাবে CSS-এর মাধ্যমে তা করতে পারব না。
এটা কখনও একটি শিরোনাম নয়। কিন্তু আমি খুবই চাই যে, পানেলের লেখাটি একই ফন্টে থাকে, যে ফন্টটি আমি চাইছি,
আমি CSS-কে জানলে, এই ডিজাইনটি ডকুমেন্টের কাঠামো বিন্যাস বিন্যস্ত করবেন。

আমাদের ছোট ব্যাপারগুলিকে একদিকে রেখে, আমরা উপাদানগুলির সেম্যান্টিক মূল্য অনুযায়ী ব্যবহার করব, না তাদের দেখানো শৈলী অনুযায়ী। প্রকৃতপক্ষে, h1 আপনি যে কোনও রূপ নিতে পারেন। CSS-এর মাধ্যমে, h1 একটি অল্প কালি রোমান ফন্ট হতে পারে, এবং p টেক্সট বড় ফন্টের বোল্ড হতে পারে, li-ও ডট ছাড়াই থাকতে পারে (আপনি কিছু ছোট বিড়াল বা কোম্পানির লোগোর PNG, GIF বা JPEG চিত্রটি ব্যবহার করতেও পারেন) ইত্যাদি。

আজ থেকে আমরা CSS-এর মাধ্যমে উপাদানগুলির দেখানো শৈলী নির্ধারণ করব। আমরা যেমন উপাদানটি পানেলের কোনও স্থানে থাকে বা সাইটের কোনও স্থানে থাকে, তার মতোই তার দেখানো শৈলীকে পরিবর্তন করতে পারি。 CSS থেকে প্রদর্শনকে স্থাপত্য থেকে সম্পূর্ণরূপে পৃথক করা যায়, এবং আপনি যে স্টাইল পছন্দ করেন তা অনুযায়ী কোনও উপাদানকেই ফরম্যাট করতে পারেন。

h1, h2, h3, h4, h5, h6 {
	font-family: georgia, palatino, "New Century Schoolbook",
	times, serif;
	font-weight: normal;
	font-size: 2em;
	margin-top: 1em;
	margin-bottom: 0;
	font-style: normal;

আপনি কেন এইভাবে করছেন? এইভাবে করার উদ্দেশ্য হল গ্রাফিক্স ব্রাউজারে ব্র্যান্ডিংয়ের প্রকার এবং অনুভূতি পাওয়ার সময়, টেক্সট ব্রাউজার, অপটিক্স ডিভাইস, এবং এইচটিএমএল ফর্ম্যাটের ইমেলে, ডকুমেন্টের কাঠামো সংরক্ষিত থাকা

আমরা এখানে একটি এক্সহাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ (এইচএক্সএমএল) নিয়ে আরও বেশি কিছু সিএসএস-এর প্রযুক্তিকে বলবো না।আমরা শুধুমাত্র দুটি ভিন্ন কিছু দেখাতে চাই, যেমন ডকুমেন্টের কাঠামো এবং দৃশ্যমান প্রকাশনা দুটি পৃথক কিছু, এবং স্ট্রাকচারাল উপাদানকে টেক্সটকে রূপান্তরিত করার জন্য ব্যবহার করা উচিত, না দৃশ্যমান প্রদর্শন করার জন্য

স্ট্রাকচারাল উপাদানকে ব্যবহার করে, না কোন অর্থহীন বর্জ্যের পরিবর্তে

আমরা হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ (এইচটিএমএল) এবং এক্সহাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ (এইচএক্সএমএল)-এর কাজের জন্য কোন প্রকার স্ট্রাকচারাল মানসিকতা ভূলে গিয়েছি বা কোন প্রকার জানতেই না, তাই অনেক এইচটিএমএল বিতর্ককারী এইভাবে ট্যাগ ব্যবহার করে তালিকা যোগ করে:

প্রকল্প এক<br />
প্রকল্প দুই<br />
প্রকল্প তিন<br />

তাই, ক্রমিক বা অক্রমিক তালিকা ব্যবহার করে প্রতিস্থাপিত করুন:

<ul>
<li>প্রকল্প এক</li>
<li>প্রকল্প দুই</li>
<li>প্রকল্প তিন</li>
</ul>

"কিন্তু li-তে আমার একটি বিন্দু আছে, এবং আমার কোন বিন্দু নেই!" আপনি এমনভাবে বলতে পারেন।উপরোক্ত চাপ্তীতে, সিএসএস কোন উপাদানের প্রত্যাশিত প্রদর্শনের জন্য কোন প্রত্যাশা করে না।এটি আপনাকে আপনার প্রত্যাশিত উপাদানের প্রদর্শন জানানোর জন্য অপেক্ষা করে।বন্ধ করা বিন্দু হল সিএসএস-এর সর্বাধিক মৌলিক ক্ষমতা।এটি তালিকাকে সাধারণ টেক্সটের মতো করতে পারে, এবং গ্রাফিক্স নেভিগেশন বার্তাবাহক হিসাবে কাজ করতেও পারে, যা পূর্ণ রিভার্স ইফেক্ট সহ আছে。

তাই, তালিকার উপাদানগুলি ট্যাগ করার জন্য তালিকা উপাদানকে ব্যবহার করুন।একইভাবে, strong-কে b-এর পরিবর্তে এবং em-কে i-এর পরিবর্তে ব্যবহার করুন, ইত্যাদি।অধিকাংশ ডেস্কটপ ব্রাউজারের ডিফল্ট স্থিতিতে, strong-এর প্রদর্শন b-র মতোই, em এবং i-র মতোই, এবং আপনি ডকুমেন্টের কাঠামো বিনষ্ট করবে না এমন অনুভূতির প্রদর্শন তৈরি করতে পারেন。

যদিও সিএসএস কোন উপাদানের প্রদর্শনের জন্য কোন প্রত্যাশা করে না, ব্রাউজারগুলি তবুও অনেক প্রত্যাশা করে, এবং আমরা এমন কোন ব্রাউজারকেই না দেখেছি যা strong-কে কোন অন্য ধরণের প্রদর্শন করে (শুধুমাত্র যদি ডিজাইনার দ্বারা অন্য ধরণের CSS নির্দেশ দেওয়া হয়)।আপনি যদি কোন অপরিচিত ব্রাউজারকে strong-কে বোল্ড হিসাবে প্রদর্শন করবে না এই সম্ভাবনা থাকে, তবে এমন একটি CSS নিয়ম লিখতে পারেন:

strong {
	font-weight: bold;
	font-style: normal;
	font-style: normal;

}

ভিজুয়েল এলিমেন্ট এবং স্ট্রাকচার