1 2 3 4

带@的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选择器的示意图

 

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

 

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

作者:Dawnzhang 

posted @ 2019-02-25 23:31  Dawnzhang  阅读(...)  评论(...编辑  收藏
PV