تگ Doctype html چیست

اگر نمی دانید تگ Doctype html چیست، در این مقاله از سری مقالات آموزش html css پروژه محور رایگان بصورت کامل به این موضوع پرداخته شده. شما در این مقاله خواهید فهمید DOCTYPE چیست؟ و با کاربرد تگ DOCTYPE نیز آشنا خواهید گشت. همچنین به مشکل و ارور doctype html نیز پرداخته خواهد شد. با […]

نکته: در صورتی که نیازمند قرار گرفتن آموزش خاص و یا مطلبی به صورت رایگان در حوزه های حسابداری و کامپیوتر هستید آن را در قسمت نظرات همین صفحه وارد کنید.

اگر نمی دانید تگ Doctype html چیست، در این مقاله از سری مقالات آموزش html css پروژه محور رایگان بصورت کامل به این موضوع پرداخته شده. شما در این مقاله خواهید فهمید DOCTYPE چیست؟ و با کاربرد تگ DOCTYPE نیز آشنا خواهید گشت. همچنین به مشکل و ارور doctype html نیز پرداخته خواهد شد.

با ما در سری مقالات رایگان HTML همراه باشید، تا به تمام سوالات شما در این مورد پاسخ دهیم.

DOCTYPE چیست؟

قبل از معرفی اعلان doctype، باید بدانید که دستور <DOCTYPE!> تگ نیست بلکه، یک دستورالعمل برای مشخص کردن نسخه ی یک صفحه یا فایل HTML است. بنابراین اگر در ادامه توضیحات از کلمه تگ برای این دستورالعمل استفاده شده صرفا برای استفاده از اصطلاحات مورد تایید عامه است. خوب بریم سراغ اصل مطلب.

آموزش دستور Doctype در HTML

آموزش دستور Doctype در HTML

همانطور که در فیلم آموزشی موجود در مقاله تگ های html گفته شد، اولین خط کدی که شما در یک صفحه HTML5 می بایست بنویسید <DOCTYPE html!> است. اما Doctype چیکار میکنه ؟ و مخفف چیه؟

دستورالعمل Doctype مخفف Document Type بوده و درواقع این تگ نوع سند را به مرورگر ها معرفی می کند. (یعنی چه؟) یعنی به مرورگر ها مختلفی مثل کروم، فایرفاکس و… می فهماند صفحه وبی که در حال خواندن و نمایش آن هستند یک نوع سند HTML یا XHTML است. اما چرا و چطور ؟

علت بوجود آمدن دستورالعمل Doctype

همانطور که می دانید، کنسرسیوم جهانی وب یعنی w3c، استاندارد های مختلفی از زبان پایه ی وب یعنی HTML را ارائه نموده که هر کدام از آنها در مقایسه با هم هرچند اندک دارای تفاوت هایی هستند.

این موضوع سبب می شود که مرورگر های وب، در برخورد با صفحات مختلف نتوانند در حالت عادی، استاندارد صحیح را شناسایی کنند و لذا به جای پردازش متناسب با استاندارد اصلی، عملیات پیش فرض خود را برای نمایش صفحه انجام می دهند که این موضوع ممکن است با آنچه مورد نظر شما بوده باشد، فرق کند و یا از مرورگری به مرورگر دیگر، صفحات شما به چند شکل مختلف پردازش شوند.

لذا برای جلوگیری از بروز چنین مشکلاتی، از دستور راهنمای DOCTYPE استفاده می شود تا نوع نسخه HTML استفاده شده را برای مرورگر مشخص کند.

در ادامه به معرفی دستور العمل های ورژن های قدیمی تر HTML هم خواهیم پراخت.

اگر هنوز html , css را به طور کامل بلد نیستید و میخواهید یک وبمستر حرفه ای بشید و به راحتی تمام امور یک سایت را مدیریت کنید میتوانید در دوره آموزش وبمستر آریا تهران شرکت کنید. در این دوره html , css , javascript و سئو و نحوه کار با ابزار های تخصصی سئو مانند سرچ کنسول و گوگل آنالیتیکس به شما آموزش داده میشود و تمام این آموزش ها متناسب با نیاز بازار کار میباشد.

