选择器
伪元素名称 | 说明 |
::first-letter | 用来选择文本块的第一个字母,除非在同一行中包含一些其他元素。 |
::first-line | 用来匹配元素的第一行文本, 可以应用一些特殊的样式。 |
::before | 不是指存在于标记中的内容,而是可以插入额外内容的位置。 |
::after | 不是指存在于标记中的内容,而是可以插入额外内容的位置。 |
::selection | 用来匹配突出显示的文本。常用属性background | color |
选择器 | 说明 |
E[attr] | 选择匹配具有属性attr的E元素,其中E可以省略,表示选择定义了attr属性的任意类型元素。 |
E[attr=val] | 选择匹配具有属性attr的E元素,并且attr的属性值为val,同样E元素省略时表示选择定义了attr属性值为val的任意类型元素。 |
E[attr|=val] | 选择匹配E元素, 且E元素定义了属性attr, attr属性值是一个具有val或者以val- 开始的属性值, 常用于lang属性(例如 lang="en-us") |
E[attr~=val] | 选择匹配E元素, 且E元素定义了属性attr, attr属性值具有多个空格分隔的值,其中一个值等于val。 |
E[attr*=val] | 选择匹配E元素, 且E元素定义了属性attr, 其属性值任意位置包含了 “val”。 |
E[attr^=val] | 选择匹配E元素, 且E元素定义了属性attr, 其属性值以val开头的任何字符串 |
E[attr$=val] | 选择匹配E元素, 且E元素定义了属性attr, 其属性值以val结尾的任何字符串 |
属性 | 说明 | 语法及参数 |
border-width | 设置元素边框的粗细 | |
border-color | 设置元素边框的颜色 | |
border-style | 设置元素边框的类型 | |
border-image | 设置元素边框的背景图片 | |
border-radius | 设置元素边框的圆角效果 | |
border-shadow | 设置元素边框的阴影 | box-shadow: none | [inset x-offset y-offset blur-radius spread-radius color], [inset x-offset y-offset blur-radius spread-radius color] |
属性 | 说明 | 示例代码 | 效果 |
none | 定义无边框 | .elm{border: none} | none |
hidden | 与none相同,应用于表格时除外,对于表格,hidden用于解决边框冲突 | .elm{border:hidden;} | hidden |
dotted | 定义点状边框 | .elm{border:3px dotted red;} |
dotted
|
dashed | 定义虚线边框 | .elm{border:3px dashed red;} |
dashed
|
solid | 定义实线边框 | .elm{border:3px solid red;} |
solid
|
double | 定义双线。 双线的宽度等于border-width的值 | .elm{border:3px double red;} |
double
|
grovve | 定义3D凹槽边框,其效果取决于border-color的值 | .elm{border:3px groove red;} |
groove
|
ridge | 定义3D垄状边框,其效果取决于border-color的值 | .elm{border:3px ridge red;} |
ridge
|
inset | 定义3D inset边框,其效果取决于border-color的值 | .elm{border:3px inset red;} |
inset
|
outset | 定义3D outset边框, 其效果取决于border-color的值 | .elm{border:3px outset red;} |
outset
|
inherit | 继承父元素边框的样式 |
属性 | 说明 | 语法 |
background-color | 设置元素的背景颜色 | backgroud-color: [color][rgb][hls][16进制] |
background-image | 设置元素的背景图片 | background-image: none || url |
background-repeat | 设置背景图片在元素中的铺放格式 | background-repeat: repeat || repeat-x || repeat-y || no-repeat |
background-attachment | 设置背景图片是否固定或随着页面滚动 | background-attachment: scroll || fixed |
background-position | 设置背景图片的位置 | background-position: % || length || [left | center | right] [, top | center | bottom] |
background-origin | 设置绘制背景图片的起点(决定背景图片是边框,padding内外开始显示) | background-origin: padding-box || border-box || content-box |
background-clip | 设置背景图片的显示范围 | background-clip: border-box || padding-box || contnt-box || text |
background-size | 设置背景图片的尺寸大小 | background-size: auto || length || % || cover || contain |
background-break | 设置内联元素的背景图片进行平铺式的循环方式 | background-break: bounding-box || each-box || continuous: |
从CSS3开始,设计师可以在单一容器中使用符合的背景图片了。CSS3的多背景语法和原来的语法基本没有变化, 只是在给容器添加的多背景之间必须使用逗号分开。
属性 | 说明 | 语法 |
font-family | 定义字体的类型 | |
font-style | 定义字体样式 | font-style: normal || italic || oblique |
font-weight | 定义字体粗细 100~900 | font-weight: normal || bold || bolder || lighter |
font-size-adjust | 定义是否强制对文本使用同一尺寸 | |
font-stretch | 定义是否横向拉伸变形字体 | |
font-variant | 定义字体大小写 | |
font | 字体的复合型属性 | |
word-spacing | 定义词与词之间的间距 | normal(默认值), length(设置词与词之间的距离值,可以为负数) |
letter-spacing | 定义字符之间的间距 | normal(默认值), length(设置字符之间的间距,可以为负数) |
vertical-align | 定义文本的垂直对齐方式 | baseline(默认值), sub(上标对齐), super(下标对齐), bottom(行框底端对齐), text-bottom(行内文本底端对齐), top(顶端对齐), middle(居中对齐), 百分比数字,长度 |
text-decoration | 定义文本的修饰线 | none(默认值), underline(下划线), overline(上划线), line-through(删除线)和blink(闪烁线) |
text-indent | 定义文本首行缩进 | 长度和百分比 |
text-align | 定义文本水平对齐方式 | left(左对齐), center(水平居中), right(右对齐), justify(两端对齐) |
line-height | 定义文本行高 | normal(默认值), 长度, 百分比,数字 |
text-transform | 定义文本大小写 | normal(默认值), length(设置字符之间的间距,可以为负数) |
text-shadow | 定义文本阴影效果 | text-shadow: 颜色 x轴 y轴 模糊半径, * |
white-space | 定义文字之间和文本之间的空白符间距 | normal(默认值), nowrap(空白符合并,换行符忽略), pre(空白符,换行符保留), pre-wrap(空白符,换行符保留), pre-line(空白符合并,换行符保留) |
direction | 控制文本流入的方向 | ltr(默认值), rtl(文本从右到左流入), inherit(文本流入方向由继承获得) |
text-overflow | 控制文本溢出,截取字符串 | clip(裁切不显示省略标记...), ellipsis(文本溢出时显示省略标记)为了实现效果还需要white-space:nowrap; overflow:hidden;来配合 |
word-wrap | 实现长单词与URL地址的自动换行 | normal (默认值), break-word(将内容在边界内换行) pre 和 table中没有效果 |
word-break | 实现在恰当的断字点进行换行 | normal (默认值), break-all(强行截断单词), keep-all(不允许字断开) |
属性 | 说明 | 语法 |
opacity | 设置元素的背景透明效果 | 取值范围0 ~1 例如:opacity: 0.5 |
从CSS3开始,增加了RGBA, HSL, HSLA 颜色模式
属性 | 说明 | 语法 |
box-sizing | 设置盒模型属性 | content-box(默认值)|| border-box( 为元素设定的宽度和高度决定了元素的边框盒。固定好大小后,设置内边距,边框等都不会影响元素大小)|| inherit(继承父元素的盒模型模式) |
overflow | 设置元素的溢出属性 | visible(默认值)|| auto(在需要时剪切内容并添加滚动条)|| hidden(内容溢出时,溢出部分将会被隐藏,不显示滚动条)|| scroll(不管内容是否溢出,都会显示滚动条)|| no-display(当内容溢出时不显示元素)|| no-content(当内容溢出时不显示内容) |
overflow-x, overflow-y | 设置元素的溢出属性 | visible(默认值)|| auto(在需要时剪切内容并添加滚动条), hidden(内容溢出时,溢出部分将会被隐藏,不显示滚动条)|| scroll(不管内容是否溢出,都会显示滚动条)|| no-display(当内容溢出时不显示元素)|| no-content(当内容溢出时不显示内容) |
resize | 设置用户是否可以调整元素尺寸 | none(用户不可以修改尺寸)|| both(用户可以拖动元素调整尺寸,高宽都可以调整)|| horizontal(用户可以调整元素的宽度)|| vertical(用户可以调整高度)|| inherit(继承父元素的resize值) |
outline | 为元素设置轮廓线 | outline-color(颜色) outline-style(样式) outline-width(宽度) outline-offset(边框偏移) |
display(box) | 伸缩流概念 | 将元素设置为伸缩容器 |
display(inline-box) | 伸缩流概念将元素设置为内联级伸缩容器 | |
box-orient | 设置元素的伸缩流主轴 | horizontal(伸缩项目在容器中从左到右排列)|| vertical(伸缩项目在容器中从上到下排列) || inline-axis(伸缩项目沿着内联轴排列)|| block-axis(伸缩项目沿着块轴排列) |
box-direction | 设置元素伸缩流方向 | normal(正常显示顺序)|| reverse(反向显示) |
box-lines | 设置伸缩容器项目是单行还是多行显示 | single(伸缩容器一行或一列显示)|| multiple(伸缩容器多行或多列显示) |
box-pack | 设置伸缩容器当前伸缩项目在主轴方向的对齐方式 | start(向一行的起始位置靠齐)|| end(向结束位置靠齐)|| center(向中间位置靠齐)|| justify(平均分布) |
box-align | 设置伸缩容器的当前行的侧轴上的对齐方式 | start(伸缩项目的顶部边缘放置在伸缩项目容器的顶端)|| end(伸缩项目底部边缘放置在伸缩项目容器底端)|| center(伸缩项目紧靠在一起,垂直居中于伸缩容器)|| baseline(伸缩项目根据他们的基线对齐)|| stretch(伸缩项目填充整个伸缩容器) |
box-flex | 控制伸缩项目在伸缩容器中的显示空间(溢出部分,或是多余部分调整比例) | 数值(整数或小数) |
box-ordinal-group | 设置伸缩项目在页面中的显示顺序 | 数值(排序顺序) |
display(flexbox || inline-flexbox) | 混合版Flexbox模型 | flexbox(设置元素为块级伸缩容器 ) || inline-flexbox(设置元素为内联块伸缩容器) |
flex-direction | 设置元素的伸缩布局主轴 | row(默认值)|| row-reverse(伸缩项目从右向左排列)|| column(伸缩项目按照从上到下的顺序排列)|| column-reverse(伸缩项目从下到上排列) |
flex-wrap | 设置溢出伸缩容器的伸缩项目自动换行到下一行或下一列 | nowrap(默认值)|| wrap(伸缩容器无法容纳时自动换行换列)|| wrap-reverse(伸缩容器无法容纳时,反方向自动换行换列) |
flex-flow | 设置伸缩布局中伸缩流方向与伸缩项目的换行(flex-direction和flex-wrap的简写版本) | flex-flow: flex-direction | flex-wrap |
flex-pack | 设置伸缩容器当前伸缩项目在主轴方向的对齐方式 | start(向一行的起始位置靠齐)|| end(向结束位置靠齐)|| center(向中间位置靠齐)|| justify(平均分布)|| distribute(伸缩项目平均分布在同一行里) |
flex-align | 设置伸缩容器的当前行的侧轴上的对齐方式 | start(伸缩项目的顶部边缘放置在伸缩项目容器的顶端)|| end(伸缩项目底部边缘放置在伸缩项目容器底端)|| center(伸缩项目紧靠在一起,垂直居中于伸缩容器)|| baseline(伸缩项目根据他们的基线对齐)|| stretch(伸缩项目填充整个伸缩容器) |
flex-line-pack | 由于技术内容至今未实现停止说明 |
属性 | 说明 | 语法 |
columns | 复合属性设置多列布局的列宽及列数 | column-width(定义列宽)|| column-count(定义列的个数) |
column-width | 定义列的宽度 | auto(默认值), length(固定值来设定列的宽度) |
column-count | 指定元素想要的列数和允许的最大列数 | auto(默认值)| 数值(正整数,定义元素的列数) |
column-gap | 设置元素分列的列间距 | normal(默认值)| length(数字和单位组成的长度值) |
column-rule | 设置列与列之间额边框宽度,样式及颜色 | column-rule-width(边框的宽度)| column-rule-style(边框的样式)| column-rule-color(边框的颜色) |
column-span | 设置跨列元素和跨多少列 | none(默认值)| all(元素跨所有列) |
column-fill | 设置多列中的每一列的高度是否统一 | auto(默认值)| balance(各列的高度会根据内容最多的一列的高度进行统一) |
属性 | 说明 | 语法 |
linear-gradient | 设置线性渐变 | 起点(关键字【to top | to left | to bottom | to right | to top left | ...】或deg【度】), 起点颜色, | 【多色】| 终点颜色 |
radial-gradient | 设置径向渐变 | shape(定义径向渐变的形状circle | ellipse), position(定义径向渐变的圆心位置length | % | left |center ... 如: 圆心位置在200px, 150px 半径为 50px. 150px 写法为 50px 150px at 200px 150px, 颜色), size(定义结束形状的大小 closest-side | closest-corner | farthest-side | farthest-corner), color-stop(渐变线上的停止颜色) |
repeating-linear-gradient | 重复线性渐变 | 语法参数如linear-gradient |
repeating-radial-gradient | 重复径向渐变 | 语法参数如radial-gradient |
属性 | 说明 | 语法 |
transform | 让元素在一个坐标系统中变形,包含一系列变形函数,可以移动,旋转和缩放元素 | none(默认值)| transform-function |
transform-origin | 指定元素的中心点位置 | % | length | left | center | right | top | bottom (x轴, Y轴, z轴) |
transform-style | 3D空间中的重要属性,指定嵌套元素如何在3D空间中呈现 | flat(默认值所有子元素在2D平面呈现), preserve-3d(所有子元素在3D空间中呈现) |
perspective | 设置视距 | none | 数值 |
perspective-origin | 决定perspective属性的源点角度 | % | length | left | center | right | top | bottom |
backface-visibility | 决定元素旋转背面是否可见 | visible(默认值,反面可见)| hidden(反面不可见) |
函数 | 说明 | 语法 |
translate() | 移动元素, 可以根据X轴和Y轴坐标重新定位元素位置 | 扩展函数 translateX() , translateY() |
scale() | 缩小或放大元素 | 扩展函数 scaleX(), scaleY() |
rotate() | 旋转元素 | |
skew() | 倾斜元素 | 扩展函数 skewX() , skewY() |
matrix() | 定义矩阵变形,基于X轴和Y轴坐标重新定位元素位置 | |
translate3d() | 移动元素,用来指定一个3D变形移动位移量 | |
translateZ() | 指定3D位移在Z轴的位移量 | |
scale3d() | 缩放一个元素 | |
scaleZ() | 指定Z轴的缩放量 | |
rotate3d() | 指定元素具有一个三维旋转的角度 | |
perspective() | 指定一个透视投影矩阵 | |
matrix3d() | 定义矩阵变形 |
属性 | 说明 | 语法 |
transition | 复合属性,创建CSS3动画过渡 | transition-property(指定过渡或动态模拟的CSS属性) transition-duration(指定完成过度所需要的时间) transition-timing-function(指定过渡函数[ease 由快到慢, linear 始终恒速, ease-in 速度逐渐加速, ease-out 速度逐渐减速, ease-in-out 加速再减速]) transition-delay(指定过渡开始出现的延迟时间) |
animation属性通过@keyframes构建一些transition的动画效果, animation属于复合属性,它包含众多的子属性
属性 | 说明 |
animation-name | 指定一个关键帧动画的名字,这个动画名称必须对应一个@keyframes规则 |
animation-duration | 设置动画播放所需的时间,单位为秒 |
animation-timing-function | 设置动画的播放方式。ease | linear | ease-in ... |
animation-delay | 指定动画开始时间,单位为秒(延迟,提前) |
animation-iteration-count | 指定动画播放的循环次数(infinite无限循环) |
animation-direction | 制定动画的播放方向 normal(向前播放)| alternate(偶数向前播,奇数反方向播放)| |
animation-play-state | 控制动画的播放状态 running(播放)| paused(暂停) |
animation-fill-mode | 设置动画的时间外属性 none(按预期进行和结束)forwards(动画结束后继续应用最后关键帧的位置) backwards(向元素应用动画样式时迅速应用动画的初始帧) both (同时具有forwards和 backwards效果) |
animation-name: moveten; aniamtion-duration: 1s; animation-time-function: steps(10, end); animation-iteration-count: infinite; animation-direction: alternate; animation-delay: 3s; animation-fill-mode: backwards
@keyframes的语法
命名是由@keyframes开头,后面紧跟着 动画的名称 加上一对花括号"{....}",括号中是不同时间段的样式规则。多由百分比组成,也可以由frome to组合创建动画属性