您的位置:首页 > 其它

为什么iframe的高度和宽度不能随内容而自动调节!

2009-10-22 20:30 411 查看
最近,模仿一个软件的时候,发现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/[code]xhtml1-strict.dtd
">[/code]
在此情况下使用:需要干净的标记,避免表现上的混乱。请与层叠样式表配合使用。

XHTML 1.0 Transitional

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/[code]xhtml1-transitional.dtd
">[/code]
在此情况下使用:当需要利用 HTML 在表现上的特性时,并且当需要为那些不支持层叠样式表的浏览器编写 XHTML 时。

XHTML 1.0 Frameset

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/[code]xhtml1-frameset.dtd"
>[/code]
在此的情况下使用:需要使用HTML框架将浏览器窗口分割为两部分或更多框架时。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: