添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
transform : translate ( 12 px , 50 % ) ; transform : translateX ( 2 em ) ; transform : translateY ( 3 in ) ; .缩放 { transform : scale ( 2 , 0.5 ) ; transform : scaleX ( 2 ) ; transform : scaleY ( 0.5 ) ; .旋转 { transform : rotate ( 0.5 turn ) ; transform : rotate ( 90 deg ) ; .倾斜从一个角度去看的侧视效果 { transform : skew ( 30 deg , 20 deg ) ; transform : skewX ( 30 deg ) ; transform : skewY ( 1.07 rad ) ; .多个效果 { transform : translate ( 30 px , 20 px ) rotate ( 20 deg ) ;

transform-box

有多种取值,但是没必要仔细阅读解释。只要记住,常规的dom元素,用fill-box就行。

比较复杂的svg元素,默认的box是viewport,那就是整个svg。

例如指定transform-origin是50% 50%,实际上是整个svg的中心而不是当前元素的中心点,需要手动设置为fill-box。

简言之,如果是在正常dom中其实不需要改这个值,就是符合预期的。如果是svg中一般是需要改为fill-box是符合预期的。

  • view-box(default)
  • border-box
  • fill-box
  • transform-origin

    transform变换的原点,默认是center,如果出现了不符合预期的情况,基本都是由于transform-box导致的。

    /* 中心点,上下左右的中点(默认是center) */
    transform-origin: center; 
    transform-origin: 50%;
    /* 左上角,其他四个角类似 */
    transform-origin: top left; 
    /* 上面中间 */
    transform-origin: top center;
    /* 其实还有个z轴,是第三个参数 */
    transform-origin: 0 50% 10px;
    

    利用关键帧可以实现动画

    .rect{
        transform-box: fill-box;
        transform-origin: 0 0;
        animation: mymov 1s forwards;  /*animation 指定动画名和持续时间,结束后保持*/ 
    @keyframes mymov{ /*动画通过关键帧来声明,可以直接声明100%的样式,0%默认对应的就是静态css效果*/
        100%{
            /* 这里可以指定任何css样式,例如width,backgroud等 */
            transform: rotate(45deg); 
    

    animation第一个参数指定动画,第二个指定时间,但是还有更多的参数。

    animation: animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction animation-fill-mode animation-play-state
    
  • timing-function: 默认是ease低速开始加速,然后减速。还支持linear、ease-in、ease-out、ease-in-out等
  • delay: 延时执行,如1s,默认是0s,注意不是0,必须是0s,后面说为啥。
  • iteration-count: 动画重复次数,infinity是无限循环
  • direction: 动画方向normal正向,reverse反向,alternate正向然后反向回来,如果设置了次数一个来回算两次。
  • animation-fill-mode: forwards使动画结束后样式保留,而不是复原。backwards复原。
  •