CSS:@规则 At-rules

@规则 At-rules
1、@charset

用于指定样式表中使用的字符编码。

要点:

  • 必须是样式表中的第一个元素,前面不能有任何字符;
  • 必须是双引号,紧跟一个空格字符(U+0020),并立即以分号结束;
  • 字符编码必须是IANA-registry定义的。

语法

@charset "UTF-8";
@charset "iso-8859-15";

正式的语法

@charset "<charset>";

示例: 有效和无效的字符集声明

@charset "UTF-8";       /* Set the encoding of the style sheet to Unicode UTF-8 */
@charset 'iso-8859-15'; /* Invalid, wrong quoting style used */
@charset  "UTF-8";      /* Invalid, more than one space */
 @charset "UTF-8";      /* Invalid, there is a character (a space) before the at-rule */
@charset UTF-8;         /* Invalid, the charset is not a CSS <string> */


2、@font-face

用于指定了用来显示文本的自定义字体;字体既可以从远程服务器加载,也可以从用户自己的计算机上安装的本地字体加载。

语法:

@font-face {
  font-family: "Open Sans";
  src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),
       url("/fonts/OpenSans-Regular-webfont.woff") format("woff");
}

常用到的为:

  • font-family:指定字体族
  • font-style
  • font-variant
  • font-weight
  • src: 指定包含字体数据的资源。可以是远程字体文件位置的URL,也可以是用户计算机上字体的名称。

3、 @import

用于从其他样式表导入样式。

语法:

@import url; //表示要导入的资源的位置。路径可以是绝对的,也可以是相对的。

示例: 导入css

@import 'custom.css';
@import url("chrome://communicator/skin/");

4、@keyframes

@keyframes 通过在动画序列中定义关键帧(或路径点)的样式,来控制CSS动画序列中的中间步骤。这比 转场 transition 更能控制动画序列的中间步骤。

语法:

@keyframes slidein {
  from {
    transform: translateX(0%);
  }

  to {
    transform: translateX(100%);
  }
}

值:

标识关键帧列表的名称,必须与CSS语法中的标识符匹配。

from:表示起始偏移量为 0%

to:表示一个100%的结束偏移量。

百分比:动画序列中指定关键帧应该出现的 时间百分比

说明:

1、如果关键帧规则没有指定动画的开始或结束状态(即 0% / from100% / to),浏览器将使用元素的现有样式作为开始/结束状态。

2、在关键帧规则中不能动画的属性会被忽略,但受支持的属性仍然会被动画化。

3、如果给定的 animation-name 存在多个关键帧集,则使用解析器遇到的最后一个。

4、如果一个给定的动画时间偏移重复,则 @keyframes 规则中的所有关键帧的百分比都被用于该帧。如:

@keyframes ani-height-color {
  50% {
    height: 200px;
  }

  50% {
    background: green;
  }
}

5、用 !important 限定的关键帧中的声明将被忽略。


5、@media

@media 可以用于基于一个或多个媒体查询的结果应用样式表的一部分。使用它,可以指定一个媒体查询和一个CSS块,当且仅当媒体查询与正在使用内容的设备匹配时应用于文档。

语法:

/* 在代码的顶层 */
@media screen and (min-width: 900px) {
  article {
    padding: 1rem 3rem;
  }
}

/* 嵌套在另一个条件规则中 */
@supports (display: flex) {
  @media screen and (min-width: 900px) {
    article {
      display: flex;
    }
  }
}

媒体类型:媒体类型描述了设备的一般类别。除非使用not或only逻辑操作符,否则媒体类型是可选的,并暗示了all类型。

  • all:适用于所有设备;
  • print:用于在屏幕上以打印预览模式查看已分页的材料和文件;
  • screen:主要用于屏幕。

媒体特性:媒体特性描述用户代理、输出设备或环境的特定特性。媒体特性表达式测试它们的存在或值,并且完全是可选的。每个媒体特性表达式必须用括号括起来

  • height:视口的高度;
  • width:视口的宽度,包括滚动条的宽度;
  • orientation:朝向:竖屏或横屏
  • resolution:分辨率。

逻辑运算符

  • not
  • and :将多个媒体特性组合成单个媒体查询,要求每个链接特性返回true才能使查询为true。
  • only :仅在整个查询匹配时应用样式。
  • , :用于将多个媒体查询组合成一个规则。逗号分隔列表中的每个查询都与其他查询分开处理。因此,如果列表中的任何一个查询为真,整个媒体语句返回真。换句话说,列表的行为类似于 逻辑或 操作符。

示例:

@media print {
  body { font-size: 10pt; }
}

@media screen {
  body { font-size: 13px; }
}

@media screen, print {
  body { line-height: 1.2; }
}

@media only screen
  and (min-width: 320px)
  and (max-width: 480px)
  and (resolution: 150dpi) {
    body { line-height: 1.4; }
}

参考

MDN At-rules

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容

  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,487评论 1 13
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,278评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,689评论 0 2
  • 因为有机会参与一个项目的早期设计,因此搭建的时候不可避免的遇到了如何满足响应式的问题。翻阅了《响应式Web设计:H...
    tangyefei阅读 6,319评论 2 90
  • 1、CSS笔记: 点击链接后退页面: 回到上一个网页 ——修改placeholder提示的样式: 1.除IE外通用...
    倚剑闯天涯_阅读 754评论 1 2