从头学前端-CSS3提升-续

简介: 从头学前端-CSS3提升-续a

CSS3 2D转换

关键字:transform

  • 移动:沿着x,y轴移动,不会影响盒子的位置,对行内元素没有效果

          div {
         
         
              width: 100px;
              height: 100px;
              background-color: rebeccapurple;
              transform: translate(100px,100px);
              transform: translateX(100px);
              transform: translateY(100px);
          }
    
  • 旋转 rotate
    ```css

    div {
          width: 200px;
          height: 200px;
          background-color: aqua;
          /* transform: rotate(30deg); */
          transition:  all 1s;
      }
    
      div:hover {
          transform: rotate(360deg);
      }
    

- 2d转换中心点 transform-origin
```css
        div {
            width: 200px;
            height: 200px;
            border: 1px solid #000;
            transition:  all 1s;
            transform-origin: left bottom;
            transform-origin: 300px 300px;
        }

        div:hover {
            transform: rotate(220deg)
        }
  • 缩放 scale:可以设置转换中心点,不影响其他盒子

    p {
         
         
              width: 200px;
              height: 200px;
              background-color: red;
          } 
    
          p:hover {
         
         
              transform: scale(2,1);
              transform: scaleX(3);
              transform: scale(2);
              transform: scale(0.5);
          }
    
  • 转换综合写法: 以空格隔开,顺序会影响效果,最好位移在前
        li:hover {
         
         
              transform: translate(0px,10px) rotate(90deg) scale(1.2);
          }
    

CSS3 动画

关键字: animation

  • 用keyframes定义动画并使用

    @keyframes move {
         
         
              0%{
         
         
                  transform: translateX(0px);
              }
    
              100%{
         
         
                  transform: translateX(1000px);
              }
    
          }
    
          div {
         
         
              width: 200px;
              height: 200px;
              background-color: red;
              animation: move 2s ;
          }
    

    动画相关属性:
    在这里插入图片描述

  • 使用多个状态和属性

     @keyframes move {
         
         
              from {
         
         
                  transform: translateX(0px);
              }
              50% {
         
         
                  transform: translate(500px, 200px);
              }
              60% {
         
         
                  transform: translateX(1000px);
              }
              to {
         
         
                  transform: translateX(0);
              }
    
          }
    
          div {
         
         
              width: 200px;
              height: 200px;
              background-color: red;
              animation: move 2s ;
              animation-iteration-count: infinite;
              animation-direction: alternate;
              /* animation-fill-mode: forwards; */
          }
             div:hover {
         
         
              animation-play-state: paused;
          }
    

CSS3 3D转换

  • 透视 perspective :写到被观察元素的父盒子上;

  • 移动: translate3d:

     body {
         
         
              perspective: 105px;
          }
          div {
         
         
              width: 100px;
              height: 100px;
              background-color: #663399;
              transform: translate3d(100px,100px,10px);
    
          }
    
  • 旋转 rotate3d:

 body {
   
   
            perspective: 300px;
        }
             img {
   
   
            display: block;
            margin: 20px 200px;
            width: 200px;
            transition: all 2s;
        }

        img:hover {
   
   
            transform: rotateX(360deg);
            transform: rotateY(180deg);
            transform: rotateZ(90deg) ;
            transform: rotate3d(1,1,0,270deg);
        }
  • 3d呈现 transform-style:
 body {
   
   
            perspective: 300px;
        }
box {
   
   
            position: relative;
            width: 200px;
            height: 200px;
            margin: 0 auto;
            transform-style: preserve-3d;
            transition:  all 2s;
        }

        .box:hover {
   
   
            transform:  rotateY(180deg);
        }

        .box div {
   
   
            position: absolute;
            top:0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: aqua;
        }

        .box div:last-child {
   
   
            background-color: blue;
            transform: rotateX(60deg);
        }
相关文章
|
28天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
36 6
|
1月前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
32 4
|
2月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
254 1
|
3月前
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
70 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
3月前
|
前端开发
前端基础(九)_CSS的三大特征
本文详细解释了CSS的三大特性:层叠性、继承性和优先级,并通过实例演示了样式冲突、叠加和选择器优先级的应用。
38 2
前端基础(九)_CSS的三大特征
|
2月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
2月前
|
前端开发 UED 容器
前端技术分享:利用 CSS Grid 实现响应式布局
【10月更文挑战第1天】前端技术分享:利用 CSS Grid 实现响应式布局
76 2
|
2月前
|
Web App开发 前端开发
【前端基础篇】CSS基础速通万字介绍(上篇)2
【前端基础篇】CSS基础速通万字介绍(上篇)
28 2
|
2月前
|
Web App开发 前端开发
【前端基础篇】CSS基础速通万字介绍(上篇)3
【前端基础篇】CSS基础速通万字介绍(上篇)
24 1
|
2月前
|
缓存 前端开发 JavaScript
【前端基础篇】CSS基础速通万字介绍(上篇)1
【前端基础篇】CSS基础速通万字介绍(上篇)
21 1

热门文章

最新文章