এইচটিএমএল: closingচ্ছিক ক্লোজিং ট্যাগগুলি অন্তর্ভুক্ত, বা বাদ দিন?


149

কিছু এইচটিএমএল 1 টি ক্লোজিং ট্যাগগুলি al চ্ছিক , যেমন:

</HTML>
</HEAD>
</BODY>
</P>
</DT>
</DD>
</LI>
</OPTION>
</THEAD>
</TH>
</TBODY>
</TR>
</TD>
</TFOOT>
</COLGROUP>

দ্রষ্টব্য: অন্তর্ভুক্ত হওয়া নিষিদ্ধ ট্যাগগুলির সাথে বিভ্রান্ত হওয়ার দরকার নেই , যেমন:

</IMG>
</INPUT>
</BR>
</HR>
</FRAME>
</AREA>
</BASE>
</BASEFONT>
</COL>
</ISINDEX>
</LINK>
</META>
</PARAM>

দ্রষ্টব্য: xhtml এইচটিএমএল থেকে পৃথক। এক্সএইচটিএমএল এক্সএমএল এর একটি ফর্ম, যার জন্য প্রতিটি উপাদানটির একটি ক্লোজিং ট্যাগ থাকা দরকার। একটি ক্লোজিং ট্যাগ করা যেতে পারে নিষিদ্ধ HTML এ, এখনো বাধ্যতামূলক মধ্যে xhtml

Closingচ্ছিক বন্ধ ট্যাগগুলি Are

  • আদর্শভাবে অন্তর্ভুক্ত , তবে আপনি যদি তাদের ভুলে যান তবে আমরা তাদের গ্রহণ করব or
  • আদর্শভাবে অন্তর্ভুক্ত নয় , তবে আপনি যদি এগুলি রাখেন তবে আমরা সেগুলি গ্রহণ করব

অন্য কথায়, উচিত আমি তাদের অন্তর্ভুক্ত, অথবা আমি উচিত না তাদের অন্তর্ভুক্ত?

এইচটিএমএল 4.01 বন্ধের উপাদান ট্যাগ ঐচ্ছিক হচ্ছে বৈশিষ্ট আলোচনা , কিন্তু যদি তা তাদের অথবা বাঞ্ছনীয় তাদের অন্তর্ভুক্ত না করতে অন্তর্ভুক্ত করা বাঞ্ছনীয় বলে নেই।

অন্যদিকে, দেবগুরু সম্পর্কিত একটি এলোমেলো নিবন্ধ বলেছেন :

সমাপ্তি ট্যাগটি isচ্ছিক। তবে এটি অন্তর্ভুক্ত করার পরামর্শ দেওয়া হচ্ছে।

কারণ আমি জিজ্ঞাসা কারণ আপনার ঠিক হয় জানেন এটা সামঞ্জস্য কারণে ঐচ্ছিক; এবং তারা থাকতে পারলে এগুলি ( বাধ্যতামূলক | নিষিদ্ধ ) করে দিত

এটি অন্য উপায়ে রাখুন: এইচটিএমএল 1, 2, 3 এগুলির সাথে কী করেছে, এখন ,চ্ছিক, ক্লোজিং ট্যাগগুলি। এইচটিএমএল 5 কী করে? এবং কি করা উচিত আমি কি?

বিঃদ্রঃ

এইচটিএমএলের কিছু উপাদান ক্লোগর ট্যাগ থাকার থেকে নিষিদ্ধ । আপনি এটির সাথে একমত হতে পারেন, তবে এটি স্পেসিফিকেশন এবং এটি বিতর্কের পক্ষে নয়। আমি closing চ্ছিক সমাপ্তি ট্যাগ সম্পর্কে জিজ্ঞাসা করছি এবং উদ্দেশ্য কী ছিল।

পাদটিকা

1 এইচটিএমএল 4.01


4
শক্ত প্রশ্ন ... ডাব্লু 3 সি সুপারিশের কিছুতে এমন উদাহরণও অন্তর্ভুক্ত রয়েছে যা উভয়ই করে: w3.org/TR/html401/struct/global.html#id-and-class প্রথম উদাহরণটিতে ক্লোজিং </p>ট্যাগ রয়েছে এবং দ্বিতীয়টি সেগুলি বাদ দেয়!
রিচার্ড জে পি লে গেন

কেবল স্পষ্ট করে বলার জন্য - এইচটিএমএল 5 এ নিষিদ্ধ ট্যাগগুলির ক্ষেত্রে, "সুস্পষ্ট" / এক্সএমএল বৈধ সমাধানটি কি এগুলি দ্বারা বন্ধ করা />, যেমন বৈধ এইচটিএমএল 5 <meta charset="utf-8" />হলেও <meta charset="utf-8">?
cboettig

@ cboettig হ্যাঁ <meta charset="utf-8" />হয় অবৈধ HTML, এটা উচিত নয় হতে <meta charset="utf-8">। অন্য দিকে <meta charset="tuf-8">হয় অবৈধ XHTML, এটা উচিত নয় হতে<meta charset="utf-8" />
ইয়ান বয়েড

@ ইয়ানবয়েড সত্যিই? এইচটিএমএল 5 এ? বহুভাষিক HTML / XHTML খসড়া W3C এর ম্যানুয়াল ব্যবহার করতে বলেছেন <meta charset="UTF-8"/>ক্লোজিং ট্যাগ দিয়ে। অন্যথায় কীভাবে বহুগ্লট বা এক্সএইচটিএমএল কখনও এইচটিএমএল 5 এবং এক্সএমএল হিসাবে বৈধতা দিতে পারে?
cboettig

