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

来源:互联网 发布:.商标域名 编辑:程序博客网 时间:2024/05/13 02:10

    最近,模仿一个软件的时候,发现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 htmlPUBLIC "-//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 htmlPUBLIC "-//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 htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

在此情况下使用:需要干净的标记,避免表现上的混乱。请与层叠样式表配合使用。

XHTML 1.0 Transitional

<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在此情况下使用:当需要利用 HTML 在表现上的特性时,并且当需要为那些不支持层叠样式表的浏览器编写 XHTML 时。

XHTML 1.0 Frameset

<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

在此的情况下使用:需要使用HTML框架将浏览器窗口分割为两部分或更多框架时。

原创粉丝点击