返回首页 | 网站案例 | 帮助中心

合作共赢、快速稳定、服务地方的网站建设提供商

北京网站建设

服务热线:13812345678

网页代码如何做功能查询

时间:2014-7-22

  JavaScript库Modernizr,它用于在访问者的浏览器中探测某些属性的存在状态.以前提到了Modernizr通过@supports at-rule对CSS的本地适应,现在我们可以回顾上述内容并对齐进行了一些更详细的讨论,其原因是Modernizr极为有用并且许多浏览器正逐渐开始采用它.
  @supports at-rule的工作原理与媒体查询类似,创建一个逻辑查询,如果它返回true,则应用后面气吁吁内所包含的规则,但文本条件并不是媒体我.而是CSS属性值对,其名称为功能查询.例如,如果要想测试一个用户浏览器是否支持colume-count属性从而为其提供合适的样式,则可以构建一个如下例所示的查询:
  @supports(column-count:1){...}
  至于媒体查询,则可以通过逻辑去处符来建立更多高级查询,例如,对于既支持column-count属性又box-sizing属性的浏览器,下面的查询使用了and 运算符来为其提供样式:
   还可以使用or运算符来建立可以探测被定义的特性的查询,在处理供应商预设的特性时,这个操作极为有用,在下面的示例中,hyphens和-moz-hyphen属性都被再次测试,只要其中一个受到支持,规则就会被应用:
  @supports(-moz-hyphens:auto) or (hyphens:auto){...}
  not运算符允许为不支持给定属性的浏览器提供样式.(注意,与其他运算符不同,这个运算符必须位于parethese内部)
  @supports(not (-webkit-hyphens:auto)){...}
  功能查询包含一个与at-rule一样容易使用的API.例如,通过将一个属性-值对作为两个参数传递给CSS.supports()类函数,就可以探测一个单一特性,下面的例子测试了display属性的flex值:
  var supports= CSS.supports('display','flex');
  还可以将全部查询做为一个单一参数传递给CSS.supports()类函数,这些查询像字符串一样被置于引号内:
  var supports = CSS.supports('(column-count:1) and (display:flex)');
  Modemizr项目已经开始在它的库中实现功能查询;如果存在本地CSS.supports()实现,脚本将使用这类函数,如果不存在,脚本将使用Modernizr自带的测试.

建站流程

    北京网站建设流程