前端学习-day10

文章目录

    • 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.mfbz.cn/a/717086.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

选专业还是选学校:分数限制下的抉择

大家好&#xff0c;我是DX3906 在高考的分数公布后&#xff0c;许多考生和家长都会面临一个棘手的问题&#xff1a;在分数限制下&#xff0c;是选择一个好专业&#xff0c;还是选择一个好学校&#xff1f;这个问题没有标准答案&#xff0c;因为每个人的情况和目标都不尽相同。本…

元宇宙三维虚拟场景制作平台为数字化营销发展注入了新的活力

​在数字化浪潮的推动下&#xff0c;我们迎来了全新的3D元宇宙场景在线制作编辑器&#xff0c;为您带来前所未有的创作体验。这款轻量级实时创作工具&#xff0c;让您轻松构建丰富的3D元宇宙场景&#xff0c;实现全网全终端的展示。 3D元宇宙场景在线制作编辑器拥有海量的3D模…

微型丝杆的耐用性和延长使用寿命的关键因素!

无论是机械设备&#xff0c;还是精密传动元件&#xff0c;高精度微型丝杆是各种机械设备中不可或缺的重要组件。它的精度和耐用性直接影响着工作效率和产品品质&#xff0c;在工业技术不断进步的情况下&#xff0c;对微型丝杆的性能要求也越来越高&#xff0c;如何提升微型丝杆…

reverse-android-淘最热点so

资源 1. com.maihan.tredian 2021版 淘最热点 2. 该 app 没有加壳 ,也没混淆。 登录抓包 POST: https://api.taozuiredian.com/api/v1/auth/login/sms POST /api/v1/auth/login/sms HTTP/1.1 Content-Type: application/json Connection: close Charset: UTF-8 User-Agen…

C++中list容器常用接口

list的基本定义: 在C中&#xff0c;list被定义为一个双向链表容器。它是标准模板库&#xff08;STL&#xff09;中的一部分&#xff0c;位于<list>头文件中。 list是一个通用模板类&#xff0c;可以存储任何类型的数据&#xff0c;因此它是一个模板类。它实现了双向链表数…

Web应用安全测试-综合利用(一)

Web应用安全测试-综合利用&#xff08;一&#xff09; 文章目录 Web应用安全测试-综合利用&#xff08;一&#xff09;1.跨站脚本攻击&#xff08;XSS&#xff09;漏洞描述测试方法GET方式跨站脚本Post方式跨站脚本 风险分析风险等级修复方案总体修复方式对于java进行的web业务…

Pycharm怎么默认终端连接远程服务器

因为经常需要从宿舍到学校内通勤&#xff0c;期间所有连接都会中断&#xff0c;所以每次开SSH特别麻烦&#xff0c;每次终端自动切换到本地&#xff1a; 每次都得点一下Start SSH Session 想要默认终端连接远程服务器&#xff0c;需要点File->Setting->Tools->SSH T…

详细描述拍立淘接口的实现过程,包括接口设计、开发、测试、部署等关键步骤

拍立淘接口的实现过程可以详细分为以下几个步骤&#xff1a; 注册与权限获取&#xff1a; 注册成为阿里巴巴开放平台开发者&#xff0c;并创建应用。获取API的调用权限和密钥&#xff08;如AppKey和AppSecret&#xff09;&#xff0c;这些密钥将用于后续的身份验证和请求签名。…

SmartEDA体验记:探索电路设计新纪元,乐趣无限!

在科技日新月异的今天&#xff0c;电路设计早已不再是专业人士的专属领域。随着智能化工具的不断发展&#xff0c;普通人也能轻松体验到电路设计的乐趣。今天&#xff0c;就让我带大家走进SmartEDA的世界&#xff0c;一起感受前所未有的电路设计之旅。 SmartEDA&#xff0c;作为…

Ubuntu如何添加用户环境变量

一&#xff0c;简介 在工作中&#xff0c;需要将某个环境变量添加到用户环境变量中&#xff0c;方便使用。 要将 SOF_WORKSPACE~/work/sof 添加到用户的环境变量中&#xff0c;需要将该设置添加到用户的 shell 配置文件中&#xff0c;例如 ~/.bashrc&#xff08;对于 Bash 用…

