最近,模仿一个软件的时候,发现iframe的高度和宽度不能随内容而自动调节,除非指定iframe 的宽度和高度为具体的值;问了很多朋友也都不知道.很是伤脑筋啊!后来,在W3SCHOOL中的"HTML <iframe> 标签"一节中看到这么一句话:在 HTML 4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支持 iframe 元素.我再看看自己写的页面,但是transitional,有些不一样.怀着好奇,把页面上的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">这一行去掉,结果出乎意料,iframe可以自动调节高度和宽度了,太高兴了!接着我又找到三种文档类型的描述,我想,应该是dtd不支持iframe的这种用法!
下面是从W3SCHOOL抄来的,大家可以看看:
XHTML 定义了三种文件类型声明。
使用最普遍的是 XHTML Transitional。
<!DOCTYPE> 是强制使用的。一个 XHTML 文档有三个主要的部分:
DOCTYPE Head Body 基本的文档结构是这样的:
<!DOCTYPE ...> <html> <head> <title>... </title> </head> <body> ... </body> </html> 在 XHTML 文档中,文档类型声明总是位于首行。
一个 XHTML 的实例这个一个简单的(最小化的) XHTML 文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>simple document</title>
</head>
<body>
<p>a simple paragraph</p>
</body>
</html>
文档类型声明定义文档的类型:
引用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
文档的其余部分类似 HTML:
引用
<html> <head> <title>simple document</title> </head> <body> <p>a simple paragraph</p> </body> </html>
3种文档类型声明DTD 规定了使用通用标记语言(SGML)的网页的语法。 诸如 HTML 这样的通用标记语言应用使用 DTD 来规定应用于某种特定文档中的标签的规则,这些规则包括一系列的元素和实体的声明。 在通用标记语言(SGML)的文档类型声明或 DTD 中,XHTML 被详细地进行了描述。 XHTML DTD 使用精确的可被计算机读取的语言来描述合法的 XHTML 标记的语法和句法。 存在三种XHTML文档类型:STRICT(严格类型) TRANSITIONAL(过渡类型) FRAMESET(框架类型)
XHTML 1.0 的三种 XML 文档类型XHTML 1.0 规定了三种 XML 文档类型,以对应上述三种 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">
在此情况下使用:需要干净的标记,避免表现上的混乱。请与层叠样式表配合使用。