
آیا تا کنون دقت کرده اید که برنامه های ویرایشگر اچتمل مانند دریم ویور، در ابتدای صفحات وب طراحی شده، یک تگ DOCTYPE قبل از تگ html مینویسند که برداشتن آن نیز تاثیر خاصی در صفحه وب شما ندارد ؟ همچنین ممکن است شما این تگ را در سورس صفحات سایتهای گوناگونی دیده باشید. این تگ در خط اول سورس صفحه وب نوشته میشود:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
تگ DOCTYPE چیست ؟ این خط به برنامه مرورگر می فهماند که شما در این صفحه، از کدام نسخه از کدهای HTML استفاده کرده اید. همچنین اگر از استاندارد XHTML استفاده کرده باشید نیز با یک تگ doctype این موضوع را به صفحه می فهمانید.
چرا حذف تگ DOCTYPE تغییری در صفحه وب ما ایجاد نمی کند؟ این کد در ایجاد صفحات HTML اختیاری و در صفحات XHTML اجباری است . اگر این تگ را به همراه یک URL در بالای صفحه وب خود اعلان کنید ، سبب میشود که برنامه های مرورگر فعلی ، هنگام باز کردن صفحه شما در مد standards کنار کنند . بدین صورت میتوانید کدهای خود را مطابق استاندارد نوشته و کنترل بیشتری بر چگونگی نمایش این صفحه در برنامه های مرورگر مختلف داشته باشید. در صورت نگذاشتن این کد ، مرورگر از روش های قدیمی برای رندر کدهای شما استفاده می کند .
چه مرورگرهایی این تگ را میفهمند؟ تگ doctype مخصوص HTML5 را مرورگر IE8 به بالا و بقیه مرورگرهای مدرن مانند فایرفاکس و کروم و اوپرا میشناسند. این تگ به مرورگر می فهماند که این صفحه، یک صفحه با کد HTML5 است. (بقیه تگها را تقریبا کلیه مرورگرهای قدیمی نیز میشناسند)
تگ doctype مخصوص HTML5 :
<!DOCTYPE html>
تگ doctype مخصوص HTML4 Strict: با اعلام این تگ در بالای صفحه، شما به مرورگر می فهمانید که از کدهای HTML4 دقیق برای نوشتن کدهای صفحه استفاده کرده اید. در این حالت استفاده از تگ های نمایشی (یعنی تگ هایی که نحوه نمایش المان ها را تعیین میکنند) و تگ های قدیمی مانند FONT یا تگ frame مجاز نیست. (علتش هم اینه که HTML کارش چیدمان مفهومی تگ ها است. کار نمایش را باید به CSS بسپارید) پس اگر این کد را بالای صفحه اعلام کردید، حواستون باشه که در کدنویسی صفحه از تگ های مذکور استفاده نکنید.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
تگ doctype مخصوص XHTML 1.0 Strict: با اعلام این تگ در بالای صفحه، شما به مرورگر می فهمانید که از کدهای XHTML دقیق برای نوشتن کدهای صفحه استفاده کرده اید. در این حالت استفاده از تگ های نمایشی (یعنی تگ هایی که نحوه نمایش المان ها را تعیین میکنند) و تگ های قدیمی مانند FONT یا تگ frame مجاز نیست. همچنین کد نویسی باید مطابق بر استاندارد XML باشد. یعنی کلیه تگها باید بصورت تگ باز و بسته استفاده شوند یا تگ هایی مانند BR باید بصورت <br /> نوشته شوند . پس اگر این کد را بالای صفحه اعلام کردید، حواستون باشه که در کدنویسی صفحه باید همه تگ ها را ببندید:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
مثال :در هنگام تعیین رنگ با شماره های هگزادسیمال ، یک علامت شارپ (#) در ابتدای شماره رنگ قرار میگیرد که حذف آن باعث نادیده گرفتن این رنگ در زمان نمایش صفحه میشود . اما اگر کد DOCTYPE را از ابتدای صفحه پاک کنید ،مرورگرتان از این مورد ایراد نمی گیرد و آن رنگ را نشان میدهد. برای تست این مثال از مرورگر فایرفاکس استفاده کنید . چون مرورگرInternet Explorer بطور معمولی هم از حذف علامت # ایراد نمی گیرد و ممکن است شما فکر کنید علامت # اختیاری است !