سؤال

  • ما هو DOCTYPE ولماذا أريد استخدامه؟
  • ما هي أنواع DOCTYPE المختلفة التي يمكنني استخدامها؟
  • ما هو الفرق بين المعايير ووضع المراوغات، وما هي بعض المراوغات التي قد أواجهها مع DOCTYPEs المعينة بشكل مختلف؟

وأخيرًا، ما هو DOCTYPE المناسب الذي يجب أن أستخدمه؟

هل كانت مفيدة؟

المحلول

في الأساس، يصف DOCTYPE HTML الذي سيتم استخدامه في صفحتك.

تستخدم المتصفحات أيضًا DOCTYPE لتحديد كيفية عرض الصفحة.قد يؤدي عدم تضمين DOCTYPE أو تضمين DOCTYPE غير الصحيح إلى تشغيل وضع المراوغات.المثير هنا هو أن وضع المراوغات في Internet Explorer يختلف تمامًا عن وضع المراوغات في Firefox (والمتصفحات الأخرى)، مما يعني أنه سيكون لديك كثيراً إنها مهمة أصعب تتمثل في محاولة التأكد من أن صفحتك تعمل بشكل متسق في جميع المتصفحات إذا تم عرض الصفحات في وضع المراوغات مقارنة بما ستعمل عليه إذا تم عرضها في الوضع القياسي.

تحتوي ويكيبيديا على ملخص أكثر تعمقًا لـ الاختلافات في العرض عند استخدام DOCTYPEs المختلفة.يتم تمكين XHTML بواسطة أنواع مستندية معينة، وهناك قدر كبير من الجدل حول استخدام XHTML الذي تمت تغطيته جيدًا في XHTML  — الخرافات والواقع.

توجد اختلافات طفيفة بين أنواع مستندات العرض المختلفة "لشكوى المعايير"، مثل نوع مستند HTML5 (<!DOCTYPE html>, ، قبل HTML5 والمعروف فقط باسم "نوع المستند النحيف" والذي لا يؤدي إلى عرض موحد في المتصفحات القديمة) وأنواع DOCTYPE الأخرى مثل هذا الخاص بـ HTML 4.01 الانتقالي:

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

نصائح أخرى

يخبر DOCTYPE وكيل المستخدم المستهلك (متصفحات الويب، وبرامج زحف الويب، وأدوات التحقق من الصحة) بنوع المستند الموجود في الملف.ويضمن استخدامه قيام المستهلك بتحليل HTML بشكل صحيح كما تريد.

هناك العديد من أنواع DOCTYPES المختلفة لـ HTML وXHTML وFramsets ولكل منها وضعان Strict وTransitional.يقول Strict أن الترميز الخاص بك يستخدم المعايير المحددة تمامًا.يرى W3C DTDs الصفحة لمزيد من التفاصيل.

Quirksmode هي في الأساس طريقة التخطيط من أيام حروب المتصفحات عندما كانت المعايير أقل احترامًا وتحديدًا.بشكل عام، سيتم تخطيط صفحة الوضع القياسي الصالحة بشكل أكثر اتساقًا عبر المتصفحات المختلفة، ولكنها قد تفتقر إلى بعض الميزات التي تحتاجها.إحدى هذه الميزات هي السمة المستهدفة لعلامة الارتساء.ال وضع المراوغات يعد الموقع مصدرًا رائعًا لهذه الاختلافات.

فكرة أخيرة هي أن معيار HTML5 الجديد يقترح استخدام DOCTYPE بسيط جدًا:

<!DOCTYPE html>

يعد استخدام DOCTYPE طريقة متوافقة مع الأمام لتحديد أن صفحاتك في الوضع القياسي وأنها بتنسيق HTML.هذه هي الطريقة التي تستخدمها Google، ومن السهل تذكرها إلى حد معقول.أوصي باستخدام DOCTYPE هذا إلا إذا كنت تخطط لاستخدام XHTML.

يحدد نوع المستند إصدار HTML/XHTML الذي يستخدمه مستندك.قد ترغب في استخدام نوع مستند بحيث أنه عند تشغيل التعليمات البرمجية الخاصة بك من خلال أدوات التحقق من الصحة، يعرف المدققون إصدار HTML/XHTML الذي يجب التحقق منه.توفر هذه الصفحة نظرة عامة جيدة:

لا تنس إضافة نوع المستند

يتم سرد أنواع المستندات الشائعة التي يمكنك استخدامها هنا:

قائمة الموصى بها من DTDs

يعتمد نوع المستند الذي يجب أن تستخدمه على الكود الذي تستخدمه، ولكن للحصول على فكرة، حاول تشغيل الكود الخاص بك من خلال أداة التحقق من صحة W3C واستخدم نوع الوثيقة القائمة المنسدلة في قائمة "المزيد من الخيارات" لتجربة أنواع مختلفة من المستندات.

خدمة التحقق من صحة العلامات W3C

في HTML (بما في ذلك XHTML) كما هو مستخدم في صفحات الويب، DOCTYPE عبارة عن سلسلة تقوم بتشغيل أحد أوضاع المتصفح القليلة (وضع المراوغات، الوضع القياسي، الوضع القياسي تقريبًا)، اعتمادًا على التهجئة الدقيقة لـ DOCTYPE.تريد استخدامه لتحديد وضع المتصفح الذي يناسب صفحتك.

رسميًا، في SGML وXML، يعد إعلان DOCTYPE مرجعًا إلى تعريف نوع المستند (DTD)، الذي يحدد قواعد بناء الجملة الرسمية للغة الترميز.لم يستخدم أي متصفح DTDs لأي شيء أو حتى الوصول إليها.ومع ذلك، يتم استخدامها بواسطة مدققي ترميز SGML وXML مثل مدقق ترميز W3C, باستثناء وضع HTML5.ولذلك، فإن اختيار DOCTYPE يحدد كيفية عمل المدقق إذا تم تقديم المستند إليه.ومع ذلك، يمكن أيضًا تحديد وضع تشغيل المدقق في واجهة المستخدم الخاصة به.(قد تستخدم معالجات SGML وXML DOCTYPEs بطرق أخرى مختلفة أيضًا، ولكن من الواضح أن السؤال مقصود أن يقتصر على سياق HTML ومتصفحات الويب والبرامج ذات الصلة الوثيقة.)

لا توجد قائمة رسمية لأنواع DOCTYPEs.تحدد كل مواصفات أو مسودة HTML DOCTYPE أو DOCTYPEs الخاصة بها.تختلف مجموعة DOCTYPEs التي تتعرف عليها المتصفحات عند تحديد الوضع حسب المتصفح.من الناحية العملية، لا يوجد سبب لاستخدام DOCTYPE بخلاف ذلك <DOCTYPE html> كما هو محدد في HTML5, ، على الرغم من أن HTML5 يسرد أيضًا بعض "أنواع DOCTYPE القديمة".يمكنك استخدام DOCTYPE إذا كنت تريد الوضع القياسي (موصى به للصفحات الجديدة) ولا تستخدم DOCTYPE إذا كنت تريد وضع المراوغات (الذي قد تحتاجه للصفحات القديمة).

"الوضع القياسي" يعني عمومًا وضع التشغيل الذي يتبع فيه المتصفح HTML وCSS وDOM والمواصفات الأخرى بأفضل ما يمكنه.وهذا لا يعني عادة المطابقة الكاملة.يختلف "وضع Quirks" باختلاف المتصفحات، ولكنه بشكل عام يعني محاولة تقليد سلوك المتصفحات القديمة جدًا مثل IE 5.والغرض من ذلك هو الحفاظ على عمل الصفحات القديمة، على افتراض أنها قد تعتمد على الميزات والأخطاء الموجودة في المتصفحات القديمة.انظر الوصف ماذا يحدث في وضع Quirks؟ لاحظ أن هناك مفهومًا مختلفًا ومحدودًا إلى حد ما لـ "وضع المراوغات" في HTML5، والذي يشبه إلى حد كبير المستند المسمى وضع المراوغات مستوى المعيشة.

المشكلة النموذجية هي أن عرض العناصر يتم حسابه بشكل مختلف في وضع المراوغات وفي الوضع القياسي.وهذا يعني أن تخطيط الصفحة قد يتغير بشكل أو بآخر أو حتى يفسد تمامًا، إذا تم عرض الصفحة المصممة للعمل في وضع المراوغات في الوضع القياسي (أو العكس).

لذلك يجب عليك استخدام <!DOCTYPE html> للصفحات الجديدة واحتفظ بأي نوع DOCTYPE (إن وجد) كنت تستخدمه للصفحات القديمة.