شما در انتهای این دره میتوانید با مهارت های کسب شده خود به راحتی جذب بازار کار شده و به عنوان یک وبمستر کسب درآمد چندین برابری داشته باشید. استخدام شدن شما با مهارت های کسب شده این دوره جامع قطعی میباشد.

آیا استفاده از تگ Doctype ضروری است ؟

هرچند با توجه به توضیحات استفاده از دستور DOCTYPE در صفحات وب اجباری به نظر می رسد، اما اینطور نیست.

این یعنی اگر هم از آن استفاده نشود، صفحه و اطلاعات آن همچنان در مرورگر بارگذاری شده و قابل استفاده است.

البته اینجا ذکر این تذکر ضروی است که، کنسرسیوم جهانی وب (W3C) نسب به استفاده از این کد توصیه اکید دارد. مخصوصا در صفحاتی که از نسخه HTML 4.01 یا XHTML 1.0 استفاده می کنند.

لذا به خاطر رعایت استانداردهای توصیه شده W3C می توان گفت که استفاده از آن تقریبا الزامی است، در غیر این صورت علاوه بر اینکه ممکن است صفحات، به درستی در مرورگرهای مختلف نمایش داده نشوند، از نظر اعتبار سنجی (Validation) نیز معتبر نیستند، که این امر در امتیاز و رتبه سایت یا وبلاگ در موتورهای جستجو تاثیر منفی خواهد داشت.

برای اعتبار سنجی کدهای خود، می توانید به آدرس http://validator.w3.org مراجعه کنید.

انواع <DOCTYPE> در ورژن های مختلف HTML

همانطور که در مقاله html چیست و چه کاربردی دارد توضیح داده شد html در سیر تولید و پیشرفت خود دارای ورژن های مختلفی است. به همین دلیل هر نوع از HTML نیز برای خود دستورالعمل <DOCTYPE!> مرتبط با خود را داشته است که در ادامه به آن خواهیم پرداخت.

دستورالعمل <DOCTYPE!> در سند های مختلف HTML به شکل زیر است.

دستور العمل DOCTYPE در HTML5

دستور العمل <DOCTYPE!> در HTML5

از آنجایی که نسخه HTML5 از استاندارد Standard Generalized Markup Language یا به اصطلاح SGML پیروی نمی کند، بنابراین به فایل های DTD احتیاجی ندارد و تنها در سند HTML5 کافی است DOCTYPE را به شکل زیر استفاده کنید.

<DOCTYPE html!>

مثال از دستور Doctype در HTML

در زیر کد استاندارد و ابتدایی html5 برای شما قرار داده شده است.

دستور العمل <DOCTYPE!> در HTML 4.01 Strict :

سند HTML Strict DTD زمانی مورد استفاده قرار می گیرد که طراح بخواهد از شیوه قالب دهی به صفحات (CSS) استفاده نماید.

در این نسخه از HTML، مرورگرها از استاندارد یک فایل با نام strict.dtd پیروی می کنند و طبق آن، استفاده از Cascading Style Sheets یا همان CSS برای کدنویسی استاندار، مجاز بوده و توصیه شده.

از طرفی دیگر در این نسخه از HTML استفاده از تگ فریم ست ( frameset )، نوشتن متون در خارج از چارچوب تگ های استاندارد، استفاده از عناصری مانند bgcolor، استفاده از برخی تگ های HTML مانند Font و… به لحاظ استاندارد کدنویسی در این DTD مجاز نیست.

دستور العمل <DOCTYPE!> در HTML 4.01 Transitional :

سند HTML Traditional DTD زمانی مورد استفاده قرار می گیرد که طراح می خواهد از قابلیت های جدید HTML استفاده نکند ، زیرا مرورگر بازدید کنندگان سایت ممکن است از شیوه قالب دهی صفحات (CSS) پشتیبانی نکند.