আপনি ঠিক বলেছেন বহুগ্লট মার্কআপ (অর্থাত্ HTML- সামঞ্জস্যপূর্ণ এক্সএইচটিএমএল ডকুমেন্টস ) বৈধ এইচটিএমএল 4.01 হতে পারে না 1 এইচটিএমএল 5 (এখনও একটি কাজ এগিয়ে চলছে) অকার্যকর উপাদানগুলির ধারণা রয়েছে - এমন উপাদানগুলির একটি শেষ ট্যাগ থাকতে পারে না । সম্ভবত বেশিরভাগ ব্রাউজারগুলি মৃদু, এবং আপনার মার্কআপ ত্রুটিগুলি ক্ষমা করে দেবে।
ইয়ান বয়ড

উত্তর:


49

Tagচ্ছিকগুলি হ'ল এগুলি যা শেষ ট্যাগের প্রয়োজন ছাড়াই নির্ধারিতভাবে স্পষ্ট হওয়া উচিত they EG এর প্রত্যেকটির <li>ইঙ্গিত </li>হ'ল যদি এর আগে ঠিক না থাকে।

নিষিদ্ধ প্রান্তের ট্যাগগুলি সাথে সাথেই তাদের শেষ ট্যাগটি অনুসরণ করা হবে যাতে <img src="blah" alt="blah"></img>প্রতিবার টাইপ করতে হবে এ ধরণের অনর্থক ।

আমি প্রায়শই alচ্ছিক ট্যাগগুলি ব্যবহার করি (যদি না করাই আমার খুব ভাল কারণ না থাকে) কারণ এটি আরও পাঠযোগ্য এবং আপডেটযোগ্য কোডকে ndsণ দেয়।


18
এখন বুঝতে পারছি. <LI>বুলেট মত। কেউ পুরো বুলেটযুক্ত পয়েন্টটি rapোকাতে চাইবে না <LI>...</LI>। সুতরাং LIসেইভাবে লোকেরা মার্কআপের সময় প্রাকৃতিকভাবে কী লিখবে তা মেলে। স্যামস একটি অনুচ্ছেদে চিহ্ন ( <P>) এর জন্য যায় , ওয়ার্ড প্রসেসিংয়ে আপনি অনুচ্ছেদের শুরুতে একটি অনুচ্ছেদ চিহ্ন যুক্ত করেন; এবং প্রত্যেকের শেষেও নয়। সুতরাং এই ব্যাখ্যায় সমাপনী ট্যাগগুলি areচ্ছিক কারণ কোনও সাধারণ ব্যক্তি সেগুলি মনে করে না। এছাড়াও, উপাদানটির নিজস্ব কোনও সামগ্রী নেই - উপাদানটি হ'ল সামগ্রী।
আয়ান বাল্ড

8
মানে করে করতে আমি প্রায় সবসময় ব্যবহার ঐচ্ছিক ট্যাগ - আপনি বোঝাতে চাচ্ছেন যে আপনার অন্তর্ভুক্ত শেষ ট্যাগ, বা আপনি যে এটা ছেড়ে ? (আমি যখন আপনার উত্তরটি পড়ি তখন আমার মনে হয়েছিল যে আপনি এটি অন্তর্ভুক্ত করেছেন - তবে আয়ান বয়েডের উপরের মন্তব্যটি আমাকে এই ধারণাটি দেয় যে আপনি এটি বাদ দিন))
কাজম্যাগনুস

3
@ আইয়ানবয়েড এবং শেষ অনুচ্ছেদের জন্য?
পেসারিয়ার

22
@ পেসারিয়ার লোকেরা কয়েক শত বছর ধরে পাঠ্যের অনুচ্ছেদ লিখছেন। অনুচ্ছেদটি শেষ হলে কেউ কখনও বিভ্রান্ত হয় নি।
ইয়ান বয়ড

4
এইচটিএমএল 5 এর প্রাসঙ্গিক লিঙ্ক, যারা প্রকৃত রেফারেন্স ডকুমেন্টেশনগুলি অনুসন্ধান করার সময় এই উত্তরটি খুঁজে পেয়েছিলেন তাদের জন্য: w3.org/TR/html5/syntax.html#optional-tags
মাইক 'পোম্যাক্স' কামারম্যানস

59

এমন কেস রয়েছে যেখানে সুস্পষ্ট ট্যাগগুলি সহায়তা করে তবে কখনও কখনও এটি অযথা পেডেন্ট্রি।

মনে রাখবেন যে এইচটিএমএল স্পষ্টটি যখন ট্যাগগুলি বাদ দিতে বৈধ হয় তখন স্পষ্ট করে উল্লেখ করে, তাই এটি সর্বদা ত্রুটি নয়।

যেমন আপনার কখনই দরকার নেই </body></html><tbody>স্পষ্টভাবে বলতে কেউ কখনও স্মরণ করে না (এক্সএইচটিএমএল এটির জন্য ব্যতিক্রম করেছিল)।

</head><body>আপনার ডম-ম্যানিপুলেটিং স্ক্রিপ্টগুলি না থাকলে আপনার প্রয়োজন হবে না যা প্রকৃতপক্ষে অনুসন্ধান করে <head>(তারপরে এটি স্পষ্টভাবে বন্ধ করা ভাল, কারণ অন্তর্নিহিত শেষের নিয়মগুলি <head>আপনাকে অবাক করে দিতে পারে)।

নেস্টেড তালিকাগুলি আসলে ব্যতীত আরও ভাল </li>, কারণ এরপরে ভুলভ্রান্ত ul > ulগাছ তৈরি করা আরও শক্ত ।

বৈধ:

<ul>
  <li>item
  <ul>
    <li>item
  </ul>
</ul>

অবৈধ:

<ul>
  <li>item</li>
  <ul>
    <li>item</li>
  </ul>
</ul>

এবং মনে রাখবেন যে আপনি সমস্ত উপাদানগুলিকে বন্ধ করার চেষ্টা করছেন বা না করুক তা শেষ ট্যাগগুলি অন্তর্ভুক্ত। শেষের ট্যাগ লাগানো স্বয়ংক্রিয়ভাবে আরও শক্তিকে পার্সিং করে না:

