Jac*_*son 1 html iframe html5 doctype
我正在阅读我的HTML书籍,并指出HTML5中不支持iframe的滚动和frameborder属性.书中声明了以下代码:
<iframe
src="http://maps.google.co.uk/maps?q=moma+new+york&output=embed"
width="450"
height="350"
frameborder="0"
scrolling="no">
</iframe>
Run Code Online (Sandbox Code Playgroud)
如果HTML5不支持frameborder,框架边框怎么样仍然可以工作?如果我没有放入frameborder ="0"行,浏览器会在图像周围加载一个框架,而frameborder ="0"行则取出框架.我认为HTML5不支持此属性?
同时,滚动似乎遵循HTML5中不支持的规则,因为该行根本没有任何区别(无论我将其设置为0还是1).滚动条也未显示.
我现在正在学习HTML,但这对我来说太奇怪了.有人可以帮我澄清这个吗?我在Firefox和Chrome中测试了这个.
这本书弄错了.规范(或者,在这种情况下,草案规范)不"支持"元素或属性; 浏览器.规范定义了元素和属性,它们提供了一致性条款,表明符合标准的浏览器必须支持元素和属性.这通常不排除符合标准的浏览器也支持其他元素和属性的可能性.此外,浏览器可能不符合要求; 事实上,严格来说,可能没有符合任何 HTML规范或草案的浏览器(尽管一致性可能"足够好").
在的情况下frameborder和HTML5,HTML5的提议推荐指定浏览器都有望支持的属性.第10.4.3条嵌入内容和图像的属性表示某些CSS规则"预计将作为表示提示",它们包括以下内容:
iframe[frameborder=0], iframe[frameborder=no i] { border: none; }
Run Code Online (Sandbox Code Playgroud)
这意味着如果iframe元素具有frameborder带值的属性0或no(不区分大小写),则这对应border: none于该元素上的CSS设置(定义为具有特异性0,因此border元素上的任何显式CSS设置都会覆盖它).
如果这听起来很奇怪,请参阅一致性要求部分.HTML5有双重标准,因为它禁止作者/文档使用某些结构,但需要或建议浏览器(和其他用户代理)支持它们.因此,如果您使用frameborder,您的文档不符合要求.然而,"预期"以特定方式得到支持.
这种情况原则上与scrolling属性相似.其预期的效果是,值on,scroll和yes引起滚动条(如overflow: scroll),值off,noscroll以及no防止滚动条; auto当内容不适合时,值和值会导致滚动条(默认值).但是,Firefox,Chrome,IE似乎都没有支持无条件导致滚动条的值,只有Firefox支持阻止它们的所有值,而Chrome和IE只支持它们no.
scrolling=no从传统上支持的浏览器属性的意义上讲,这是可以理解的.其他值或多或少是HTML5草案中的一项发明,可能应该涵盖实际使用或支持的某些值.
与此相关的底线是scrolling=no有效的.即使在内容不需要时导致滚动条scrolling=yes在实践中也没有用(相应的CSS设置有效).
| 归档时间: |
|
| 查看次数: |
3904 次 |
| 最近记录: |