在css链接中没有媒体和媒体=“全部”没有区别吗?

时间:2011-08-03 04:19:16

标签: html css

No media和media =“all”之间没有区别吗?

<link rel="stylesheet" type="text/css" media="all" href="style.css">

<link rel="stylesheet" type="text/css" href="style.css">

4 个答案:

答案 0 :(得分:8)

In HTML 4.01,默认值为screen In HTML5,默认值已更改为all

因此,它取决于您在页面中使用的doctype声明。没关系,用户代理对标准感到困惑;看到克努的评论。 (我敢打赌这就是他们在HTML5中将其更改为all的原因。)

然后,只有当您支持不在数字屏幕上显示页面的用户代理或显示任何可视信息时,这才真正重要。

答案 1 :(得分:5)

是和否似乎都是。在规范的14.4.1部分中,它表示没有媒体类型的样式表适用于所有媒体,而另一个则在不需要时被过滤掉。 但在14.2.3部分,它应该默认为屏幕,应该在非分页计算机屏幕上使用,而所有设备都适用于所有设备(more information on media-descriptors here)。

答案 2 :(得分:1)

媒体指的是适用的css文件,例如:屏幕,打印等。 默认是全部。 表示如果您未指定任何媒体,解析器将其视为全部

Documentation

答案 3 :(得分:0)

我永远不会在外部链接的样式表中使用“全部”。现实是过去 20 年的浏览器并不总是遵循建议。你还是有太多的困惑,还有部分浏览器支持,使用“all”:

  1. 像 Netscape 4 系列这样的旧浏览器不支持“all”
  2. IE6 在使用“screen”作为媒体类型时存在问题,并依赖于“all”,而当时许多其他人不支持它。
  3. 当时排除媒体属性时,许多浏览器默认为“全部”,即使“屏幕”应该是默认值。
  4. 在@import 样式表调用中使用“all”时,IE 4-7 将无法加载样式表。
  5. 与“screen”相比,还部分支持媒体查询中的“all”。
  6. “全部”有其自身的错误和怪癖……比如它可能会弄乱后来添加的“打印”表格,并且某些浏览器在使用“全部”打印时无法导入样式。
  7. 过去,没有“媒体”和“标题”属性的“链接”标签不仅在某些旧浏览器中默认为“所有”媒体类型,而且意味着您的链接样式表被所有媒体设备视为可选或"preferred" 表格用户可以在浏览器中更改。

所有不在链接样式表中使用“media=all”的原因。我的建议是始终使用 EXPLICIT 媒体类型,如“屏幕”或“打印”。但是,如果您唯一的选择是为任何和所有可能的设备设计一个工作表,那么您可以在需要模拟“所有”时删除“媒体”属性。只需了解上面列出的问题。