<p>foo <p>bar</p> baz</p>

পার্স করা হবে:

<p>foo</p><p>bar</p> baz

এটি কেবল তখনই সহায়তা করতে পারে যখন আপনি দস্তাবেজগুলি বৈধ করেন।


4
অপেক্ষা করুন, কেন <p>foo <p>bar</p> baz</p>দুটি নেস্টড pট্যাগ হিসাবে বিশ্লেষণ করা হয় না ?
এরিক

19
কারণ কোনও <P>উপাদানটিতে ব্লক-স্তরীয় উপাদান থাকতে পারে না এবং <P>এটি একটি ব্লক স্তর উপাদান। ( W3.org/TR/REC-html40/struct/text.html#edef-P ) থেকে "পি উপাদান অনুচ্ছেদে প্রতিনিধিত্ব করে It এতে ব্লক-স্তরীয় উপাদান থাকতে পারে না (নিজে পি সহ)"
আয়ান বাল্ড

1
@ ইয়ানবয়ড আপনার কি বোঝাতে চাইছেন যে সিএসএস বিধি নির্বিশেষে ব্লক-স্তরের উপাদান থাকতে পারে না?
পেসারিয়ার

6
@ পেসারিয়ার সিএসএস কোনওভাবেই ডমকে প্রভাবিত করতে পারে না। DOM প্রথমে পার্স করা হয় এবং তারপরে CSS এটি প্রদর্শন করে। সিএসএস blockপ্রদর্শন হ'ল এইচটিএমএল এর ব্লক-স্তরীয় সামগ্রী থেকে সম্পূর্ণ আলাদা জিনিস (এটি কেবল ঘটে যায় যে বেশিরভাগ এইচটিএমএল ব্লক-স্তরের উপাদানগুলি ডিফল্টরূপে সিএসএস ব্লক হিসাবে প্রদর্শিত হয়)।
কর্নেল

2
@ anton1980 না, এটি এক নয়। বাদ দেওয়া alচ্ছিক সমাপ্তি ট্যাগগুলির হ্যান্ডলিংটি স্পষ্টভাবে নির্দিষ্ট করে দেওয়া হয়েছে এবং সমস্ত অনুগত ব্রাউজারগুলিতে নির্ভরযোগ্যভাবে কাজ করে। OTOH একটি মেক-আপের <t>মতো কাজ করবে না <title>
কর্নেল

18

আপনাকে বিভিন্ন বৈপরীত্য বোঝার জন্য আমি এখানে কিছু লিঙ্ক যুক্ত করছি, এইচটিএমএলের ইতিহাসে আপনাকে সহায়তা করার জন্য। এটি আপনার প্রশ্নের উত্তর নয়, তবে আপনি এই বিভিন্ন হজম পড়ার পরে আরও জানবেন।

এইচটিএমএল 5 তে ডুব দেওয়া থেকে কিছু অংশ :

[টি] তিনি সত্য যে "ভাঙ্গা" এইচটিএমএল মার্কআপ এখনও ওয়েব ব্রাউজারগুলিতে কাজ করেছিল লেখকরা ভাঙা এইচটিএমএল পৃষ্ঠাগুলি তৈরি করতে পরিচালিত করেছিল। অনেক ভাঙা পাতা। কিছু অনুমান অনুসারে, ওয়েবে আজকের 99% এরও বেশি HTML পৃষ্ঠাগুলিতে তাদের কমপক্ষে একটি ত্রুটি রয়েছে। তবে এই ত্রুটিগুলির কারণে ব্রাউজারগুলি দৃশ্যমান ত্রুটি বার্তাগুলি প্রদর্শন করতে পারে না, তাই কেউ এগুলি কখনও ঠিক করে না।

ডাব্লু 3 সি এটি ওয়েবের সাথে একটি মৌলিক সমস্যা হিসাবে দেখেছিল এবং তারা এটি সংশোধন করার জন্য যাত্রা করেছিল। ১৯৯ 1997 সালে প্রকাশিত এক্সএমএল, ক্লায়েন্টদের ক্ষমা করার প্রথাটি ভেঙে দিয়েছিল এবং জানিয়েছে যে এক্সএমএল খাওয়া সমস্ত প্রোগ্রাম অবশ্যই তথাকথিত "সু-গঠন" ত্রুটিগুলি মারাত্মক হিসাবে বিবেচনা করবে। গ্রীক নেতা ড্রাকো যিনি তার আইনের তুলনায় অপেক্ষাকৃত ছোটখাটো লঙ্ঘনের জন্য মৃত্যুদণ্ডের সূচনা করেছিলেন, তার পরে প্রথম ত্রুটিতে ব্যর্থ হওয়ার এই ধারণাটি "কঠোর ত্রুটি পরিচালনা" হিসাবে পরিচিত হয় । যখন ডাব্লু 3 সিটি এইচটিএমএলকে এক্সএমএল ভোকাবুলারি হিসাবে সংস্কার করেছিল, তারা বাধ্যতামূলক করেছিল যে নতুন application/xhtml+xmlএমআইএমআই টাইপের সাথে পরিবেশন করা সমস্ত দস্তাবেজগুলি ত্রুটিযুক্ত ত্রুটি পরিচালনার সাপেক্ষে। যদি আপনার এক্সএইচটিএমএল পৃষ্ঠায় এমনকি একটি একমাত্র সু-গঠনের ত্রুটিও ছিল […] ওয়েব ব্রাউজারগুলির প্রক্রিয়া বন্ধ করা এবং শেষ ব্যবহারকারীর কাছে ত্রুটি বার্তা প্রদর্শন করা ছাড়া আর কোনও উপায় থাকত না।

এই ধারণাটি সর্বজনীনভাবে জনপ্রিয় ছিল না। বিদ্যমান পৃষ্ঠাগুলিতে 99% এর আনুমানিক ত্রুটি হার সহ, শেষ ব্যবহারকারীর কাছে ত্রুটিগুলি প্রদর্শনের চিরকালীন সম্ভাবনা এবং ব্যয়টিকে ন্যায়সঙ্গত করার জন্য এক্সএইচটিএমএল 1.0 এবং 1.1 এ নতুন বৈশিষ্ট্যগুলির ঘাটতি, ওয়েব লেখকরা মূলত উপেক্ষা করেছেন application/xhtml+xml। তবে এর অর্থ এই নয় যে তারা পুরোপুরি এক্সএইচটিএমএল উপেক্ষা করেছে। ওহ, অবশ্যই না। এক্সএইচটিএমএল ১.০ স্পেসিফিকেশনের পরিশিষ্ট সি বিশ্বের ওয়েব লেখকদের একটি ফাঁকফোকর দিয়েছে: "এমন কিছু ব্যবহার করুন যা এক্সএইচটিএমএল সিনট্যাক্সের মতো দেখায়, তবে এটি text/htmlমাইএম টাইপের সাথে পরিবেশন করে রাখুন ।" এবং হাজার হাজার ওয়েব বিকাশকারী ঠিক ঠিক এটাই করেছেন: তারা এক্সএইচটিএমএল সিনট্যাক্সে "আপগ্রেড" করেছেন তবে এটি কোনও পাঠ্য / এইচটিএমএল মাইমে টাইপের সাথে পরিবেশন করে চলেছে।

আজও লক্ষ লক্ষ ওয়েব পৃষ্ঠাগুলি এক্সএইচটিএমএল বলে দাবি করে। তারা প্রথম লাইনে এক্সএইচটিএমএল ডক্টাইপ দিয়ে শুরু করে, ছোট হাতের নাম ট্যাগ ব্যবহার করে, বৈশিষ্ট্যগুলির মানগুলির চারপাশে উদ্ধৃতি ব্যবহার করে এবং <br />এবং এর মতো খালি উপাদানগুলির পরে একটি পিছনে স্ল্যাশ যুক্ত করে <hr />। তবে এই পৃষ্ঠাগুলির কেবলমাত্র একটি ক্ষুদ্র ভগ্নাংশই application/xhtml+xmlমাইএম টাইপের সাথে পরিবেশন করা হবে যা এক্সএমএল এর ভয়াবহ ত্রুটি হ্যান্ডলিংকে ট্রিগার করবে। কোনও মাইম টাইপের সাথে পরিবেশন করা যে কোনও পৃষ্ঠা text/html- ডক্টিপ, সিনট্যাক্স বা কোডিং স্টাইল নির্বিশেষে - একটি "ক্ষমাশীল" এইচটিএমএল পার্সার ব্যবহার করে বিশ্লেষণ করা হবে, নিঃশব্দে কোনও মার্কআপ ত্রুটি উপেক্ষা করবে এবং শেষ ব্যবহারকারীদের (বা অন্য কাউকে) সতর্ক না করে এমনকি পৃষ্ঠাগুলি প্রযুক্তিগতভাবে ভেঙে গেছে

এক্সএইচটিএমএল ১.০ এই লুফোলটি অন্তর্ভুক্ত করেছে, তবে এক্সএইচটিএমএল ১.১ এটি বন্ধ করে দিয়েছিল, এবং চূড়ান্তভাবে চূড়ান্ত হওয়া এক্সএইচটিএমএল ২.০ এ ট্র্যাঙ্কোনিয়ান ত্রুটি পরিচালনা করার রীতিটি অব্যাহত রেখেছিল। আর সে কারণেই এমন কোটি কোটি পৃষ্ঠা রয়েছে যা দাবি করে এক্সএইচটিএমএল ১.০, এবং কেবলমাত্র মুষ্টিমেয় যেগুলি এইচএইচটিএমএল ১.১ (বা এক্সএইচটিএমএল ২.০) বলে দাবি করে। তাহলে আপনি কি সত্যিই এক্সএইচটিএমএল ব্যবহার করছেন? আপনার মাইমির প্রকারটি পরীক্ষা করুন। (প্রকৃতপক্ষে, আপনি কী মাইম টাইপ ব্যবহার করছেন তা যদি আপনি না জানেন তবে আপনি এখনও ব্যবহার করছেন এমন গ্যারান্টি আমি দিতে পারি text/html)) আপনি যদি কোনও পৃষ্ঠার মাইম টাইপের সাথে পরিবেশন না করেন তবে আপনার application/xhtml+xmlতথাকথিত "এক্সএইচটিএমএল" শুধুমাত্র নামেই এক্সএমএল।

