ডক্টইপই কি?


174
  • ডক্টইপই কী এবং আমি কেন এটি ব্যবহার করতে চাই?
  • আমি ব্যবহার করতে পারি বিভিন্ন আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা পরিষেবাগুলি কী কী?
  • স্ট্যান্ডার্ড এবং কুইর্কস মোডের মধ্যে পার্থক্য কী এবং আমি আলাদা আলাদাভাবে সেট করা ডক্টইপিইগুলি নিয়ে কিছু দৌড়াতে পারি?

শেষ অবধি, আমার ব্যবহার করা উচিত সঠিক ডক্টইপিইটি কী?


9
এটি কি উইকি হওয়া উচিত নয়?
অ্যালেক্স

উত্তর:


76

মূলত, ডক্টইইপিএইচটিএমএল বর্ণনা করে যা আপনার পৃষ্ঠায় ব্যবহৃত হবে।

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

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

বিভিন্ন ডক্টইপিইপি ব্যবহার করার সময় উইকিপিডিয়ায় রেন্ডারিংয়ের পার্থক্যের আরও গভীরতার সংক্ষিপ্তসার রয়েছে । এক্সএইচটিএমএল নির্দিষ্ট কিছু ডক্টইপিইএস দ্বারা সক্ষম করা হয়েছে এবং এক্সএইচটিএমএল - মিথ এবং বাস্তবতার মধ্যে ভালভাবে আবৃত XHTML ব্যবহার সম্পর্কে বেশ কিছুটা বিতর্ক রয়েছে ।

বিভিন্ন "মান সম্মত" রেন্ডারিং ডিওসিটিইপি এর মধ্যে সূক্ষ্ম পার্থক্য রয়েছে যেমন এইচটিএমএল 5 ডক্টইপিই ( <!DOCTYPE html>কেবলমাত্র HTML5 এর পূর্বে, কেবল "পুরানো ব্রাউজারগুলিতে স্ট্যান্ডার্ডাইজড রেন্ডারিং ট্রিগার করে না") এবং অন্যান্য DOCTYPE যেমন যেমন এইগুলির জন্য এইচটিএমএল 4.01 ট্রানজিশনাল:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

39
এই দিনগুলিতে আমি এইচটিএমএল 5 ডক্টপিকে সমর্থন করি: <! ডক্টইপিএইচটিএমএল> এটি আই 6 সহ সমস্ত আধুনিক ব্রাউজারে কাজ করে।
ওয়াল্টার রুমসবি

53

26

ডক্টইপিই গ্রাহক ব্যবহারকারী এজেন্টকে (ওয়েব ব্রাউজারগুলি, ওয়েব ক্রলারগুলি, বৈধকরণ সরঞ্জামগুলি) ফাইলটি কী ধরণের ডকুমেন্টের তা বলে tells এটি ব্যবহার করা নিশ্চিত করে যে গ্রাহক আপনার ইচ্ছা অনুসারে HTML টি সঠিকভাবে পার্স করেছে।

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

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

একটি চূড়ান্ত চিন্তা হ'ল নতুন এইচটিএমএল 5 স্ট্যান্ডার্ডটি একটি খুব সাধারণ ডক্টপিইপি ব্যবহার করে প্রস্তাব দেয়:

<!DOCTYPE html>

আপনার পৃষ্ঠাগুলি স্ট্যান্ডার্ড মোডে রয়েছে এবং এটি এইচটিএমএল রয়েছে তা নির্দিষ্ট করার জন্য এই ডক্টইপিই ব্যবহার করা একটি সামনের সামঞ্জস্যপূর্ণ উপায়। গুগল এই পদ্ধতিটি ব্যবহার করে এবং এটি মনে রাখা সহজ reason আপনি যদি এইচটিএমএল ব্যবহার করার পরিকল্পনা না করেন তবে আমি এই ডক্টইপিইটি ব্যবহার করার পরামর্শ দিচ্ছি।


2
ডক্টপই এইচটিএমএল ট্যাগ? যদি তাই হয়, তবে কেন এটি শুরু করার দরকার আমাদের?
কৌতূহলীমা

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

6

একটি ডক্টাইপ আপনার ডকুমেন্টটি HTML / XHTML এর কোন সংস্করণ ব্যবহার করে তা সংজ্ঞায়িত করে। আপনি একটি ডক্টাইপ ব্যবহার করতে চান যাতে আপনি যখন কোডটি ভ্যালিডেটরগুলির মাধ্যমে চালাবেন, তখন বৈধতাবিদরা জানতে পারবেন যে কোনও সংস্করণটি এইচটিএমএল / এক্সএইচটিএমএলের বিরুদ্ধে পরীক্ষা করা উচিত। এই পৃষ্ঠাটি একটি ভাল ওভারভিউ সরবরাহ করে:

