我想知道是否有必要使用<link rel="stylesheet" type="text/css" href=…> over <link rel="stylesheet" href=…rel="stylesheet"标记了它是一个样式表的信息——因此text/css实际上并没有添加任何东西。

HTML使用的唯一样式表格式是CSS,那么text/ CSS对浏览器说了什么?一些网站似乎添加了type="text/css"属性(http://www.jquery.com/),而其他网站则没有(http://www.youtube.com/)。

那么,在<link rel="stylesheet">元素中type="text/css"的用途是什么,有必要包括它吗?


当前回答

这在HTML5规范中并不是必需的,但是对于旧版本的HTML来说却是必需的。

Html 4 W3.org规范

http://www.w3.org/TR/html40/struct/links.html#edef-LINK http://www.w3.org/TR/html40/present/styles.html

Type代表样式表的MIME类型。我所见过的唯一支持的值是Text/CSS,这可能是HTML5抛弃它的原因。我想他们在早期的版本中使用了它,以允许未来的扩展可能性,但这从未发生过。

使用HTML5而不指定类型,到目前为止,即使在测试旧版本的IE时,我也没有遇到兼容性问题。

其他回答

不,它只是代表MIME类型,它在HTML中已经弃用,我们可以在没有任何浏览器兼容性的情况下使用它。

我的理解是,它允许以text/css以外的格式规范样式表。

虽然这已经成为(X)HTML文档的样式表的主要(和标准)交付格式,但该规范实际上足够广泛,允许传递各种不同的MIME类型,只是标准浏览器没有实现它们。

这不是必须的,不是。

HTML生活标准中你感兴趣的部分是link元素,它声明:

link元素必须具有rel属性或itemprop属性,但不能同时具有两者。 type属性给出了链接资源的MIME类型。这纯粹是建议性的。该值必须是有效的MIME类型字符串。 对于外部资源链接,type属性用于提示用户代理…

HTML4.01不要求<link>标签上的type属性。根据规范,type属性是对浏览器的提示。如果浏览器不支持提示的内容类型,那么它可以跳过获取它。

type = content-type [CI] 此属性提供关于链接目标地址上可用内容的内容类型的建议提示。它允许用户代理选择使用回退机制,而不是获取内容,如果他们被告知他们将获得他们不支持的内容类型的内容。 使用此属性的作者负责管理该属性可能与链接目标地址上的可用内容不一致的风险。

注意:<link>服从<a>对type属性的定义。

与大多数人无关,但一些系统(至少Microsoft SharePoint 2013)将在处理HTML时使用此类型属性(例如,在创建.master page文件时)。