[টি] তিনি যে সমস্ত মানুষ বিবর্তিত এইচটিএমএল এবং এইচটিএমএল ফর্মগুলির প্রস্তাব করেছিলেন তাদের দুটি বিকল্পের মুখোমুখি হয়েছিল: ছেড়ে দেওয়া বা ডাব্লু 3 সি এর বাইরে তাদের কাজ চালিয়ে যাওয়া। তারা পরেরটি বেছে নিয়েছিল, whatwg.orgডোমেনটি নিবন্ধভুক্ত করেছিল এবং জুন ২০০৪- এ WHAT ওয়ার্কিং গ্রুপের জন্ম হয়েছিল

[টি] তিনি যাঁর ওয়ার্কিং গ্রুপ চুপচাপ আরও কয়েকটি বিষয়ে কাজ করছিল। এর মধ্যে একটি হ'ল একটি স্পেসিফিকেশন, প্রথমে ডাব করা ওয়েব ফর্ম 2.0 , যা এইচটিএমএল ফর্মগুলিতে নতুন ধরণের নিয়ন্ত্রণ যুক্ত করে। (আপনি অ্যাড ফর্ম অফ ম্যাডনে ওয়েব ফর্ম সম্পর্কে আরও শিখতে পারবেন ।) আরেকটি ছিল "ওয়েব অ্যাপ্লিকেশনস ১.০" নামে একটি খসড়া স্পেসিফিকেশন, যার মধ্যে ডাইরেক্ট-মোড অঙ্কন ক্যানভাস এবং প্লাগইন ছাড়াই অডিও এবং ভিডিওর জন্য নেটিভ সহায়তার মতো নতুন নতুন বৈশিষ্ট্য অন্তর্ভুক্ত ছিল ।