ومع ذلك، يعني وضع المراوغات، في بعض المتصفحات، أن العديد من ميزات CSS الجديدة غير مدعومة.هذا يعني أنك إذا كنت تريد تحسين صفحة قديمة باستخدام بعض ميزات CSS3، فقد يكون من الضروري التبديل إلى DOCTYPE الذي يؤدي إلى تشغيل الوضع القياسي.في مثل هذه الحالة، يتعين عليك مراجعة الصفحة واختبارها لمعرفة ما إذا كان سيتم تشغيلها في الوضع القياسي أم لا.

تخبر أنواع المستندات المتصفح باللغة التي تمت كتابة الصفحة بها، سواء كانت HTML أو XHTML.على سبيل المثال،

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

اطلب من المتصفح أن يعرض الصفحة كـ HTML4 strict.تُستخدم المتصفحات القديمة لعرض الصفحات بشكل غير صحيح، وبالتالي تحاكي المتصفحات الأحدث أخطاء المتصفحات القديمة عندما تجد نوع مستند قديم.

اليوم يجب عليك استخدام HTML4 على الأقل أو XHTML أفضل.

إدخال مدونة حول أنواع المستندات هو أصلح موقعك باستخدام DOCTYPE المناسب! (من قائمة وبصرف النظر).

أولاً، لا يوجد نوع مستند واحد يجب أن تستخدمه، ولكن معظم المصممين يحاولون جعله يعمل ضمن XHTML 1.0 Strict.

لا يعد نوع المستند أكثر من مجرد إعلان عن العلامات التي يمكنك استخدامها داخل HTML الخاص بك (على الرغم من أن المتصفحات يمكن أن تستخدم أكثر أو أقل مما تم تعريفه) يمكنك بالفعل فتح ملف نوع المستند والبدء في القراءة (XHTML 1.0 صارم)

إذا لم تحدد نوع مستند، فسيبذل المتصفح قصارى جهده للتخمين، لكنه لن يصل دائمًا إلى النوع الصحيح.

وضع Quirks هو مجرد تقنية تستخدمها المتصفحات لتكون متوافقة مع الإصدارات السابقة، ومن الأمثلة الرائعة على وضع Quirks هو كيف يعرض IE الصناديق

على الويب، لا يفعل نوع المستند شيئًا سوى إخبار المتصفح إذا كنت تريد المعايير، أو المعايير تقريبًا، أو وضع المراوغات.

تعتمد التغييرات في وضع المراوغات على المتصفح:ينفذ Firefox وOpera وSafari وChrome مجموعة محدودة من المراوغات، مثل إزالة المساحة المخصصة للنص النازل في التعليمات البرمجية مثل <table><tr><td><img></td></tr></table> (حل: td img { vertical-align:bottom; }).IE، من ناحية أخرى، يعود إلى محرك العرض في IE5.5.هذا يعني أنك لن تتمكن من استخدامه أي من الميزات الجديدة التي تم تنفيذها منذ عام 2000.

لتشغيل وضع المعايير، أقترح استخدام نوع مستند HTML5، <doctype html>, ، لأنه الأسهل للتذكر.

نوع المستند هو مستند يصف كيف يمكن أن تبدو محتويات مستند يشبه xhtml (مثل صفحة الويب). ملحوظة:هذا يحدد فقط بناء جملة الصفحة المذكورة، ولا يتم تعريف عرض الصفحة بواسطة DTD!

على سبيل المثال، يمكن أن يحدد نوع المستند كيفية <table>-يمكن أن تبدو العلامة - ما هي السمات التي تقبلها، وما هي القيم/أنواع القيم المقبولة لكل سمة.فكر في الأمر باعتباره معجمًا لصفحة الويب الحالية الخاصة بك.

ويكيبيديا يحتوي على صفحة إعلامية حول أنواع Doctypes المختلفة شائعة الاستخدام.ضع في اعتبارك أنه لا يوجد ما يمنعك من إنشاء نموذجك الخاص.ومع ذلك، فمن المحتمل أن المتصفح لا يعرف كيفية عرض المستند الخاص بك.

يعتمد نوع DTD الذي ستستخدمه على ما ستكتبه.على سبيل المثال، يحتوي XHTML على DTD مختلف تمامًا عن HTML.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top