IEPL专线和IPLC专线有什么区别?

IEPL和IPLC是两种广泛用于国际通信的专线服务&#xff0c;IEPL是一种以太网专线服务&#xff0c;IPLC是一种传统的专线服务&#xff0c;它们在某些方面有相似之处&#xff0c;但也存在一些关键的区别。下面是IEPL和IPLC的主要区别: 1.技术和定义: IEPL: 技术: IEPL是一种以太…

推广结算统计,Xinstall助您轻松掌握每一分投入与回报!

在移动互联网时代&#xff0c;App的推广与运营离不开精准的数据支持和高效的结算系统。然而&#xff0c;面对众多的推广渠道和复杂的结算流程&#xff0c;如何确保每一分投入都能得到合理的回报&#xff0c;成为了众多企业和开发者关注的焦点。今天&#xff0c;我们就来聊聊如何…

猫:“喵不知道不喝水要打针”,主食冻干、主食罐头骗水远离缺水

猫咪如果长期不喝水&#xff0c;一直处于缺水状态&#xff0c;会对健康产生很大的影响。可能会导致便秘、上火、尿黄、尿少等。在高温的夏季&#xff0c;猫还可能会因为脱水而出现中暑的情况&#xff0c;严重时甚至会导致死亡。此外&#xff0c;长期饮水不足的猫咪也容易患上泌…

SaaS案例分享:成功构建销售渠道的实战经验

面对SaaS产品推广的难题&#xff0c;你是否曾感到迷茫&#xff0c;不知如何选择有效的销售渠道&#xff1f;Shopify独立站联盟营销或许能为你提供新的思路。Shopify作为领先的电商解决方案提供商&#xff0c;其独立站功能为众多商家提供了强大的在线销售平台。而联盟营销&#…

【SpringBoot整合系列】SpringBoot整合kinfe4j

目录 kinfe4j与Swagger的区别 SpringBoot2.x整合kinfe4j1.添加依赖2.启动类注解3.创建Knife4J配置类4.实体类5.接口admin访问 api访问 常用注解汇总SpringBoot3.x整合Kinfe4j启动报错解决1.更换依赖2.启动类3.配置4.配置类5.参数实体类6.接口admin访问 api访问 各版本注解参照 …

SQL综合查询-学校教务管理系统数据库

一、一个完整的数据查询语句的格式 SELECT 【ALL|DISTINCT】<目标列表达式>【&#xff0c;<目标列表达式2>&#xff0c;...】 FROM <表名或视图名1>【&#xff0c;<表名或视图名2>&#xff0c;...】 【WHERE <元组选择条件表达式>】 【GROUP…

AI大模型浪潮席卷而来,你准备好乘风破浪成为行业翘楚了吗?

揭秘AI大模型浪潮&#xff1a;你准备好乘风破浪了吗&#xff1f; 在繁华的都市中&#xff0c;程序员小李一直默默耕耘在代码的海洋中。然而&#xff0c;随着AI大模型技术的迅猛发展&#xff0c;他发现自己仿佛置身于一场没有硝烟的战争中。身边的同事纷纷掌握了新技术&#xf…

Python基础教程(二十四):日期和时间

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

bit band

位带(bit band) 简介: 在嵌入式系统和微控制器中,位带是一种特殊的内存映射技术. 它允许程序员像访问普通内存一样直接访问和修改特定寄存器的单个位. 使用bit band技术,可以通过内存映射的方式,将特定的位操作转换位对整个字的操作,从而实现对单个位的读写. 作用: 提高位操…

oracle发送http请求

UTL_HTTP包让SQL和PLSQL能够调用超文本传输协议&#xff08;HTTP&#xff09;&#xff0c;也就是说可以使用它在Internet上访问数据。 当包用HTTPS从Web site获取数据时&#xff0c;要使用Oracle Wallet&#xff0c;它是由Oracle Wallet Manager或者orapki utility创建。非HTT…