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

时间:2023-03-09 01:48:38
带@的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: ;
}
.footer-div-footer p {
text-align: left;
padding: 10px 10px;
}
.footer-div p {
text-align: left;
padding: 10px 10px;
}
}

@page

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

@page {
size: .5in 11in;
margin: %; @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: ;
top: ;
} 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语法,你知道多少?

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

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

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

作者:Dawnzhang