CSS 语法
2019-11-07 本文已影响0人
欢欣的膜笛
at 规则
- @charset
- 用于提示 CSS 文件使用的字符编码方式,它如果被使用,必须出现在最前面。
@charset "utf-8";
- @import
- 用于引入一个 CSS 文件,除了 @charset 规则不会被引入,@import 可以引入另一个文件的全部内容。
@import "mystyle.css";
@import url("mystyle.css");
@import [ <url> | <string> ]
[ supports( [ <supports-condition> | <declaration> ] ) ]?
<media-query-list>? ;
- @media
- media query 使用的规则,它能够对设备的类型进行一些判断。在 media 的区块内,是普通规则列表。
@media print {
body {
font-size: 12px;
}
}
- @page
- 用于分页媒体访问网页时的表现设置,页面是一种特殊的盒模型结构,除了页面本身,还可以设置它周围的盒。
@page {
size: 8.5in 11in;
margin: 10%;
@top-left {
content: "Hamlet";
}
@top-right {
content: "Page " counter(page);
}
}
- @ counter-style
- 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;
}
}
- @ fontface
- fontface 用于定义一种字体,icon font 技术就是利用这个特性来实现的。
@font-face {
font-family: Gentium;
src: url(http://example.com/fonts/Gentium.woff);
}
p {
font-family: Gentium, serif;
}
- @ support
- support 检查环境的特性,它与 media 比较类似。
- @ namespace
- 用于跟 XML 命名空间配合的一个规则,表示内部的 CSS 选择器全都带上特定命名空间。
- @ viewport
- 用于设置视口的一些特性,不过兼容性目前不是很好,多数时候被 html 的 meta 代替。
普通规则
-
选择器
-
声明:属性和值
1. CSS 属性值可能是以下类型:
类型 | 描述 |
---|---|
CSS 范围的关键字 | initial,unset,inherit,任何属性都可以的关键字。 字符串:比如 content 属性 |
URL | 使用 url() 函数的 URL 值 |
整数/实数 | 比如 flex 属性 |
维度 | 单位的整数/实数,比如 width 属性 |
百分比 | 大部分维度都支持 |
颜色 | 比如 background-color 属性 |
图片 | 比如 background-image 属性 |
2D位置 | 比如 background-position 属性 |
函数 | 来自函数的值,比如 transform 属性 |
2. CSS 支持一批特定的计算型函数:
函数 | 描述 | CSS 版本 |
---|---|---|
attr() | 返回选择元素的属性值 | 2 |
rgb() | 使用红(R)、绿(G)、蓝(B)三个颜色的叠加来生成各式各样的颜色 | 2 |
rgba() | 使用红(R)、绿(G)、蓝(B)、透明度(A)的叠加来生成各式各样的颜色 | 3 |
calc() | 支持加减乘除四则运算。在针对维度进行计算时,calc() 函数允许不同单位混合运算 | 3 |
max() | 取两数中较大的一个 | 3 |
min() | 取两数之中较小的一个 | 3 |
clamp() | 给一个值限定一个范围,超出范围外则使用范围的最大或者最小值 | 3 |
toggle() | 规则选中多于一个元素时生效,它会在几个值之间来回切换 | 3 |
cubic-bezier() | 定义了一个贝塞尔曲线(Cubic Bezier) | 3 |
hsl() | 使用色相、饱和度、亮度来定义颜色 | 3 |
hsla() | 使用色相、饱和度、亮度、透明度来定义颜色 | 3 |
linear-gradient() | 创建一个线性渐变的图像 | 3 |
radial-gradient() | 用径向渐变创建图像 | 3 |
repeating-linear-gradient() | 用重复的线性渐变创建图像 | 3 |
repeating-radial-gradient() | 类似 radial-gradient(),用重复的径向渐变创建图像 | 3 |
var() | 用于插入自定义的属性值 | 3 |