DOCTYPE
تعریف DOCTYPE تو HTML5 خیلی سادس
<!DOCTYPE html>
این یک html tag نیست، در واقع دستورالعملی برای مرورگر است که بدونه از چه ورژنی از html داره استفاده میشه.
ی سری المنتا تو html5 حذف شده که قبلا هم ازشون استفاده نمیکردیم پس نیازی به گفتن نیست.
برای بررسی اعتبار کد html تون میتونید از W3C markup validation استفاده کنید.
بطور خلاصه document type definition یک سری markup declaration هایی هستن که نوع داکیومنت رو به SGML- family markup language مثل SGML,XML,HTML تعریف میکند.
یک DTD ساختار قانونی بلاک ها رو تو دایکومنت های XML تعریف میکند. مثل یک لیستی از المنت ها و اتربیوت هایی که به اجازه داری ازشون استفاده کنی.
تو نسخه html4، تعریف <!DOCTYPE> به یک DTD اشاره داشت، چون html4 بر اساس SGML بود و DTD مشخص کننده قوانین اون markup language بود.
برعکس HTML5 براساس SGML نیست و پس نیازی به DTD نداره و پس ما به تعریف کردن انواع DTD تو داکیومنت نمیپردازیم. ( common dctype declarations in html4 )
SUPPORT
میتونیم به همه Semantic element های html5 استایل display block بدیم تا حداقل رفتار مرورگر باهاش تغییر نکنه.
راه دیگه اینکه المنت های جدیدو به html اضافه کنیم. مثلا ساخت المنتی به نام <getShitDone>
<head>
<script>document.createElement("getShitDone")</script>
<style>
getShitDone {
display: block;
}
</style>
</head>
<body>
<getShitDone>please get shit done</getShitDone>
</body>
<head>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
</head>
NEW ELEMENTS
- <div>
- <span>
- <form>
- <table>
- <article>
STYLE GUIDE
- چون امکان داره در آینده xml reader ها فایلتونو بخونن بهتره از اسم های lower case برای element ها و attribute هاتون استفاده کنید.
- با اینکه اشکالی برای نبستن html element ها یا html element های خالی نیست ولی باز بخاطر xml reader ها بهتره که المنت هارو ببندید و المنت های خالی رو با یک / ببندید.
- از quote اطراف مقدار های attribute هاتون استفاده کنید با اینکه استفاده نکردنش اشکالی نداره.
- از alt در image attribute استفاده کنید.
- یکی کردن تگ های html با body یا یکی کردن html با head اشکالی نداره ولی بهتره این کارو نکنیم. با این حال که کلا مرورگرها کد های قبل از تگ body رو به عنوان head در نظر میگیرن.
- نیازی به نوشتن type تو آدرس دهی style sheet یا javascript نیست.