让前端飞Web前端之路

css - 浏览器 @ AT 规则

2020-03-24  本文已影响0人  前端_周瑾

大家可能在CSS中见到过字符@然后加一些关键字的用法,这种用法就称之为AT规则,在CSS中,种类还是很多的,这里总结列举下。
常规规则
所谓“常规规则”指的是语法类似下面的规则:
@[KEYWORD] (RULE)
包括:

定义字符集。字符设置据说会被HTTP头覆盖。某些软件,例如Dreamweaver新建CSS文件时候,自动会带有下面所示代码,但实际开发时候,作用不大,因为meta中已经有所设置(<meta charset="utf-8">),会覆盖,所以我都是直接删掉的。
@charset "utf-8";

/* XHTML命名空间 */
@namespace url(http://www.w3.org/1999/xhtml);
/* 内嵌在XHTML的SVG的命名空间 */
@namespace svg url(http://www.w3.org/2000/svg);

嵌套规则
所谓“嵌套规则”,就是带有花括号{}, 语法类似下面的规则:
@[KEYWORD] { /* 嵌套语句 */}

包括:

@document 
  /* 页面URL需要是 */
  url(http://www.zhangxinxu.com/),  
  /* 页面URL的开头必须是... */
  url-prefix(www.zhangxinxu.com/wordpress/),  
  /* 该域上的所有页面 */
  domain(zhangxinxu.com),  /* 所有https协议页面 */
  regexp("https:.*")
{  
  /* 开始样式 */
  body { font-family: Comic Sans; }

}

由于这个AT规则是CSS4水平的,所以目前的浏览器支持情况很弱,只有FireFox浏览器支持,而且还需要加前缀。但是,10年之后,也就是2025年再来看,估计就是另外一番景象了。

@font-face {
  font-family: 'MyWebFont';
  src:  url('myfont.woff2') format('woff2'),
        url('myfont.woff') format('woff');
}

用来声明CSS3 animation动画关键帧用的,一笑而过:

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media all and (min-width: 1280px) {    /* 宽度大于1280干嘛干嘛嘞... */ }
@media 
(-webkit-min-device-pixel-ratio: 1.5), 
(min-resolution: 2dppx) { 
    /* Retina屏幕干嘛干嘛嘞... */ }
@media print {    /* 闪开闪开,我要打印啦! */ }
@media \0screen\,screen\9 {    /* IE7,IE8干嘛干嘛嘞... */ }
@media screen\9 {    /* IE7干嘛干嘛嘞... */ }

@page :first {
  margin: 1in;
}

上面CSS表示:first页面也要有:left, :right页面margin间距。

@page的伪类包括::blank, :first, :left, :right。

/* 检查是否支持CSS声明 */ @supports (display: flex) {
  .module { display: flex; }
}/* 检查多个条件 */ @supports (display: flex) and (-webkit-appearance: checkbox) {
  .module { display: flex; }

}

上一篇下一篇

猜你喜欢

热点阅读