从头学前端-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);
        }
相关文章
|
24天前
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
21天前
|
前端开发 开发者 UED
《前端技术基础》第02章 CSS基础【合集】
层叠样式表(Cascading Style Sheets,简称CSS)是一种用于描述网页视觉表现的语言。该语言与HTML协同工作,其中HTML负责构建网页的结构,而CSS则负责定义网页的外观和格式。CSS通过一系列规则来实现样式的应用,这些规则由选择器(Selectors)和声明块(Declaration Blocks)构成。选择器的作用是明确指出哪些HTML元素将受到特定样式规则的影响,而声明块则包含了具体的样式声明,这些声明定义了元素的视觉属性和相应的值。
37 1
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
57 6
|
2月前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
60 4
|
4月前
|
前端开发
前端基础(九)_CSS的三大特征
本文详细解释了CSS的三大特性:层叠性、继承性和优先级,并通过实例演示了样式冲突、叠加和选择器优先级的应用。
47 2
前端基础(九)_CSS的三大特征
|
3月前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
416 1
|
3月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
3月前
|
前端开发 UED 容器
前端技术分享:利用 CSS Grid 实现响应式布局
【10月更文挑战第1天】前端技术分享:利用 CSS Grid 实现响应式布局
93 2
|
3月前
|
Web App开发 前端开发
【前端基础篇】CSS基础速通万字介绍(上篇)2
【前端基础篇】CSS基础速通万字介绍(上篇)
37 2
|
3月前
|
Web App开发 前端开发
【前端基础篇】CSS基础速通万字介绍(上篇)3
【前端基础篇】CSS基础速通万字介绍(上篇)
30 1

热门文章

最新文章