একটি ডক্টাইপ যুক্ত করতে ভুলবেন না

আপনি ব্যবহার করতে পারেন এমন সাধারণ দস্তাবেজগুলি এখানে তালিকাভুক্ত রয়েছে:

ডিটিডিগুলির প্রস্তাবিত তালিকা

আপনার যে ডকটিপটি সহ চলতে হবে তা আপনি যে কোডটি ব্যবহার করছেন তার উপর নির্ভর করে তবে একটি ধারণা পেতে ডাব্লু 3 সি ভ্যালিডেটরের মাধ্যমে আপনার কোডটি চালানোর চেষ্টা করুন এবং "বিভিন্ন বিকল্প" মেনুতে ডকুমেন্ট টাইপের ড্রপ-ডাউন মেনুটি ব্যবহার করে বিভিন্ন ডকুমেন্ট টাইপ করার চেষ্টা করুন ।

ডাব্লু 3 সি মার্কআপ বৈধকরণ পরিষেবা


3

ওয়েব পৃষ্ঠায় ব্যবহৃত হিসাবে এইচটিএমএল (এক্সএইচটিএমএল সহ), ডক্টইপিই হ'ল একটি স্ট্রিং যা কিছু ব্রাউজার মোডগুলির একটি (ট্রিগার মোড, স্ট্যান্ডার্ডস মোড, প্রায় স্ট্যান্ডার্ড মোড) ট্রিগার করে যা ডকটিইপিইয়ের সঠিক বানানের উপর নির্ভর করে। আপনি এটি আপনার ব্রাউজার মোডটি বেছে নিতে ব্যবহার করতে চান যা আপনার পৃষ্ঠার পক্ষে সবচেয়ে উপযুক্ত।