نسخه HTML Transitional در مقایسه با استاندارد HTML Strict محدودیت کمتری دارد و استفاده از تگ های ایجاد کننده استایل مانند bgcolor، background و… در آن مجاز است. البته تا آنجا که می شود بهتر است از CSS به جای استایل html استفاده شود.

این استاندارد برای سازگاری با مرورگرهای قدیمی که از css پشتیبانی نمی کنند نیز مناسب است، البته استفاده از تگ فریم ست ( frameset ) در این نسخه نیز مجاز نمی باشد.

دستور العمل <DOCTYPE!> در HTML 4.01 Frameset :

سند HTML Frameset DTD زمانی مورد استفاده قرار می گیرد که بخواهیم در صفحات از قاب ها (Frames) استفاده کنیم.

دستورالعمل فایل DTD در نسخه HTML Frameset، دقیقا مشابه نسخه HTML 4.01 Transitional است، با این تفاوت که در اینجا استفاده از تگ frameset مجاز است.

تگ frameset برای صفحاتی به کار می رود که مبتنی بر frame یا صفحات خارجی هستند و با قرار دادن frame ها در درون تگ frameset، امکان فرمت بندی و تنظیم موقعیت سطرها و ستون ها (rows و columns) میسر می شود.

دستور العمل <DOCTYPE!> در XHTML 1.0 Strict :

در واقع با تعرفی ساده باید گفت، XHTML زبانی ترکیبی از HTML و XML و مخفف Extensible Hyper Text Markup Language است.

استفاده از XHTML وسط W3C توصیه شده است. چرا؟ چون این نسخه به دلیل استفاده از XML با سیستم های مختلف سازگارتر است. چرا؟ چون HTML ساده از استاندارد SGML یا همان Standard Generalized Markup Language پیروی می کند و به این خاطر نسبت به XML محدودیت هایی دارد.

استاندارد XHTML 1.0 Strict تقریبا در اکثر موارد با HTML 4.01 Strict یکسان است.

دستور العمل <DOCTYPE!> در XHTML 1.0 Transitional :

استاندارد XHTML 1.0 Transitional مشابه استاندارد HTML 4.01 Transitional است. ضمن اینکه سند XHTML باید از اصول نگارشی XML نیز پیروی کند .

دستور العمل <DOCTYPE!> در XHTML 1.0 Frameset :

استاندارد XHTML 1.0 Frameset مشابه استاندارد HTML 4.01 Frameset است. ضمن اینکه سند XHTML باید از اصول نگارشی XML نیز پیروی کند.

دستور العمل <DOCTYPE!> در XHTML 1.1 :

پیشنهاد : برای تست میزان تسلط خود بر HTML حتما از آزمون html رایگان ما استفاده کنید.

تفاوت اعلان doctype در HTML5 با HTML4.01

خوب است بدانید در سند HTML4.01 دستور <DOCTYPE!> به DTD اشاره دارد. زیرا HTML4.01 مبتنی بر SGML بود و ستور العمل DTD یکسری قوانین را برای زبان نشانه گذاری HTML4.01 مشخص می کند تا مرورگرها بتوانند یک صفحه ی وب را به صحیح ترین حالت نمایش دهند.

حال چون HTML5 مبتنی بر SGML نیست لذا نیازی نیست به DTD اشاره ای داشته باشیم. به همین دلیل Doctype یک صفحه ی HTML5 خیلی راحت تر نسبت به نسخه های قبلی نوشته می شود.

فراموش نکنید که: اگر می خواهید یک صفحه وب استاندارد را با html کد نویسی کنید حتما از این دستورالعمل یا اصطلاحا تگ در ابتدای صفحه ی وب خود استفاده کنید.

همچنین خوب است بدانید دستور Doctype به حروف کوچک و بزرگ حساس نیست لذا می توانید با حروف کوچک انگلیسی نیز از این دستور در ساخت اسناد خود استفاده نمایید.

