2012-08-04 127 views
3

在我的网站(HTML5)中,我有像Facebook一样的选项。Iframe在验证时显示错误?

但通过W3C验证验证,其像这样表示错误:

的元件上的FRAMEBORDER属性是过时的。改为使用 CSS。

如果我使用CSS style='border:none; overflow:hidden; width:75px; height:27px; 然后,它显示

“的元素的滚动属性是过时的。使用CSS来代替。”

<div style='float:left; padding:6px 0 0 0px'> 
<iframe allowTransparency='true' frameborder='0' scrolling='no' src='http://www.facebook.com/plugins/like.php?href=' style='border:none; overflow:hidden; width:75px; height:27px;'></iframe></div> 
</div> 

如果我删除每一个内联样式,并给予在CSS,那么它没有显示除ALLOWTRANSPARENCY任何错误。

为什么?

回答

2

应删除这些属性,而不是内联样式。

  1. ALLOWTRANSPARENCY属性
  2. FRAMEBORDER属性
  3. 滚动属性
+0

所以我们应该给样式中的每一件事情,那么allowtransparency属性呢。 – Prashobh 2012-08-04 17:22:47

2

根据W3 HTML5 specification,iframe元素没有allowTransparency,frameborder或scrolling属性。所以当你试图包含任何这样的属性时,你的页面将永远不会被验证。

+0

所以客户需要有效的标记意味着我们做什么,我们应该避免ALLOWTRANSPARENCY权 – Prashobh 2012-08-04 17:24:29

+2

@prash的ALLOWTRANSPARENCY属性从来没有真正有效的,它只是由微软在没有任何咨询的情况下创建的。你应该看看[CSS 3 opacity property](http://www.w3.org/TR/css3-color/#transparency)。 – Bobulous 2012-08-04 18:04:35