问题:
今天无意间接触placeholder这个input元素的HTML5属性。但是写代码的时候编辑器提示没有此属性,感觉很奇怪?
回答:
之前HTML文档申明的是<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
改为<!DOCTYPE HTML>
不受约束。可以使用HTML的属性和元素。
<pre name="code" class="html"><span style="font-size:18px;"> </span><span style="font-size:14px;"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></span>
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。DOCTYPE是Document Type(文档类型)的简写,此标签用来告知浏览器文档使用哪种 HTML 或 XHTML 规范。
Eg:<!DOCTYPE html
上例声明了文档的根元素是 html,DOCTYPE在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN"的 DTD(文档类型定义) 中进行了定义。浏览器将寻找匹配此公共标识符的 DTD并根据该DTD来对页面代码解释。如果找不到该定义文档,浏览器将使用公共标识符后面的 URL 来作为寻找 DTD 的地址。
DOCTYPE可声明三种 DTD 类型:严格版本(Strict)、过渡版本(Transitional
Eg:HTML 4.01
Strict DTD
干净、免于表现层混乱、与层叠样式表(CSS)配合使用:
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
XHTML 1.0:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Transitional DTD
包含 W3C 所期望移入样式表的呈现属性和元素,如果使用了不支持层叠样式表(CSS)的浏览器以至于不得不使用 HTML /XHTML的呈现特性时,使用该类型。对于一般开发者而言,若对页面没有特殊的要求且想保持兼容性,使用该类型足以。
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
XHTML 1.0:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frameset DTD
用于带有框架的文档。(HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
HTML5基本上没有XHTML 1.0 Transitional严格的要求,并且简化了很多东西可以直接使用 <!DOCTYPE HTML>
HTML5 :<!DOCTYPE HTML>
然而,由于大多数web文档都需要遵循由w3c发布的某个国际公认的web标准,所以那些文档通常都要包含以下标准doctype声明之一:
html 2(数字2代表版本号):
<!doctype html public "-/ietf/dtd html 2.0/en">
html 3.2:
<!doctype html public "-/w3c/dtd html 3.2 final/en">
——————————————————————————————
html 4.01 strict:
<!doctype html public "-/w3c/dtd html 4.01/en"
"http://www.w3.org/tr/html4/strict.dtd">
html 4.01 transitional:
<!doctype html public "-/w3c/dtd html 4.01 transitional/en"
"http://www.w3.org/tr/html4/loose.dtd">
html 4.01 frameset:
<!doctype html public "-/w3c/dtd html 4.01 frameset/en"
"http://www.w3.org/tr/html4/frameset.dtd">
——————————————————————————————
xhtml 1.0 strict:
<!doctype html public "-/w3c/dtd xhtml 1.0 strict/en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">
xhtml 1.0 transitional:
<!doctype html public "-/w3c/dtd xhtml 1.0 transitional/en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
xhtml 1.0 frameset:
<!doctype html public "-/w3c/dtd xhtml 1.0 frameset/en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd">
——————————————————————————————
xhtml 1.1:
<!doctype html public "-/w3c/dtd xhtml 1.1/en"
"http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">
xhtml 1.1 plus mathml plus svg:
<!doctype html public
"-/w3c/dtd xhtml 1.1 plus mathml 2.0 plus svg 1.1/en"
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">