کاربرد تگ DOCTYPE

کاربرد تگ DOCTYPE

با توجه به تعریف بالا، کاربرد تگ DOCTYPE صرفا برای معرفی نوع سند اچ تی ام ال به مرور گر های مختلف است. و از این لحاظ مهم است که به مررگر ها می فهماند سند HTML ی که شما نوشته اید یک چه نوع سندی است.

با توجه با توضیح بالا، اعتبار سنج های HTML به اعلان doctype نیاز دارند. اگر یک سند HTML شامل اعلان DOCTYPE نباشد، مرورگرها صفحات را در حالت Quirks رندر می کنند.

وظایف DOCTYPE به شرح زیر است:

اول اینکه: هنگام انجام آزمون اعتبار سنجی HTML روی یک صفحه وب، اعلام < DOCTYPE!> به اعتبار سنج HTML اعلام می کند که از استاندارد کدام نسخه HTML یا XHTML در کدنویسی صفحه استفاده شده است.

هنگامی که شما صفحه وب خود را اعتبارسنجی می کنید، اعتبار سنج HTML، کد ها را با توجه به استاندارد قابل انطباقT چک کرده و پس از آن بخش هایی از کد را که در اعتبار سنجی رد شده، گزارش می کنn.

دوم اینکه: به مرورگر می گوید که چگونه صفحات را در حالت استانداردهای قابل انطباق رندر کنند.

کدام مرورگر ها از <DOCTYPE!> پشتیبانی می کنند ؟

در جدول آماده شده زیر می توانید مشاهده کنید که کدام مرورگر های اینترنتی از دستورالعمل doctype! در HTML پشتیبانی می کنند.

نام مررورگر Chrome Firefox Opera Safari IE
پشتیبانی بله بله بله بله بله

ارور doctype html

بسیار افرادی که تا الان بدون استفاده از doctype مشغول کار بوده اند، ممکن است با استفاده از این دستورالعمل دچار مشکل شوند. البته قطعا مشکل، استفاده از این دستورالعمل نیست بلکه مرورگر های قدیمی شما است که نمی تواند قوانین موجود در این اعلان ها را بدرستی نمایش دهد.

فراموش نکنید که کد doctype می بایست در اولین خط کدنویسی شما قرار بگیرد. برای عیب یابی کد از سایت https://validator.w3.org/ استفاده کنید.

در صورتی که در مورد این موضوع و مشکل DOCTYPE سوال خواصی دارید حتما در قسمت نظرات مطرح فرمایید تا در سریع ترین زمان ممکن به آن پاسخ داده شود.

اگر به یادگیری تخصصی HTML و CSS علاقمند هستید حتما از کلاس آموزش html و css آموزشگاه آریا تهران استفاده کنید. همچنین برای یادگیری طراحی سایت می توانید از خدمات آموزش طراحی سایت رایگان و یا شرکت در دوره طراحی سایت با ما تماس بگیرید.

سوالات متداول در مورد DOCTYPE

DOCTYPE تگ کاربردی است ؟

خیر. DOCTYPE تگ نیست. بله یک دستورالعمل ایجاد شده از طرف کنسرسیوم جهانی وب (W3C) برای نمایش بهتر سند های مختلف HTML در مرورگر های مختلف است.

آیا حذف کد doctype در قالب مشکل ایجاد می کنه ؟

همانطور که در متن مقاله توضیح داده شد، استفاده از doctype در سند HTML الزامی نیست. اما سند های بدون این کد از نظر اعتبار سنجی (Validation) معتبر نیستند.

Doctype چیکار میکنه

همانطور که درقسمت کاربرد تگ doctype توضیح داده شده، DOCTYPE یک دستورالعمل برای نمایش نوع سند HTML به مرورگر های مختلف است.

مقاله بعدی ما با عنوان، تگ Head در HTML را که در ادامه همین مقاله است دنبال کنید.