我正在尝试使用 Google Web Fonts,并在官方网站上它推荐 http://www.google.com/fonts/#QuickUsePlace:quickUse/Family:Ubuntu用一个<link>
标签包括type
属性,如下:
<link href='http://fonts.googleapis.com/css?family=Ubuntu:400,700' rel='stylesheet' type='text/css'>`
在官方 HTML5 样板网站中,他们省略了type
属性
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,700">
根据这个相当旧的答案 https://stackoverflow.com/a/7031817/798677,在 HTML5 中type
属性是可选的<style>
标签和强制<link>
tag.
然而,没有的版本type
属性验证良好W3C 验证器 http://validator.w3.org/.
那么,是type
属性是强制的还是非强制的?
我在上面找到了答案W3C HTML5 官方草案 http://www.w3.org/TR/2012/WD-html51-20121217/document-metadata.html#document-metadata:
type 属性给出了链接资源的 MIME 类型。这是
纯粹是建议性的。该值必须是有效的 MIME 类型。
对于外部资源链接,type 属性用作提示
用户代理,以便他们可以避免获取他们不获取的资源
支持。如果该属性存在,则用户代理必须假设
资源属于给定类型(即使这不是有效的
MIME 类型,例如空字符串)。如果省略该属性,但是
外部资源链接类型定义了默认类型,那么
用户代理必须假定资源属于该类型。 (...)
用户代理不得认为类型属性具有权威性——基于
获取资源时,用户代理不得使用 type 属性
确定其实际类型。只有实际类型 (...)。
样式表链接类型定义了处理资源的规则
内容类型元数据。 (...)
如果文档包含标记如下的样式表链接:
<link rel="stylesheet" href="A" type="text/plain">
<link rel="stylesheet" href="B" type="text/css">
<link rel="stylesheet" href="C">
...那么仅支持 CSS 样式表的合规 UA 将
获取 B 和 C 文件,并跳过 A 文件(因为 text/plain 不是
CSS 样式表的 MIME 类型)。
对于文件 B 和 C,它将检查返回的实际类型
服务器。对于那些以文本/CSS 形式发送的内容,它将应用
样式,但对于那些标记为文本/纯文本或任何其他类型的样式,它
不会。
如果返回的两个文件之一没有内容类型元数据,
或者使用语法不正确的类型,例如 Content-Type: "null",然后
样式表链接的默认类型将会生效。从那时起
默认类型是text/css,样式表仍然是
应用。
For the <style>
属性,同一份文件指出:
type 属性给出样式语言。如果属性是
目前,其值必须是指定样式的有效 MIME 类型
语言。不得指定字符集参数。默认
type 属性的值,如果属性是,则使用该值
不存在的是“text/css”。 [RFC2318]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)