带@的css语法,你知道多少?

前言

  css的顶层样式表由两种规则组成的规则列表构成,一种称为at—rule规则,也就是at规则,另一种是qualified rule,也就是普通规则。今天就学习一下at规则

正文

  @charset

  用于提示css文件使用的编码方式,必须在最前面使用

  

@charset "utf-8";

@import

  用于引入一个css文件,除了@charset规则不会被引入,可以引入一个文件的全部内容。

@import "mystyle.css"; @import url("mystyle.css");
@import [ <url> | <string> ] [ supports( [ <supports-condition> | <declaration> ] ) ]? <media-query-list>? ;

@media

  它能对设备的类型进行一些判断,在media的区块中,是普通规则列表

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

我也经常用来做响应式布局的补充,如:

// 在width: 768px以下是使用下列布局
@media screen and (max-width: 768px) { .footer-div-center { padding-left: 0; } .footer-div-footer p { text-align: left; padding: 0 10px 0 10px; } .footer-div p { text-align: left; padding: 0 10px 0 10px; } }

 

@page

  用于分页媒体访问网页时的表现设置,页面是一种特殊的盒模型结构,除了页面本身,还可以设置它周围的盒。

@page { size: 8.5in 11in; margin: 10%; @top-left { content: "Hamlet"; } @top-right { content: "Page " counter(page); } }

@counter-style

产生一种数据,用于定义列表项的消息

@counter-style triangle { system: cyclic; symbols: ?; suffix: " "; }

@key-frames

keyframes产生一种数据,用于定义动画关键帧

@keyframes diagonal-slide { from { left: 0; top: 0; } to { left: 100px; top: 100px; } }

 

@fontfacce

yongyu定义一种字体,icon font技术就是利用这个特性实现的

 

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

 

@support

检查环境的特性,它与media类似

@namespace

用于跟xml命名空间配合的一个规则,表示内部的css选择器全都带上特定的命名空间

@viewport

用于设置视口的一些特性,不过兼容性目前不是很好,多数时候被heml的meta代替

 

css选择器的示意图

 

以上内容为个人的学习笔记,仅作为学习交流之用。

 带@的css语法,你知道多少?

欢迎大家关注公众号,不定时干货,只做有价值的输出

作者:Dawnzhang 

相关文章