前端学习-day10

news2024/12/30 2:31:23

文章目录

    • 01-体验平面转换
    • 02-平移效果
    • 03-绝对定位元素居中
    • 04-案例-双开门
    • 06-转换旋转中心点
    • 07-案例-时钟-转换原点
    • 08-平面转换-多重转换
    • 09-缩放效果
    • 10-案例-按钮缩放
    • 11-倾斜效果
    • 12-渐变-线性
    • 13-案例-产品展示
    • 14-渐变-径向
    • 15-综合案例-喜马拉雅

01-体验平面转换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: pink;
            /* :转变 过度 */
            transition: all 1s;
        }
        div:hover{
            /* 变压器 */
            transform: translate(800px) rotate(360deg) scale(2) skew(180deg);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

02-平移效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .father{
            width: 500px;
            height: 300px;
            margin: 50px auto;
            border: 1px solid #000;
        }
        .son{
            width: 200px;
            height: 100px;
            background-color: pink;
            transition: all 1s;
        }
        /* 鼠标移入到父盒子,son改变位置 */
        .father:hover .son{
            transform: translate(200px,100px);

            /* 百分比参照盒子自身尺寸改变位置 */
            transform: translate(50%,100%);

            /* 只写一个数 只移动x方向 */
            transform: translate(100px);

            /* 可以单独移动Y方向的 */
            transform: translateY(100px);
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son"></div>
    </div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

03-绝对定位元素居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            position: absolute;
            left: 50%;
            top: 50%;

            

            /* 向左向上移动自身尺寸的一半 */
            transform: translate(-50%,-50%);


            width: 200px;
            height: 100px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

在这里插入图片描述

04-案例-双开门

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        /* 1.布局:父子结构,父级是大图,子级是左右小图 */
        .father{
            display: flex;
            margin: 0 auto;
            width: 1366px;
            height: 600px;
            background-image: url(./images/bg.jpg);
            overflow: hidden;
        }
        .father .left,
        .father .right{
            width: 50%;
            height: 600px;
            background-image: url(./images/fm.jpg);
            transition: all 1s;
        }
        .father .right{
            /* background-position是对当前区域的背景进行移动 */
            background-position: right 0;
        }

        /* 2.鼠标悬停的效果:左右移动 */
        .father:hover .left{
            transform: translate(-100%);
        }
        .father:hover .right{
            transform: translate(100%);
        }

    </style>
</head>
<body>
    <div class="father">
        <div class="left"></div>
        <div class="right"></div>
    </div>
</body>
</html>

在这里插入图片描述

06-转换旋转中心点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        img{
            width: 200px;
            border: 1px solid #000;
            transition: all 1s;
            /* 转换原点 */
            transform-origin: right bottom;
        }
        img:hover{
            transform: rotate(360deg);
        }
    </style>
</head>
<body>
    <img src="./images/rotate.png" alt="">
</body>
</html>

在这里插入图片描述

07-案例-时钟-转换原点


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .clock {
        width: 250px;
        height: 250px;
        border: 8px solid #000;
        border-radius: 50%;
        margin: 100px auto;
        position: relative;
      }

      .line {
        /* 1.定位 */
        position: absolute;
        width: 4px;
        height: 250px;
        background-color: #999;
        left: 50%;
        transform: translate(-50%);
      }

      /* 线2: 旋转, 每条线旋转角度不同, 单独选中不同的line, 写rotate代码 */
      /* 一圈是360, 等分成  xx 份 */
      .line:nth-child(2) {
        transform: translate(-50%) rotate(30deg);
      }

      .line:nth-child(3) {
        transform: translate(-50%) rotate(60deg);
      }

      .line:nth-child(4) {
        transform: translate(-50%) rotate(90deg);
      }

      .line:nth-child(5) {
        transform: translate(-50%) rotate(120deg);
      }

      .line:nth-child(6) {
        transform: translate(-50%) rotate(150deg);
      }

      /* 第一根和第四跟宽度大一些 */
      .line:nth-child(1),
      .line:nth-child(4) {
        width: 5px;
      }

      /* 遮罩圆形 */
      .cover {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 200px;
        height: 200px;
        background-color: #fff;
        border-radius: 50%;
      }

      /* 表针 */
      /* 并集选择器放在单独选择器的上面, 避免transform属性的层叠 */
      .hour,
      .minute,
      .second {
        position: absolute;
        left: 50%;
        /* 盒子底部在盒子中间 */
        bottom: 50%;


        /* 使三个指针围绕底部定点旋转 */
        transform-origin: center bottom;
      }

      .hour {
        width: 6px;
        height: 50px;
        background-color: #333;
        margin-left: -3px;
        /* 这是设置的旋转度数 */
        transform: rotate(15deg);
      }

      .minute {
        width: 5px;
        height: 65px;
        background-color: #333;
        margin-left: -3px;
        transform: rotate(90deg);
      }

      .second {
        width: 4px;
        height: 80px;
        background-color: red;
        margin-left: -2px;
        transform: rotate(240deg);
        
      }

      /* 螺丝 */
      .dotted {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 18px;
        height: 18px;
        background-color: #333;
        border-radius: 50%;
      }
    </style>
  </head>

  <body>
    <div class="clock">
      <!-- 刻度线 -->
      <div class="line"></div>
      <div class="line"></div>
      <div class="line"></div>
      <div class="line"></div>
      <div class="line"></div>
      <div class="line"></div>

      <!-- 遮罩圆形 -->
      <div class="cover"></div>
      <!-- 表针 -->
      <div class="hour"></div>
      <div class="minute"></div>
      <div class="second"></div>

      <!-- 螺丝 -->
      <div class="dotted"></div>
    </div>
  </body>
</html>

在这里插入图片描述

08-平面转换-多重转换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 800px;
            height: 200px;
            border: 1px solid #000;
        }
        img{
            width: 200px;
            transition: all 1s;
        }
        .box:hover img{
            /* 先平移后旋转 */
            transform: translate(600px) rotate(360deg);
            /* 多重转换会以第一种转换形态的坐标轴为准 */
            /* transform: rotate(360deg) translate(600px); */


            /* 层叠性 */
            /* transform: translate(600px); */
            /* transform: rotate(360deg); */
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="./images/tyre.png" alt="">
    </div>
</body>
</html>

在这里插入图片描述

09-缩放效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .box{
        width: 300px;
        height: 210px;
        margin: 100px auto;
    }
    .box img{
        width: 100%;
        transition: all 0.5s;
    }
    .box:hover img{
        /* 只设置宽高的效果是从左上角发生改变 */
        /* width: 500px; */
        /* height: 400px; */


        /* 沿着中心点向四周放大 */
        /* 大于1 :放大   小于1:缩小   等于1 :不变 */
        transform: scale(2);
        transform: scale(0.2);
        transform: scale(1);




    }
</style>
<body>
    <div class="box">
        <img src="./images/product.jpeg" alt="">
    </div>
</body>
</html>

10-案例-按钮缩放

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        li{
            list-style: none;
        }
        img{
            width: 100%;
        }
        .box{
            width: 249px;
            height: 210px;
            margin: 50px auto;
        }
        .box p{
            color: #3b3b3b;
            padding: 10px 10px 0 10px;
        }


        li{
            overflow: hidden;
        }

        /* 1.摆放播放的按钮——>放到图片区域的中间 */
        .box .pic{
            position: relative;
        }

        .pic::after{
            /* 2. after是行内元素,宽高不生效,但是加了position 变成行内块,宽高就生效了 */
            position: absolute;
            /* 1.after 不加content 不生效 */
            top: 50%;
            left: 50%;
            /* transform: translate(-50%,-50%); */
            /* margin-left: -28px; */
            /* margin-top: -28px; */
            content: '';
            width: 58px;
            height: 58px;
            background-image: url(./images/play.png);
            /* 变成复合属性,防止标签层叠 */
            transform: translate(-50%,-50%) scale(5);
            opacity: 0;
            transition: all .5s;
        }
        /* 2.设置鼠标悬停状态 */
        li:hover .pic::after{
            opacity: 1;
            transform: translate(-50%,-50%) scale(1);
        }

    </style>
</head>
<body>
    <div class="box">
        <ul>
            <li>
                <div class="pic">
                    <img src="./images/party.jpeg" alt="">
                </div>
                <p>【和平精英】</p>
            </li>
        </ul>
    </div>
    
</body>
</html>

在这里插入图片描述
在这里插入图片描述

11-倾斜效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            margin: 100px auto;
            width: 100px;
            height: 200px;
            background-color: pink;
            transition: all 1s;
        }
        div:hover{
            transform: skew(30deg);
            transform: skew(-30deg);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

12-渐变-线性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: blue;
            background-image: linear-gradient(
                red,
                blue
            );
            background-image: linear-gradient(
                to right,
                red,
                blue
            );
            background-image: linear-gradient(
                45deg,
                red,
                blue
            );
            background-image: linear-gradient(
                red 80%,
                blue
            );
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

在这里插入图片描述

13-案例-产品展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            position: relative;
            width: 300px;
            height: 212px;
        }
        .box img{
            width: 300px;
        }
        .box .title{
            position: absolute;
            left: 15px;
            bottom: 20px;

            /* 堆叠顺序: 谁的index属性值大,就不会被盖住  */
            z-index: 2;
            width: 260px;
            color: #fff;
            font-size: 20px;
            font-weight: 700px;
        }
        .mask{
            position: absolute;
            top: 0;
            width: 300px;
            height: 212px;
            background-image: linear-gradient(
                transparent,
                rgba(0,0,0,0.5)
            );
            opacity: 0;
            transition: all .5s;
        }
        .box:hover .mask{
            opacity: 1;
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="./images/product.jpeg" alt="">
        <div class="title">和代表参加答辩首都机场难道你</div>
        <div class="mask"></div>
    </div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

14-渐变-径向

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: pink;
            border-radius: 50%;
            /* 正圆 */
            background-image: radial-gradient(
                50px at center center,
                red,
                pink
            );

            /* 椭圆 */
            background-image: radial-gradient(
                50px 20px at center center,
                red,
                pink
            );

            background-image: radial-gradient(
                50px at 50px 30px,
                red,
                pink 50%
                /* 半径的50%前是渐变  50%后是pink颜色 */
            );
            
        }
        button{
            width: 100px;
            height: 40px;
            background-color: green;
            border: 0;
            border-radius: 5px;
            color: #fff;
            background-image: radial-gradient(
                50px at 30px 20px,
                rgba(255,255,255,0.2),
                transparent
            );
        }
    </style>
</head>
<body>
    <div></div>
    <button>按钮</button>
</body>
</html>

在这里插入图片描述

15-综合案例-喜马拉雅

点击查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1846325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PCAtools|主成分分析

library(PCAtools) library(tidyverse) ls(package:PCAtools) iris <- as.data.frame(iris) iris <- iris %>% mutate(class str_c("a",1:dim(iris)[1],sep "")) rownames(iris) <- iris$class iris <- iris[,-6] head(iris) # 构建矩阵 …

国有企业数字化转型常见思考框架与路线图

一、国有企业数字化转型思考框架 在之前的十九届四中全会《关于坚持和完善中国特色社会主义制度推进国家治理体系和治理能力现代化若干重大问题的决定》中明确“推进国有经济布局优化和结构调整&#xff0c;发展混合所有制经济&#xff0c;增强国有经济竞争力、创新力、控制力…

麒麟移动运行环境(KMRE)——国内首个开源的商用移固融合“Android生态兼容环境”正式开源

近日&#xff0c;由麒麟软件研发的KMRE&#xff08;Kylin Mobile Runtime Environment&#xff0c;麒麟移动运行环境&#xff09;在openKylin&#xff08;开放麒麟&#xff09;社区正式发布&#xff0c;为Linux桌面操作系统产品提供了高效的Android运行环境解决方案。这也是国内…

【免费API推荐】:各类API资源免费获取【11】

欢迎来到各类API资源的免费获取世界&#xff01;幂简集成为您提供了一个集合了各种免费API接口的平台。无论您是开发者、数据分析师还是创业者&#xff0c;都可以通过我们的平台轻松免费获取所需的API资源。幂简精心整理了各类API接口&#xff0c;涵盖了不同领域的需求&#xf…

如何避免在React中的回调函数中使用箭头函数可能引起的内存泄漏?

在React中&#xff0c;箭头函数在回调函数中的使用确实可能引发性能问题&#xff0c;尤其是当这些函数在渲染方法或者组件内部被定义时。每次组件重新渲染时&#xff0c;都会创建这些函数的新实例&#xff0c;这可能导致不必要的计算和内存使用&#xff0c;甚至在某些情况下引发…

大模型RAG应用优化实战

之前体验OpenAI GPT-4o模型的时候&#xff0c;感觉到大语言模型进化的太快&#xff0c;基于AI应用做出的努力可能很快就被新一代模型降维打击&#xff0c;变得没有价值了&#xff0c;“人生苦短&#xff0c;终归尘土”&#xff0c;最终都化为虚无&#xff0c;还有什么意义呢&am…

多维表格/业务库表格大数据量性能瓶颈

先说最终结论&#xff1a;Angular 组件创建性能损耗是当下主要的性能瓶颈 理由&#xff1a; 基于以往编辑器性能优化的经验&#xff0c;编辑器在动态渲染内容时会创建很多壳子组件&#xff08;也就是Angular 组件&#xff09;&#xff0c;排查的时候就发现如果略这些壳子组件性…

探索Lazada商品数据宝库——一键获取商品详细数据信息

一、引言 在电商领域&#xff0c;Lazada凭借其广泛的商品种类和便捷的购物体验&#xff0c;成为东南亚地区备受欢迎的电商平台。然而&#xff0c;对于许多商家和数据分析师来说&#xff0c;获取商品详细数据信息却是一项繁琐而重要的任务。为了解决这个问题&#xff0c;我们精…

内容安全复习 9 - 身份认证系统攻击与防御

文章目录 基于生物特征的身份认证系统概述基于生物特征的身份认证 人脸活体检测检测方法未解决问题 基于生物特征的身份认证系统概述 作用&#xff1a;判别用户的身份、保障信息系统安全。 是识别操作者身份的过程&#xff0c;要保证其**物理身份&#xff08;现实&#xff0…

openppp2 命令行接口详解

openppp2 是一个工作在 OSI/3 Layer 网络通信层的虚拟以太网工具链的开源软件&#xff0c;在查阅本文之前&#xff0c;人们可以查阅以下资料。 开源仓库&#xff1a; liulilittle/openppp2: PPP PRIVATE NETWORK™ 2 VPN Next Generation Reliable and Secure Virtual Etherne…

一次压测引发的数据库 CPU 飙升

作者&#xff1a;昀鹤 一次压测过程中&#xff0c;当数据库的 qps 和 tps 都正常时&#xff0c;如果 cpu 利用率异常的高&#xff0c;应该如何排查&#xff1f;希望通过这篇文章&#xff0c;给你一些启发... 一、业务背景 业务需要控制频道内兑换现金的数量&#xff0c;于是在…

恭喜行云绽放,24年再度荣获国家鼓励的企业软件证书

在刚刚过去的五月份&#xff0c;行云绽放再次传来一个好消息&#xff0c;那就是2024年行云绽放再度荣获国家鼓励的企业软件证书。 什么是国家鼓励的企业软件证书&#xff1f; 国家鼓励的企业软件证书被称为“国家鼓励的软件企业证书”&#xff0c;这一证书由中国软件行业协会…

网站https逐渐普及,选择合适的SSL证书

目录 为什么实现https访问逐渐成为主流&#xff1a; 为什么要选择合适的SSL证书&#xff1a; 目前主流的三种域名证书及IP证书&#xff1a; 怎样申请SSL证书&#xff1a; 随着国内网络安全信息的逐渐普及&#xff0c;绝大部分的网站目前都配置了SSL证书用于实现https访问&a…

ModelScope联手OpenDataLab:直接调用7000+开源数据集,赋能AI模型加速研发

在人工智能的演进历程中&#xff0c;数据和模型的整合是推动技术发展的核心动力。随着AI技术的不断进步&#xff0c;整合各类关键资源&#xff0c;构建一个高效、协同的开发环境&#xff0c;已成为加速创新应用发展的关键。 基于这一理念&#xff0c;OpenDataLab浦数与ModelSc…

解锁私域电商潜力:构建与维护强大私域生态

大家好&#xff0c;我是专注于私域电商领域的技术专家&#xff0c;拥有丰富的行业经验。在今天的分享中&#xff0c;我将带大家深入理解私域流量的精髓&#xff0c;并探讨如何构建一个充满活力且高效的私域生态。在数字化浪潮下&#xff0c;如何深化用户关系并挖掘其潜在价值&a…

mybatis动态传参pgsql日期Interval

在navicat16中&#xff0c;标准写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL 5 minutes) 在mybatis中&#xff0c;错误写法 SELECT * FROM business_status_info WHERE create_time > (NOW() - INTERVAL #{monitorTimeInterval,jdbc…

git 配置私人令牌

这里写自定义目录标题 获取私人令牌配置个人令牌 获取私人令牌 在个人设置里点击私人令牌选型&#xff0c;之后生成令牌即可。注意&#xff1a;令牌只会出现一次&#xff0c;务必保存好。 配置个人令牌 个人令牌&#xff1a;3c15c866fa61066212a83c66fd8133ba # 进入项目文…

使用开源的 LLM 充当 LangChain 智能体

开源 LLM 现已达到一定的性能水平&#xff0c;可堪作为智能体工作流的推理引擎。在我们的测试基准上&#xff0c;Mixtral 甚至已超越 GPT-3.5&#xff0c;而且我们还可以通过微调轻松地进一步提高其性能。 引言 经由因果语言建模任务训练出的大语言模型&#xff08;LLM&#…

智源联合多所高校推出首个多任务长视频评测基准MLVU

当前&#xff0c;研究社区亟需全面可靠的长视频理解评估基准&#xff0c;以解决现有视频理解评测基准在视频长度不足、类型和任务单一等方面的局限性。因此&#xff0c;智源联合北邮、北大和浙大等多所高校提出首个多任务长视频理解评测基准MLVU&#xff08;A Comprehensive Be…

ES全文检索支持繁简和IK分词检索

ES全文检索支持繁简和IK分词检索 1. 前言2. 引入繁简转换插件analysis-stconvert2.1 下载已有作者编译后的包文件2.2 下载源码进行编译2.3 复制解压插件到es安装目录的plugins文件夹下 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4…