CSS

选择器

css中的选择器

背景颜色、图像

background background-attachment background-clip background-color background-image background-origin backgrond-position background-repeat background-size

文字、字体

color font font-family font-size font-size-adjust font-style font-variant font-weight

文档格式

hanging-punctuation hyphens letter-spacing line-height text-align text-decoration text-indent text-overflow text-shadow text-transform white-space word-spacing word-wrap

宽度和高度

width,height max-width min-width max-height min-height

外缘与内缘余白

margin margin-bottom margin-left margin-right margin-top padding padding-bottom padding-left padding-right padding-top

边框

border border-bottom border-color border-style border-width border-top border-right border-left

边框圆角

border-radius border-bottom-right-radius border-bottom-left-radius border-top-right-radius border-top-left-radius

边框图像

border-image border-image-repeat border-image-slice border-image-source border-image-width

容器与弹性容器

bottom clear clip box-decoration-break box-shadow align-content align-items align-self display flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap justify-content float left outline-offset overflow overflow-x overflow-y order position right resize top vertical-align z-index

透明

opacity rgba

渐变

linear-gradient radial-gradient

文章分栏

break-after break-before break-inside columns column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width

时间过渡效果

transition transition-delay transition-duration transition-property transition-timing-function

动漫效果

@keyframes animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function

2D、3D变形

transform translate matrix2d matrix3d perspective scale skew rotate transform-origin

颜色、尺寸、单位

角度与URL 颜色 单位长度

表格

border-collapse border-spacing caption-side empty-cells table-layout

列表

counter-increment counter-reset list-style list-style-type list-style-image list-style-position

基本的用户界面属性

box-sizing content cursor nav-index nav-left nav-down nav-right nav-up

CSS基础

更新时间:2014年10月

transform:matrix3d()(使用矩阵进行3D变形)

transform: matrix(数值a,数值b,数值c,数值d,数值e,数值f);

transform: matrix(0.5, 0.2, 0, 0.5, 200, 50);

使用transform属性matrix3d()函数能够综合实现3D方向上的旋转、缩放、倾斜。



变形内容由16个数值决定,基准数值为matrix(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),也就是说这时的坐标没有变化。

如果需要2D变形,则使用transform属性的matrix()函数。当然,matrix(a,b,c,d,e,f)与matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, e, f, 0, 1)的结果相同。

把16个值看作4×4的矩阵时,会比较容易理解。如下:

matrix3d(

1, 0, 0, 0,

0, 1, 0, 0,

0, 0, 1, 0,

0, 0, 0, 1

);

使用4×4矩阵进行坐标变换的理由

首先,当没有进行任何变形时:
使用4×4矩阵进行坐标变换的理由

其次,当进行扩大缩小时,使用坐标变换的方法:
使用4×4矩阵进行坐标变换的理由

以上可以使用3×3的矩阵,但是,当使3D进行平移时,就需要4×4的矩阵:
使用4×4矩阵进行坐标变换的理由

matrix(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)的值及其说明
函数 值的说明 实例
matrix3d(
1,0,0,0,
0,Math.cos(角度值),Math.sin(-角度值),0,
0,Math.sin(角度值),Math.cos(角度值),0,
0,0,0,1)
只有X轴上的旋转,没有扩大缩小、平移 演示
matrix3d(
Math.cos(角度值),0,Math.sin(角度值),0,
0,1,0,0,
Math.sin(-角度值),Math.cos(角度值),0,
0,0,0,1)
只有Y轴上的旋转,没有扩大缩小、平移
matrix3d(
Math.cos(角度值),Math.sin(-角度值),0,0,
Math.sin(角度值),0,Math.cos(角度值),0,0,
0,0,1,0,
0,0,0,1)
只有Z轴上的旋转,没有扩大缩小、平移
matrix3d(
sx,0,0,0,
0,sy,0,0,
0,0,sz,0,
0,0,0,1)
只有扩大缩小、没有回转、平移
matrix3d(
1,0,0,0,
0,1,0,0,
0,0,1,0,
tx,ty,tz,1)
只有平移,没有扩大缩小、回转
默认值:none
使用对象:块元素和直列元素
值的继承:不继承

使用例

.sample1,.sample2{

background-color:#b4cdde;

margin:2px;

}

.sample2 img{

transform: matrix3d(2, 0.2, 0, 0, 0, 0.5, 0, 0, 0, 0, 4, 0, 100, 50, 25, 1);

-webkit-transform:matrix3d(2, 0.2, 0, 0, 0, 0.5, 0, 0, 0, 0, 4, 0, 100, 50, 25, 1); /* Chrome, Safari, Opera */

-ms-transform: matrix3d(2, 0.2, 0, 0, 0, 0.5, 0, 0, 0, 0, 4, 0, 100, 50, 25, 1); /* IE 9 */

}

浏览器上的显示结果↓



原图

3D变形后

不同浏览器上的属性的书写方法及对应情况

IE10FirefoxChromeSafariOpera
transform(2D)10.0
9.0:-ms-
3.5:-moz-
16.0
4.0:-webkit-
36.0
3.2:-webkit-23.0
15.0:-webkit-
12.1
10.5:-o-
transform(3D)10.010.0:-moz-
16.0
4.0:-webkit-
36.0
3.2:-webkit-23.0
15.0:-webkit-