২০০৯ সালের অক্টোবরে ডাব্লু 3 সি এক্সএইচটিএমএল 2 ওয়ার্কিং গ্রুপ বন্ধ করে দিয়েছিল এবং তাদের সিদ্ধান্তটি ব্যাখ্যা করতে এই বিবৃতি জারি করেছে :

যখন ডাব্লু 3 সি মার্চ 2007 এ এইচটিএমএল এবং এক্সএইচটিএমএল 2 ওয়ার্কিং গ্রুপগুলির ঘোষণা করল, আমরা ইঙ্গিত দিয়েছিলাম যে আমরা এক্সএইচটিএমএল 2 এর বাজার পর্যবেক্ষণ করব W ডাব্লু 3 সি এইচটিএমএল এর ভবিষ্যত সম্পর্কে সম্প্রদায়ের কাছে একটি স্পষ্ট সংকেতের গুরুত্ব স্বীকার করে।

যদিও আমরা কয়েক বছর ধরে এক্সএইচটিএমএল 2 ওয়ার্কিং গ্রুপের অবদানের মূল্য স্বীকৃতি দিয়েছি, অংশগ্রহণকারীদের সাথে আলোচনার পরে ডাব্লু 3 সি পরিচালনটি ২০০৯ সালের শেষের দিকে ওয়ার্কিং গ্রুপের সনদটি শেষ হওয়ার এবং এটি পুনর্নবীকরণ না করার সিদ্ধান্ত নিয়েছে।

যেগুলি জিতবে তারাই সেই জাহাজটি।


12

আমি জিজ্ঞাসা করার কারণটি হ'ল সামঞ্জস্যের কারণে আপনি এটি কেবলমাত্র optionচ্ছিক জানেন; এবং তারা থাকতে পারলে এগুলি (বাধ্যতামূলক | নিষিদ্ধ) করে দিত।

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

এইচটিএমএল 1, 2, 3 এইগুলির সাথে কী করেছে, এখন alচ্ছিক, ক্লোজিং ট্যাগগুলি।

এইচটিএমএল 2 এর জন্য ডিটিডি আরএফসিতে এম্বেড হয়েছে যা মূল HTML টিটিডি সহ পুরো জায়গাতে over চ্ছিক শুরু এবং শেষ ট্যাগ রয়েছে।

এইচটিএমএল 3 পরিত্যাগ করা হয়েছিল (ব্রাউজার যুদ্ধের জন্য ধন্যবাদ) এবং এইচটিএমএল 3.2 (যা ওয়েবের তত্কালীন বর্তমান অবস্থার বর্ণনা দেওয়ার জন্য ডিজাইন করা হয়েছিল) দিয়ে প্রতিস্থাপন করা হয়েছিল।

এইচটিএমএল 5 কী করে?

এইচটিএমএল 5 শুরু থেকেই "কাউপাথগুলিকে প্রশস্ত করার" দিকে প্রস্তুত ছিল।

এবং আমি কি করা উচিত?

আহ, এখন বিষয় ও যুক্তিযুক্ত :)

কিছু লোক মনে করেন যে সুস্পষ্ট ট্যাগগুলি পাঠকের চোখের সামনে থাকার কারণে পাঠযোগ্যতা এবং রক্ষণাবেক্ষণের পক্ষে আরও ভাল।

কিছু লোক মনে করেন যে সম্পাদককে বিশৃঙ্খলা না করার কারণে অনুমানযুক্ত ট্যাগগুলি পঠনযোগ্যতা এবং রক্ষণাবেক্ষণের পক্ষে আরও ভাল।


1
+1 আমি "নির্ভরযোগ্যভাবে অনুমান করা" ধারণাটি ভাবিনি। যাতে এই ধারণাটির পক্ষে যায় যে কোনওভাবেই বা অন্যভাবে কোনও উদ্দেশ্য ছিল না। আমি ধরে নিয়েছি যে স্পেসিফিকেশনটি বিদ্যমান এইচটিএমএল সামগ্রী এবং এইচটিএমএল স্পেসিফিকেশনের সাথে যথাসম্ভব সামঞ্জস্যপূর্ণ হওয়ার চেষ্টা করছে।
ইয়ান বয়ড

দুঃখিত, ডেভ, আমি এটি aslum এ দিয়েছি; তার প্রতিনিধি দরকার :) তবে আপনার আরও একই লিঙ্কযুক্ত এবং উদ্ধৃত সামগ্রী সহ একই ধারণা রয়েছে। তবে সুন্দর উত্তর।
ইয়ান বয়ড

8

এইচটিএমএল 5 কী করে?

এই প্রশ্নের উত্তরটি ডাব্লু 3 সি ওয়ার্কিং ড্রাফ্টে রয়েছে: http://www.w3.org/TR/html5/syntax.html#syntax-tag-ommission

এবং আমি কি করা উচিত?

এটি স্টাইলের বিষয়। আমি কখনোই ফেরত শেষ ট্যাগ চেষ্টা করা হয়েছে কারণ এটি সাহায্য করে আমাকে কঠোর এবং হতে না ফেরত ট্যাগ যে প্রয়োজন।


খসড়া এইচটিএমএল 5 স্পেসের লিঙ্ক এবং উপযুক্ত বিভাগের জন্য +1। তবে এইচটিএমএল 5 কোনওভাবে বা অন্যভাবে বলে না।
ইয়ান বয়ড

