eao*_*son 126 html coding-style html-head
严格来说,style
标签是否需要在head
HTML文档中?4.01标准意味着,但没有明确说明:
STYLE元素允许作者将样式表规则放在文档的头部.HTML允许文档的HEAD部分中的任意数量的STYLE元素.
我说"严格来说"因为我有一个应用程序将样式元素放在正文中,而我测试过的所有浏览器似乎都使用了样式元素.我只是想知道这是否合法.
Est*_*ber 100
style
应该只包含head
在文档的中.
除了验证点,使用时您可能感兴趣的一个警告style
的body
是的无样式内容闪烁.浏览器将获得在显示后将被设置样式的元素,使它们在大小/形状/字体和/或闪烁上移位.这通常是工艺糟糕的表现.一般来说,你可以放置style
任何你想要的东西,但尽可能避免它.
HTML 5引入了一个scoped
属性,允许style
标签包含在正文的任何位置,但随后又将其删除.
use*_*621 19
虽然其他答案都是正确的,但我很惊讶没有人解释过哪些标准不允许使用样式head
.
它实际上在The head
Element(和DTD)的部分中:
<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
<!ENTITY % head.content "TITLE & BASE?">
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
Run Code Online (Sandbox Code Playgroud)
是的我知道.DTD难以阅读.
这是STYLE
元素出现的唯一位置,因此隐含地在其他地方无效.
Mar*_*ery 18
根据最新的WhatWG和W3C规范,是的,style
元素必须始终在head
.有一段时间,specs包含了一个元素的scoped
属性style
,当它存在时,允许它们被放置在body中的一个元素中,只对该元素的后代进行样式化......但是这个特性从未进入任何真正的浏览器(至少不是无需通过开发人员标志启用)并且由于缺乏实施者兴趣而从两个规范中删除.因此,style
现在只允许在允许元数据内容的上下文中使用元素,元数据内容只是头部.
(好吧,这不太正确 - 您可以合法地将元数据内容(包括style
元素)放在其中的template
元素内body
,但如果您在支持模板的浏览器中,它实际上不会生效.这实际上只是一个愚蠢的技术性. )
在WHATWG规范有这样一段话:
4.2.6.该
style
元素分类:
可以使用此元素的上下文:
当元数据内容的预期.
在<noscript>
元素中是元素的子<head>
元素.
CTRL-Fing通过单页规范显示,其内容模型包含元数据内容的唯一元素是head
元素.
同时,最新的W3C草案规范包含完全相同的措辞,除了它们还在template
元素的内容模型中列出元数据内容.(WhatWG template
以不同的方式构思,并将其内容模型列为nothing
.)
WhatWG规范中元素的非规范性索引证实元素的唯一允许父style
元素是元素head
或noscript
元素.(同一索引的W3版本错误地指出流内容可以包含<style>
元素,但这是W3C在删除scoped
属性时引入的错误.我有一个拉取请求打开来修复它.)
geo*_*wa4 15
他们不应该超越头脑,但无论如何他们都会工作; 虽然你可能会注意到快速闪烁.该网站不应该使用头部以外的样式标签进行验证,但这真的很重要吗?此外,链接标签也可以在头部外部工作,即使它们不应该也是如此.
归档时间: |
|
查看次数: |
77717 次 |
最近记录: |