css3中,媒体查询,screen and 和only screen and有什么不同

html-css024

css3中,媒体查询,screen and 和only screen and有什么不同,第1张

W3C文档这样描述的:The keyword ‘only’ can also be used to hide style sheets from older user agents. User agents must process media queries starting with ‘only’ as if the ‘only’ keyword was not present.

翻译过来就是:only是为了在不支持媒体查询的浏览器中隐藏样式表,浏览器处理以only开头的关键词时将会忽略only。

@media only screen and (min-width:xxx) and (max-width:xxx) 与 @media screen and (min-width:xxx) and (max-width:xxx) 在支持媒体查询的浏览器中其实是一模一样的,没有任何区别,因为only将被忽略。但是在不支持媒体查询的浏览器中由于没有only这个媒体类型,因此会直接忽略这条媒体查询。在不支持媒体查询的浏览器中,如果不加only,@media screen and (min-width:xxx) and (max-width:xxx)将会被解析为@media screen,明显与期望不一致。因此通过加一个浏览器不认识的媒体类型only则浏览器将会直接忽略这条媒体查询。

media="only screen and (min-width: 401px) and (max-width: 600px)"

/* 在支持媒体查询的浏览器中等于*/

media="screen and (min-width: 401px) and (max-width: 600px)"

/*在不支持媒体查询的浏览器中解析到带only的媒体查询时,会将only视为媒体类型。(由于没有only这种媒体类型,因此将不会被应用)*/

media="only"

/*如果不带only,在不支持媒体查询的浏览器中*/

media="screen and (min-width: 401px) and (max-width: 600px)"

/*将被解析为screen,将会被应用到屏幕类型设备上*/

media="screen"

CSS样式在网页html中实现方法详解

CSS按其位置可以分成三种:

内部样式表(Internal Style Sheet),把css文档写在<head></head>里面的。只对样式所在网页有效。

内嵌样式(Inline Style),也叫内联样式或者叫行内样式,写在tag标签,如:<p id="p1" style="color:red"></p><p id="p2" style="color:blue"></p>,只对当前标签起作用,即只对这个段落p(id="p1")起作用.

外联样式表(External Style Sheet),将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。引用格式:在head中定义:<head><link rel="stylesheet" href="css样式路径..1.css" type="text/css" media="screen"</head>

rel="stylesheet"表示链接元素是一个样式表(stylesheet).1.css是单独保存在外部的css样式表文件。其中能包含任何标示符,必须以.css为后缀。media是可选属性,表示用什么媒体输出,screen是显示器(默认),media="print"表示输出到打印机

望采纳