6

যদি এটি অতিমাত্রায় হয় তবে এটি ছেড়ে দিন।

যদি এটি কোনও উদ্দেশ্যে কাজ করে (এমনকি আপনার আইডিইকে প্রশংসিত করা বা আপনার চোখকে প্রশান্ত করার মতো একটি আপাতদৃষ্টির তুচ্ছ উদ্দেশ্য )ও এটি রেখে দিন।

এটি কোনও আচরণকে প্রভাবিত করে না এমন alচ্ছিক আইটেমগুলি দেখতে একটি সংজ্ঞায়িত বিশ্লেষণে বিরল। অবশ্যই "মন্তব্য" বাদে। তবে এইচটিএমএল স্পেকটি কোনও নকশাকরণের তুলনায় কম, এবং বর্তমানের বড় বড় বাস্তবায়নের রাজ্যের একটি নথি বেশি। সুতরাং যখন কোনও আইটেম এইচটিএমএলে alচ্ছিক এবং এটি কোনও উদ্দেশ্য হিসাবে কাজ করে না বলে মনে হয়, তখন আমরা অনুমান করতে পারি যে alচ্ছিক প্রকৃতিটি নির্দিষ্ট ব্রাউজারে নিছক একটি দৌরাত্বে ডকুমেন্টেশন।

উপরে লিঙ্কযুক্ত এইচটিএমএল -5 স্পেস আরএফসি বিভাগটি দেখে আপনি দেখতে পাচ্ছেন যে alচ্ছিক ট্যাগগুলি মন্তব্যগুলির উপস্থিতির সাথে অদ্ভুতভাবে লিঙ্কযুক্ত! এটি আপনাকে বলা উচিত যে লেখকরা ডিজাইনের টুপি পরেছেন না। তারা পরিবর্তে বড় বাস্তবায়নে "দ্য উইকিপিডিয়ানদের দস্তাবেজ" গেমটি খেলছে। সুতরাং আমরা এই বিষয়ে অনুমানটিকে খুব গুরুত্বের সাথে নিতে পারি না।

সুতরাং, সমাধানটি হ'ল: এটি ঘামবেন না। আসলে গুরুত্বপূর্ণ যে কিছুতে যান। :)


5

আমি মনে করি সবচেয়ে ভাল উত্তর হ'ল পাঠযোগ্যতা বা ত্রুটি সনাক্তকরণের জন্য ক্লোজিং ট্যাগগুলি অন্তর্ভুক্ত করা। তবে, আপনার যদি প্রচুর জেনারেট এইচটিএমএল (বলুন, ডেটার টেবিল) থাকে তবে আপনি alচ্ছিক ট্যাগ বাদ দিয়ে উল্লেখযোগ্য ব্যান্ডউইথকে সঞ্চয় করতে পারেন।


2
রিচার্ড: আপনি যখন কাঠামো গভীরভাবে বাসা বেঁধেছেন তখন ত্রুটিগুলি খুঁজে পাওয়া আপনার পক্ষে সহজতর কারণ সমাপ্তি ট্যাগগুলি উদ্দেশ্য সম্পর্কে আরও তথ্য দেয়।
গাবে

1
আমি মনে করি "ক্লোজিং ট্যাগগুলি উদ্দেশ্য সম্পর্কে আরও তথ্য দেয়" এই প্রশ্নের সেরা সংক্ষিপ্ত উত্তর। একরকম বা অন্যভাবে একটি ভাল স্পষ্ট কারণ যুক্তিযুক্ত।
স্কয়ারকাণ্ডি

4

আমার প্রস্তাবটি হ'ল আপনি বেশিরভাগ alচ্ছিক নিকটবর্তী ট্যাগগুলি এবং সমস্ত optionচ্ছিক বৈশিষ্ট্য যা আপনি এড়িয়ে যেতে পারেন তা বাদ দিন। অনেক আইডিই অভিযোগ করবে যাতে আপনি এর মধ্যে কিছু বাদ দিয়ে হয়ত পালাতে পারবেন না তবে এটি সাধারণত ফাইল আকার এবং কম বিশৃঙ্খলার জন্য ভাল। আপনার যদি কোড জেনারেটর থাকে তবে অবশ্যই এটি শেষ ট্যাগগুলি বাদ দেয় কারণ আপনি এটি থেকে কিছু ভাল আকার হ্রাস পেতে পারেন। সাধারণত এটি কোনওভাবেই বা অন্যভাবে কিছু যায় আসে না।

তবে যখন বিষয়টি গুরুত্বপূর্ণ তখন এটিতে কাজ করুন। আমার কিছু সাম্প্রতিক কাজের জন্য আমি উন্মুক্ত ট্যাগের জন্য উত্পাদিত শেষ এবং রিডান্ট্যান্ট মান বৈশিষ্ট্যগুলির বেশিরভাগ সরিয়ে আমার রেন্ডার এইচটিএমএলটির আকার 1.5 এমবি থেকে 800 কেবি কমিয়ে আনতে সক্ষম হয়েছি, যেখানে উপাদানটির পাঠ্যটি একই ছিল মান। আমার প্রায় 200 টি ট্যাগ রয়েছে। আমি এটি অন্য কোনও উপায়ে পুরোপুরি বাস্তবায়ন করতে পারতাম তবে এটি আরও কাজ হবে ($$$), সুতরাং এটি আমার সহজে পৃষ্ঠাটি আরও প্রতিক্রিয়াশীল করতে সক্ষম করে।

