文章目录
Doctype
<!DOCTYPE>
声明位于HTML文档中的第一行,处于 <html>
标签之前。
<!DOCTYPE>
声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
在 HTML 4.01 中,<!DOCTYPE>
声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
HTML5 不基于 SGML,所以不需要引用 DTD。
HTML5 为什么只需要写 !DOCTYPE HTML
HTML5 不基于SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行);
而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。
你知道多少种Doctype文档类型?
该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
- Strict:该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
- Transitional:该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
- Frameset:该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。允许框架集(Framesets)。
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。必须以格式正确的 XML 来编写标记。
XHTML 1.1 该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型。
行内元素和块级元素
块级元素
- 总是在新行上开始
- 高度,行高以及外边距和内边距都可控制
- 宽度默认是它的容器的100%,除非设定一个宽度
- margin和padding上下左右都有效
- 它可以容纳内联元素和其他块元素
常用的块级元素:
<div>
<h1>~<hn>
、<p>
、<pre>
、<article>
、<address>
<form>
、<footer>
、<header>
、<aside>
、<nav>
<hr>
<table>
、<th>
、<tr>
、<td>
、<caption>
<ul>
、<ol>
、<li>
<dl>
、<dt>
、<dd>
行内元素
- 不自动换行
- 高,行高及外边距和内边距不可改变
- 宽度就是它的文字或图片的宽度,不可改变
- 内联元素只能容纳文本或者其他内联元素
对行内元素,需要注意:
- 设置宽度width 无效。
- 设置高度height 无效,可以通过line-height来设置。
- 设置margin 只有左右margin有效,上下无效。
- 设置padding 上下左右都有效,会撑大空间。
常用的行内元素:
<span>
<b>
、<small>
、<big>
、<strong>
、<em>
、<code>
、<abbr>
、<cite>
、<i>
、<q>
、<sub>
、<sup>
、<time>
<img>
、<video>
<input>
、<textarea>
<br>
另外,常见的空元素:<img>
、<input>
、<link>
、<