代码之家  ›  专栏  ›  技术社区  ›  Nathan Long

如何正确定义多个样式表的媒体类型?

  •  2
  • Nathan Long  · 技术社区  · 14 年前

    我有一个网页,我知道它正在各种浏览器、移动设备等中查看。我只想添加一个可打印的视图。

    当前样式表链接如下所示:

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

    我要做的是做“如果打印,使用这个新样式表;否则使用原来的样式表”。

    为此,我可以简单地添加一个打印样式表吗?

    <link rel="stylesheet" type="text/css" href="somefile.css" media="print" />
    

    换言之,让“全部”捕获我可能没有想到的任何设备类型,并为特定媒体“打印”是否有意义?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Oded    14 年前

    这个 spec 很明显地说 all 媒体类型意味着样式表适合 全部的 媒体类型。

    如果这是正确的,你可以使用它。

    然而,很可能情况并非如此(它真的适合 speech ?),因此应将主样式表设置为 screen :

    <link rel="stylesheet" type="text/css" href="screen.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="print.css" media="print" />
    

    还可以定义媒体类型 在内部 一个CSS文件,用于表示应与使用的媒体类型一起使用的规则 @media 按规则。

        2
  •  2
  •   amphetamachine    8 年前

    a W3 schools example :

    @media screen {
        p.test {font-family:verdana,sans-serif;font-size:14px;}
    }
    @media print {
        p.test {font-family:times,serif;font-size:10px;}
    }
    @media screen,print {
        p.test {font-weight:bold;}
    }