css相信我们都不陌生,但是我们真的对它非常了解吗?

css主要分为两种规则组成:

  1. 一种被称为 at-rule,也就是 at 规则
  2. 另一种是 qualified rule,也就是普通规则

今天让我们来讲讲我们不常用的 at 规则吧:

1. @charset

@charset 用于提示 CSS 文件使用的字符编码方式,它如果被使用,必须出现在最前面不能<style>元素内的样式属性内使用。

我也没搞清楚具体有什么用,只要html和css保持编码一致,并且html上加上 <meta charset="xxxx"> 即可,@charset写不写也没什么作用

@charset "utf-8";

2. @import

@import 当时我以为是less sass的语法糖,其实它是css本身的特性,可以在css文件里引入其他css文件

@import './style.css';
@import url(./style.css);
@import './style.css' screen and (min-width:500px);

3. @media

@media查询应该是我们见得最多的@rule之一了,针对不同的媒体类型定义不同的样式

@media 媒体类型1,媒体类型2 and|not|only (媒体特性) {
    CSS-Code;
}

媒体类型没有被废弃的只有以下几种:

1. all 所有设备

2. print 打印机和打印预览

3. screen 电脑/手机屏幕

4. speech 应用于屏幕阅读器等发声设备

媒体特性常用无非就是(更多):

1. min-width、max-width

2. min-height、max-height

3. orientation(方向):  landscape(横屏)/portrait(竖屏)

4. @page

@page 用于设置分页媒体的样式,和@media print相似,但是@page只能设置部分css样式

MDN原文说到: You can only change the margins, orphans, widows, and page breaks of the document.

5.  @counter-style

自定义list-style的图形,目前只有firefox支持,详情

@counter-style aaa {
  system: cyclic;
  symbols: ‣;
  suffix: " ";
}  

ul {
  list-style: aaa;
}

6. @keyframes

也是我们常用的@rule之一,用于定义animation的动画帧

div {
    position: relative;
    height: 100px;
    background: red;
    animation:  mymove 5s ease infinite;
}
@keyframes mymove
{
    from {top:0px;}
    to {top:200px;}
}

7. @font-face

用于引入一些额外的字体,放在css顶部或者css规则组

@font-face {
  font-family: aaa;
  src: url(http://example.com/fonts/Gentium.woff);
}

p { font-family: aaa, serif; }

8. @supports

用于检测css兼容的特性

@supports (display: grid) {
  div {
    display: grid;
  }
}
@supports not (display: grid) {
  div {
    float: right;
  }
}

9. @namespace 

要和xml的命名控件配合使用,暂时还没搞明白怎么用,详情

/* 默认命名空间 */
@namespace url(XML-namespace-URL);
@namespace "XML-namespace-URL";

/* 命名空间前缀 */
@namespace prefix url(XML-namespace-URL);
@namespace prefix "XML-namespace-URL";

10. @viewport

设置视窗的属性,目前safari、firefox都不支持,更多使用meta的形式来代替

@viewport {
  min-width: 640px;
  max-width: 800px;
}

@viewport {
  zoom: 0.75;
  min-zoom: 0.5;
  max-zoom: 0.9;
}

@viewport {
  orientation: landscape;
}

css at @ 规则的更多相关文章

  1. 常用的css命名规则:

    关于团队合作的css命名规范 常用的css命名规则: 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制 ...

  2. 【转】常用css命名规则

    常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左 ...

  3. CSS 命名规则

    CSS书写顺序: 位置属性(position, top, right, z-index,display, float等) 大小(width, height, padding, margin) 文字系列 ...

  4. 一些CSS命名规则

    一些CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中 ...

  5. CSS命名规则常用的css命名规则

    CSS命名规则常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wr ...

  6. css预编译语言 sass scss(变量$var, css嵌套规则,@import规则,@extend,@mixin)

    什么是sass Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多功能, 并且完全兼容 CSS 语法. Sass 有助于保持大型样式 ...

  7. [转] 常用的CSS命名规则

    (一)常用的CSS命名规则  头:header  内容:content/container  尾:footer  导航:nav  侧栏:sidebar  栏目:column  页面外围控制整体布局宽度 ...

  8. CSS命名规范(规则)常用的CSS命名规则

    CSS命名规范(规则)常用的CSS命名规则   CSS命名规范(规则)常用的CSS命名规则   头:header   内容:content/container   尾:footer ...

  9. CSS命名规则和如何命名

    CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...

  10. css层叠规则(层叠样式表)

    CSS层叠规则: 1.找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器. 2.按权重(!important)和来源对应用到给定元素的所有声明进行排序. 3.按特殊性对应用到给定元素的所有声 ...

随机推荐

  1. 基于JavaMail的Java邮件发送:简单邮件发送

    使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) . 您可以从 Java 网 ...

  2. 安卓(Android)开发基础知识

    .aar文件 .aar是一种压缩文件,和.jar类似,不过它可以包含资源文件,例如图片.drawable.xml资源 .jar文件 在软件领域,JAR文件(Java归档,英语:Java ARchive ...

  3. Hive的命名空间

    Hive的命名空间分为:hiveconf , system, env 和 hivevar 1.hiveconf 的命名空间指的是hive-site.xml下面配置的环境变量 2.system的命名空间 ...

  4. phpstorm ftp主动模式能连接上,但获取不到目录;

    前面一直都在使用ST做开发,但是也想试试传说中的phpstorm神器.一切都弄好了,想使用它的远程开发功能,省去我本地开发然后再ftp上传做法. 但是却遇到了这个问题,困扰了我三四天!!!我各种百度都 ...

  5. Python基础——6面向对象编程

    类和实例 类是抽象的模版,例如汽车:而实例则是拥有相同方法的类的实现,例如汽车里面有大众.宝马.奔驰等等,这些车都能在地面上跑,但是它们的具体数据可以不一样. calss Student(object ...

  6. 研究好vif 和vshow

    另外从源头上处理的???,怎么自己排查出错误??必须 ??https://www.jb51.net/article/124116.htm

  7. Docker(3):Dockerfile配置详解

    FROM  : 指定base镜像 MAINTAINER :设置镜像的作者,可以是任意的字符串 COPY :将文件从build context 复制到镜像   COPY 支持两种形式:COPY src ...

  8. ubuntu 16.04 LTS - 谷歌拼音输入法

    https://blog.csdn.net/chengyq116/article/details/78638249 1. installation1.1 汉语语言包 sudo apt-get inst ...

  9. React-propsType和defaultProps

    TodoItem.propTypes={ content:PropTypes.string, text:PropTypes.string.isRequired, handleDeleteItem:Pr ...

  10. odoo12.0 在Ubutu 18.04下环境的搭建

    sudo apt-get update sudo apt- postgresql nano virtualenv gcc python3.-dev libxml2-dev libxslt1-dev l ...