为什么<script src ="min.js"> </ script>但<link rel ="stylesheet"href ="min">为什么不<style href ="min.css"> </ style>

Jit*_*yas 72 html javascript css html5 w3c

我的一位亲戚开始学习Web开发问我这个问题.

为什么<script src="min.js"></script><link rel="stylesheet" href="min.css">为什么不<style href="min.css"></style>使用linktag在页面中添加外部css但是当我们将css链接到页面但我们<style>...</style>在写css时使用<head>

我告诉他这是因为规格.有没有更多信息要给他?

Xae*_*ess 42

这是历史......巧合?你可以推荐他阅读关于过去的diveintohtml5.info的部分内容,其中有一些有趣的故事,实际上是网络开发人员之间的邮件通信.Web开发人员意味着他们实际上正在开发我们现在看到的Web;)

<img>标签我们习惯:

<IMG SRC="file://foobar.com/foo/bar/blargh.xbm">
Run Code Online (Sandbox Code Playgroud)

可能:

<ICON name="NoEntry" href="http://note/foo/bar/NoEntry.xbm">
Run Code Online (Sandbox Code Playgroud)

要么

<A HREF="..." INCLUDE>See photo</A>
Run Code Online (Sandbox Code Playgroud)

要么

<INCLUDE HREF="...">
Run Code Online (Sandbox Code Playgroud)

最终开发者决定坚持<img>,这已经实施:

我们暂时不准备支持INCLUDE/EMBED....所以我们可能会选择(不是ICON,因为并非所有内联图像都可以被称为图标).目前,内联图像不会明确地为内容类型; 我们计划支持这一点(以及MIME的一般改编).实际上,我们目前使用的图像读取程序动态地计算出图像格式,因此文件扩展名甚至不会很大.

我不知道你问题的直接答案,但我对<link>标签也很好奇.寻找答案可能包括一些网络档案挖掘.


Fré*_*idi 26

至少从W3C的角度来看,存在差异.

<style>元件引入的应用于当前文档的CSS规则的块.但是,外部样式表实际上被视为当前页面相关的整个文档,用户代理可以自由地忽略这些文档,具体取决于链接的属性typemedia属性.例如:

<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,用户代理通常只跟随其中一个链接,screen一个(用于正常渲染)或print一个(用于打印).我们的想法是仅通过下载适当的资源来保留带宽,而不是在以后获取所有内容并过滤媒体类型.

这在规范中提到:

LINK元素将外部样式表链接到文档时,该 type属性指定样式表语言,media 属性指定预期的渲染媒体或媒体.用户代理可以通过仅从网络检索适用于当前设备的那些样式表来节省时间.

  • 但是样式元素也支持`media` 属性,例如`&lt;style type="text/css" media="screen"&gt;` 我们可以有两个样式元素,一个用于`media="screen"`,另一个用于`media= “打印”`。我不明白为什么 style 元素不允许使用 `src` 属性。 (2认同)
  • @ user31782如果你愿意,你可以请愿W3C,但是这里的人对此无能为力. (2认同)