সাধারণত, এসজিএমএল এবং এক্সএমএল-তে একটি ডক্টইপিইপি ঘোষণাটি একটি ডকুমেন্ট টাইপ সংজ্ঞা (ডিটিডি) এর একটি উল্লেখ, যা মার্কআপ ভাষার আনুষ্ঠানিক বাক্য গঠন নিয়মগুলি নির্দিষ্ট করে। কোনও ব্রাউজার কোনও কিছুর জন্য ডিটিডি ব্যবহার করে নি এমনকি সেগুলিতে অ্যাক্সেসও করেছে। তবে এগুলি HTML5 মোড ব্যতীত এসজিএমএল এবং এক্সএমএল মার্কআপ ভ্যালিডেটর যেমন ডাব্লু 3 সি মার্কআপ ভ্যালিডেটর দ্বারা ব্যবহৃত হয় । অতএব, ডক্টইপিইপি-র পছন্দটি নির্ধারণ করে যে কীভাবে কোনও বৈধকরণকারী ডকুমেন্টটি জমা দিলে তা কাজ করে। তবে এর ব্যবহারকারীর ইন্টারফেসে অপারেশনটির বৈধকরণকারী মোড নির্বাচন করা যেতে পারে। (এসজিএমএল এবং এক্সএমএল প্রসেসরগুলিও অন্য বিভিন্ন উপায়ে ডক্টইপিই ব্যবহার করতে পারে, তবে প্রশ্নটি সম্ভবত স্পষ্টভাবে এইচটিএমএল প্রসঙ্গে এবং ওয়েব ব্রাউজারগুলিতে এবং ঘনিষ্ঠভাবে সম্পর্কিত সফ্টওয়্যারগুলির মধ্যেই সীমাবদ্ধ to

ডিওসিটিওয়াইপিগুলির কোনও অনুমোদিত তালিকা নেই। প্রতিটি এইচটিএমএল স্পেসিফিকেশন বা খসড়া তার নিজস্ব ডক্টইপিই বা ডক্টইপিইগুলি সংজ্ঞায়িত করে। মোড নির্বাচন করার সময় ব্রাউজারগুলির দ্বারা স্বীকৃত ডক্টইপিইপিগুলির সেট ব্রাউজারের দ্বারা পরিবর্তিত হয়। অনুশীলনে, <DOCTYPE html> এইচটিএমএল 5-এ সংজ্ঞায়িত ব্যতীত অন্য কোনও ডক্টইপিই ব্যবহার করার কোনও কারণ নেই , যদিও এইচটিএমএল 5 কয়েকটি "লিগ্যাসি ডক্টইপেসি" তালিকাভুক্ত করে। আপনি যদি মানক মোড (নতুন পৃষ্ঠাগুলির জন্য প্রস্তাবিত) চান তবে আপনি এই ডকটিইপিই ব্যবহার করতে পারেন এবং যদি আপনি কোয়ার্কস মোড চান (তবে আপনার উত্তরাধিকার পৃষ্ঠাগুলির প্রয়োজন হতে পারে) তবে কোনও ডক্টইপিই ব্যবহার করতে পারেন।

"স্ট্যান্ডার্ডস মোড" বলতে সাধারণত অপারেশন মোড বোঝায় যেখানে কোনও ব্রাউজার এইচটিএমএল, সিএসএস, ডিওএম এবং অন্যান্য স্পেসিফিকেশনকে তার সেরা অনুসরণ করে। এটি সাধারণত সম্পূর্ণ অনুভূতি বলতে বোঝায় না। "কুইর্কস মোড" বিভিন্ন ব্রাউজারে পৃথক, তবে সাধারণত এটি আই 5 এর মতো খুব পুরানো ব্রাউজারগুলির আচরণ অনুকরণ করার চেষ্টা করা হয় old উদ্দেশ্য পুরানো পৃষ্ঠাগুলিকে কাজ করে রাখা, এই ধারণার অধীনে যে তারা বৈশিষ্ট্য এবং বাগগুলিতে নির্ভর করতে পারে পুরানো ব্রাউজারগুলি। বিবরণ দেখুন কুইর্কস মোডে কি হয়? নোট করুন যে এইচটিএমএল 5-তে একটি "কুইর্কস মোড" এর পরিবর্তে আরও একটি পৃথক, আরও সীমিত ধারণা রয়েছে, যা কুইর্কস মোড লিভিং স্ট্যান্ডার্ড নামক নথির সাথে সাদৃশ্যপূর্ণ ।

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

সুতরাং আপনার <!DOCTYPE html>নতুন পৃষ্ঠাগুলির জন্য ব্যবহার করা উচিত এবং আপনি পুরানো পৃষ্ঠাগুলির জন্য যা ব্যবহার করে যা যা করা উচিত (যদি থাকে) রাখুন।

তবে কুইর্কস মোড মানে কিছু ব্রাউজারে সিএসএসের অনেকগুলি নতুন বৈশিষ্ট্য সমর্থিত নয়। এর অর্থ হ'ল আপনি যদি কিছু সিএসএস 3 বৈশিষ্ট্য সহ কোনও পুরাতন পৃষ্ঠাটি বাড়িয়ে তুলতে চান তবে মানক মোডটিকে ট্রিগার করে এমন একটি ডক্টইপিইপিতে স্যুইচ করার প্রয়োজন হতে পারে। এই জাতীয় ক্ষেত্রে, পৃষ্ঠাটি এটি স্ট্যান্ডার্ড মোডে চলবে কিনা তা দেখার জন্য আপনাকে পর্যালোচনা এবং পরীক্ষা করতে হবে।


অতিরিক্ত বিশদগুলির জন্য ধন্যবাদ, বিশেষত এগুলি: «কোনও ব্রাউজার কখনও কোনও কিছুর জন্য ডিটিডি ব্যবহার করেনি বা এমনকি এটি অ্যাক্সেসও করতে পারেনি » এবং HTML এইচটিএমএল 5 defined<DOCTYPE html> হিসাবে সংজ্ঞায়িত ব্যতীত অন্য কোনও ডক্টপিইপি ব্যবহার করার কোনও কারণ নেই »
আর্মফুট

2

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

পৃষ্ঠাটি রেন্ডার করতে ব্রাউজারটিকে বলুন HTML4 strict। পুরানো ব্রাউজারগুলি পৃষ্ঠাগুলিকে ভুলভাবে রেন্ডার করতে ব্যবহৃত হত এবং তাই নতুন ব্রাউজারগুলি যখন কোনও পুরানো ডক্টাইপ খুঁজে পায় তখন পুরানো ব্রাউজারগুলির ত্রুটিগুলি অনুকরণ করে।

আজ আপনার কমপক্ষে এইচটিএমএল 4 বা আরও ভাল এক্সএইচটিএমএল ব্যবহার করা উচিত।

ডক্টাইপস সম্পর্কে একটি ব্লগ এন্ট্রি হ'ল ডান ডক্টইপিই দিয়ে আপনার সাইটটি ঠিক করুন! ( একটি তালিকা ছাড়াও )


1

সবার আগে আপনার ব্যবহার করা উচিত এমন কোনও ডক্টাইপ নেই, তবে বেশিরভাগ ডিজাইনার এটিকে XHTML 1.0 কঠোর মধ্যে কাজ করার চেষ্টা করে।

একটি ডক্টাইপ হ'ল এইচটিএমএল-তে আপনি কোন ট্যাগ ব্যবহার করতে পারবেন তা ঘোষণার বাইরে কিছুই নয় (যদিও ব্রাউজারগুলি সংজ্ঞায়িত সংখ্যার চেয়ে কম বা কম ব্যবহার করতে পারে) আপনি প্রকৃতপক্ষে ডক্টাইপ ফাইলটি খুলতে এবং পঠন শুরু করতে পারেন ( এক্সএইচটিএমএল 1.0 কঠোর )

আপনি যদি কোনও ডক্টাইপ নির্দিষ্ট না করেন তবে ব্রাউজারটি অনুমানের জন্য যথাসাধ্য চেষ্টা করবে তবে সবসময় সঠিক ধরণের হিট দেয় না।

কুইর্কস মোডটি ব্রাউজারগুলির দ্বারা পিছনের দিকে সামঞ্জস্যপূর্ণ হওয়ার জন্য ব্যবহৃত একটি কৌশল, কুইর্কস মোডের একটি দুর্দান্ত উদাহরণ হল IE কীভাবে বাক্সগুলি রেন্ডার করে


1

ডক্টাইপ হ'ল একটি নথি যা এক্সএইচটিএমএল-জাতীয় দস্তাবেজের সামগ্রীগুলি (ওয়েবপৃষ্ঠার মতো) দেখতে কেমন তা বর্ণনা করে। দ্রষ্টব্য: এটি কেবলমাত্র পৃষ্ঠার বাক্য গঠনটিই সংজ্ঞায়িত করে, পৃষ্ঠার রেন্ডারিংটি ডিটিডি দ্বারা সংজ্ঞায়িত করা হয়নি!

উদাহরণস্বরূপ, কোনও <table>ডক্টাইপ সংজ্ঞা দিতে পারে যে -ট্যাগটি দেখতে কেমন হতে পারে - এটি কোন বৈশিষ্ট্যগুলি গ্রহণ করে এবং প্রতিটি বৈশিষ্ট্যের জন্য কোন মান / ভ্যালুটিটাইপ গ্রহণ করা হয়। আপনার বর্তমান ওয়েবপৃষ্ঠার জন্য এটিকে অভিধান হিসাবে ভাবেন।

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

কোনটি ডিটিডি ব্যবহার করবেন তা নির্ভর করে আপনি কী লিখতে চলেছেন। উদাহরণস্বরূপ, এক্সএইচটিএমএলটির HTML এর চেয়ে সম্পূর্ণ আলাদা ডিটিডি রয়েছে।


1

ওয়েবে, একটি ডক্টাইপ ব্রাউজারকে বলার অপেক্ষা রাখে না যে আপনি যদি স্ট্যান্ডার্ড, প্রায় স্ট্যান্ডার্ড বা কুইর্কস মোড চান want

কুইর্কস মোডে কী পরিবর্তন হয় তা ব্রাউজারের উপর নির্ভর করে: ফায়ারফক্স, অপেরা, সাফারি এবং ক্রোম একটি সীমাবদ্ধ সেট ক্রাইকার প্রয়োগ করে, যেমন কোড <table><tr><td><img></td></tr></table>(সমাধান td img { vertical-align:bottom; }:) তে পাঠ্য বংশধরের জন্য স্থান অপসারণ করার মতো । আই আই, অন্যদিকে, আই 5.5 তে রেন্ডারিং ইঞ্জিনে ফিরে আসে। মানে আপনি ব্যবহার করতে সক্ষম হবেন না যে কোনো 2000 সাল থেকে বাস্তবায়িত নতুন বৈশিষ্ট্য।

স্ট্যান্ডার্ড মোডটি ট্রিগার করতে, আমি HTML5 ডক্টিপ ব্যবহার করার পরামর্শ দিচ্ছি <doctype html>, কারণ এটি মনে রাখা সবচেয়ে সহজ।

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