কৌতূহলের বাইরে আমি জানতে পেরেছিলাম যে আমি যদি এমন বৈশিষ্ট্যগুলির আশেপাশের উদ্ধৃতিগুলি সরিয়ে ফেলি তবে আমি 20 কেবি সঞ্চয় করতে পারি তবে আমার আইডিই (ভিজ্যুয়াল স্টুডিও) এটি পছন্দ করে না। আমি এও জানতে পেরে অবাক হয়েছি যে সত্যিকারের দীর্ঘ আইডি যা এএসপি.এনইটি আমার ফাইলের 20% অ্যাকাউন্ট জেনারেট করে।

আমরা এইচটিএমএল সম্পর্কিত যে কোনও প্রাসঙ্গিক ভগ্নাংশটি কঠোরভাবে বৈধ হয়ে উঠতে পারি এই ধারণাটি প্রথমে বিপথগামী হয়েছিল, সুতরাং আপনার এবং আপনার গ্রাহকদের জন্য যা কার্যকর হবে তা করুন। বেশিরভাগ সরঞ্জাম যা আমি দেখেছি বা ব্যবহার করেছি সেগুলি বলে যে তারা এক্সএইচটিএমএল তৈরি করে তবে তারা সত্যই 100% কাজ করে না, এবং যাইহোক কঠোরভাবে মেনে চলার কোনও লাভ নেই।


Hardচ্ছিক শেষ-ট্যাগগুলি বাদ দেওয়া আমি খুব কমই গ্রহণ করতে পারি, তবে গুণাবলীর উদ্ধৃতিগুলি বাদ দেওয়া আমার পক্ষে এটি একটি খারাপ ধারণা বলে মনে হয়। আপনি কিছু ব্রাউজারে সেভাবে ভাঙ্গতে আপনার সাইটকে ঝুঁকিপূর্ণ করছেন। আপনার যদি 800kb এইচটিএমএল ফাইল থাকে তবে আপনি মারাত্মক কিছু ভুল করছেন।
ক্রিস্টোফ

2
@ ক্রিসটফ: এইচটিএমএল স্পেসিফিকেশন অনুযায়ী alচ্ছিক শেষ ট্যাগগুলি (যেমন </p>বা </li>) ছাড়াই পুরোপুরি ঠিক আছে। যদি ব্রাউজারটি এটি বুঝতে না পারে, তবে এটি ব্রাউজারে সমস্যা।
কনরাড বোরোস্কি

2

ব্যক্তিগতভাবে, আমি এক্সএইচটিএমএল এর অনুরাগী এবং গোপ্পের মতো, "আমি শেষ ট্যাগগুলি কখনই বাদ দিতে চেষ্টা করি না কারণ এটি আমাকে কঠোর হতে এবং প্রয়োজনীয় ট্যাগগুলি বাদ দিতে সহায়তা করে না" "

কিন্তু

আপনি যদি ইচ্ছাকৃতভাবে এইচটিএমএল ৪.এন ব্যবহার করছেন তবে কেউ যুক্তি দিতে পারবেন না যে এগুলি সহ ডকুমেন্টটি গ্রাস করা সহজ হয়েছে, কারণ বৈধতার বিরোধিতা হিসাবে সু-গঠনের ধারণাটি একটি এক্সএমএল ধারণা, এবং আপনি যখন সেই সুবিধাটি হারাবেন তখন নির্দিষ্ট ঘনিষ্ঠ ট্যাগ নিষিদ্ধ । সুতরাং কেবলমাত্র ইস্যুটি বৈধতা হয়ে যায় ... এবং যদি তা এখনও তাদের বৈধ হয় ... আপনি সম্ভবত ব্যান্ডউইথকেও সংরক্ষণ করতে পারেন, না?


2

শেষ ট্যাগ ব্যবহার করে টুকরোগুলি মোকাবেলা করা সহজ করে তোলে কারণ তাদের আচরণ সহোদরকারী উপাদানের উপর নির্ভর করে না। এই কারণটি একাই যথেষ্ট বাধ্যযোগ্য হওয়া উচিত। একক এইচটিএমএল ডকুমেন্টগুলির সাথে কি আর কেউ ডিল করে?


1

সি # এর মতো কয়েকটি কোঁকড়ানো বন্ধনী ভাষায়, যদি কেবল দুটি রেখা দীর্ঘ হয় তবে আপনি যদি বিবৃতিটির চারপাশে কোঁকড়ানো বন্ধনীগুলি বাদ দিতে পারেন। উদাহরণ স্বরূপ...

যদি ([শর্ত])
    [কোড]

তবে আপনি এটি করতে পারবেন না ...

যদি ([শর্ত])
    [কোড]
    [কোড]

তৃতীয় লাইনটি যদি বিবৃতিটির অংশ না হয়। এটি পাঠযোগ্যতার ক্ষতি করে এবং বাগগুলি সহজেই পরিচয় করানো যায় এবং এটি খুঁজে পাওয়া কঠিন difficult

একই কারণে, আমি সমস্ত ট্যাগ বন্ধ। আইএমজি ট্যাগের মতো ট্যাগগুলি এখনও বন্ধ করা দরকার, কেবল একটি পৃথক ক্লোজিং ট্যাগ দিয়ে নয়।


আপনি এত জটিল যে এইচটিএমএল এর উদাহরণ দিতে পারেন? আমার অভিজ্ঞতায় endচ্ছিক শেষ ট্যাগগুলি তেমন প্রতারণামূলক নয়।
কর্নেল

আমি মনে করি কয়েক বছর আগে আই 7 এর সাথে একটি সমস্যা হয়েছিল যেখানে আমি এতে লেখা পাঠ্য থেকে পৃথক লাইনে একটি খোলার লি ট্যাগটি পেয়েছি, কোনও ক্লোজিং লি না দিয়ে, আই 7 একটি বড় বুলেটের মতো সমস্ত বুলেটকে চিকিত্সা করেছিল। ট্যাগ এবং পাঠ্যকে এক লাইনে রেখে দেওয়া বা ট্যাগটি বন্ধ করা সমস্যার সমাধান করবে। যদিও আমি এখন এটি তিরস্কার করতে পারি বলে মনে হচ্ছে না, সুতরাং এটির সম্ভবত সিএসএসের সাথে খেলার কিছু ছিল। তবে এটিকে "কানাডায় আমার পুরোপুরি এক বান্ধবী আছে!" হিসাবে গ্রহণ করার জন্য আমি আপনাকে দোষ দেব না গল্প.
মিগুয়েলআর

0

আপনি যদি এইচটিএমএল পার্সার লিখছিলেন, তবে HTMLচ্ছিক ক্লোজিং ট্যাগগুলি অন্তর্ভুক্ত করা এইচটিএমএলকে পার্স করা কি সহজ হবে না, যা এইচটিএমএল নয়? আমি মনে করি যে presentচ্ছিক সমাপনী ট্যাগগুলি উপস্থিত থাকলে এটি আরও সহজতর হবে, কারণ ক্লোজিং ট্যাগটি কোথায় হওয়া উচিত তা অনুমান করার দরকার নেই।

সেই কারণে আমি সর্বদা alচ্ছিক ক্লোজিং ট্যাগগুলি অন্তর্ভুক্ত করি - এই তত্ত্ব অনুসারে যে আমার পৃষ্ঠাটি দ্রুততর রেন্ডার হতে পারে, কারণ আমি ব্রাউজারের এইচটিএমএল পার্সারের জন্য কম কাজ তৈরি করছি।


1
আমি দ্বিমত পোষণ করি; ভালভাবে formedness ধারণা যেমন বৈধতা উল্টোদিকে একটি XML শুধুমাত্র ধারণা এবং অপ্রাসঙ্গিক হলে আপনি উপাদান যার নিকট ট্যাগ নেই আছে নিষিদ্ধ
রিচার্ড জে পি লে গেন

1
আমি এটি বুঝতে পারি, তবে রেন্ডার করা DOM উপাদানটির শুরু এবং শেষ উভয়ই রয়েছে, এমনকি আপনার HTML ট্যাগটি না থাকলেও। আপনি যদি <li>কোনও ক্লোজিং ট্যাগবিহীন ট্যাগ অন্তর্ভুক্ত করেন তবে কোনও সময়ে ব্রাউজারটি উপাদানটি কোথায় শেষ হবে তা নির্ধারণ করতে হবে এবং আপনি সেই বিন্দুতে একটি শেষ ট্যাগ রেখেছিলেন এমন আচরণ করবেন। এটি তুলনামূলকভাবে তুচ্ছ পরিমাণে যুক্তিযুক্ত হতে পারে, তবে "কিছু" এখনও "কিছুই নয়" এর চেয়ে বেশি এবং আমি মনে করি না যে এটি মনে করা অযৌক্তিক নয় যে alচ্ছিক শেষ ট্যাগগুলি বাদ দেওয়া ব্রাউজারকে যুক্ত করার চেয়ে আরও বেশি কাজ করে।
জোয়েল মুলার

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

@ রিচার্ড - আমি অনুমান করি যে এটি একটি নির্দিষ্ট ব্রাউজারে প্রকৃত বাস্তবায়নের উপর নির্ভর করে তবে আপনি যে উপাদানটি শেষ করতে চান সে সম্পর্কে স্পষ্ট হওয়া ব্রাউজারকে এটি নির্ধারণের চেয়ে বলার চেয়ে খারাপ হতে পারে idea আপনি.
জোয়েল মুয়েলার

@ রিচার্ডজেপিএলগুইন আমার ধারণা, এটি বিধিগুলি ঠিক কীভাবে দেখায় তার উপর নির্ভর করে। যখন আপনি একটি বন্ধ করে দিচ্ছেন </table>এবং আপনার স্ট্যাকটিতে রয়েছে <table><tbody><tr><td>, তখন আপনি যতক্ষণ না মিলছেন ততক্ষণ আপনি সবকিছু বন্ধ করে দিতে পারেন <table>। একইভাবে <p>একটি নন-ক্লক প্রসঙ্গে খোলার জন্য । তবে এর চেয়ে অনেক কঠিন মামলা হতে পারে, আমি জানি না।
মার্টিনাস

-1

আপনি কোডটিকে আরও পঠনযোগ্য এবং বজায় রাখতে সক্ষম বোধ করেন তাই করুন।

ব্যক্তিগতভাবে আমি সর্বদা বন্ধ হতে ঝোঁক থাকতাম <td>এবং <tr>তবে আমি কখনই বিরক্ত হই না <li>


1
আমি আসল নকশা সিদ্ধান্তের বিষয়ে কিছু দিকনির্দেশের জন্য আশা করছিলাম এবং তারা যদি করতে পারত তবে তারা এক্স করত ।
ইয়ান বয়ড

এর মধ্যে পার্থক্য কী <td>এবং <li>এটি আপনাকে বিরক্ত করে না <li>? আমার কাছে কিছুটা পার্থক্য নেই।
ghoppe

কোন প্রযুক্তিগত পার্থক্য নেই, এটি নিখুঁত বিষয়গত। আমার মনে হয় আমি টিডি এবং টিআর বন্ধ করলে HTML আরও ভাল করে পড়তে পারি better তবে আমি কখনও লি এর প্রয়োজন অনুভব করিনি।
ম্যাথু উইলসন

-2

নিষিদ্ধ ক্লোজিং ধরনের মত সিনট্যাক্স ব্যবহার করুন: <img />সঙ্গে />ট্যাগ যা XML- এর গৃহীত বন্ধ করতে


1
এটি এইচটিএমএল 4 এ কাজ করে না (এটি অস্পষ্ট এসজিএমএল সিনট্যাক্সের সাথে মেলে যা কিছু আলাদা করে। এইচটিএমএল 5 এ এটি অনুমোদিত তবে অর্থহীন।
কর্নেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.