CSS元素移动

2023-11-14

2D平面移动

水平竖直移动

水平竖直移动采用属性:transform中的translate(x,y)
一起设置水平和竖直移动:

transform: translate(x,y);
//单位为像素px

分开设置水平移动和竖直移动

transform: translateX();
transform: translateY();
//单位为像素

旋转

旋转采用属性:transform中的rotate();

transform: rotate();
//单位为角度deg

3D移动

3D旋转

要实现3D的旋转就要在2D的基础上增加透视点
旋转可以选择的轴X,Y,Z
Z轴为垂直屏幕射向用户的方向
X轴为水平轴,Y轴为竖直轴
对应的属性分别为:

transform: rotateX();
transform: rotateY();
transform: rotateZ();
//单位角度deg

透视点属性:perspective
像素值表示距离透视点多少像素,正值靠近,负值远离

perspective: 像素值px;
//单位像素

立体正方体六面为图片

原理:先旋转再增加距离,需要注意的是在旋转的过程中X,Y,Z轴会跟着旋转,所以在旋转后的移动轴的选择还是需要一定空间想象能力的。
围绕X,Y,Z三轴的旋转

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        body{
            /*设置透视点*/
            perspective: 1000px;
        }
        .lifangti{
            width: 200px;
            height: 200px;
            margin: 200px auto;
            position: relative;
            /*设置保留子元素的3D效果*/
            transform-style: preserve-3d;

        }
        .page{
            width: 200px;
            height: 200px;
            position: absolute;
            left: 0;
            top: 0;
            /*透明度*/
            opacity: 0.6;
        }
        .front{
            background-image: url("CSS_img/V3.png");
            background-size: 100% auto;
            transform: translateZ(100px);
        }
        .back{
            background-image: url("CSS_img/V1.png");
            background-size: 100% auto;
            transform: translateZ(-100px);
        }
        .right{
            background-image: url("CSS_img/V2.png");
            background-size: 100% auto;
            transform: rotateY(90deg) translateZ(100px);
            /*轴跟着旋转而旋转*/
        }
        .left{
            background-image: url("CSS_img/V4.png");
            background-size: 100% auto;
            transform: rotateY(-90deg) translateZ(100px);
            /*轴跟着旋转而旋转*/
        }
        .top{
            background-image: url("CSS_img/V5.png");
            background-size: 100% auto;
            transform: rotateX(90deg) translateZ(100px);
            /*轴跟着旋转而旋转*/
        }
        .bottom{
            background-image: url("CSS_img/V6.png");
            background-size: 100% auto;
            transform: rotateX(90deg) translateZ(-100px);
            /*轴跟着旋转而旋转*/
        }
    </style>
</head>
<body>
        <div class="lifangti">
            <div class="page front"></div>
            <div class="page back"></div>
            <div class="page left"></div>
            <div class="page right"></div>
            <div class="page top"></div>
            <div class="page bottom"></div>
        </div>
</body>
</html>

效果:

在这里插入图片描述

绕由原点指向某一定点的向量轴旋转

设置原点指向某一定点的向量:

transform: rotate3d(x,y,z,角度);

所有代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        body{
            /*设置透视点*/
            perspective: 1000px;
        }
        .lifangti{
            width: 200px;
            height: 200px;
            margin: 200px auto;
            position: relative;
            /*设置保留子元素的3D效果*/
            transform-style: preserve-3d;
            transition: all 2s;
        }
        .lifangti:hover{
            transform: rotate3d(1,1,1,180deg);
        }
        .page{
            width: 200px;
            height: 200px;
            position: absolute;
            left: 0;
            top: 0;
            /*透明度*/
            opacity: 0.6;
        }
        .front{
            background-image: url("CSS_img/V3.png");
            background-size: 100% auto;
            transform: translateZ(100px);
        }
        .back{
            background-image: url("CSS_img/V1.png");
            background-size: 100% auto;
            transform: translateZ(-100px);
        }
        .right{
            background-image: url("CSS_img/V2.png");
            background-size: 100% auto;
            transform: rotateY(90deg) translateZ(100px);
            /*轴跟着旋转而旋转*/
        }
        .left{
            background-image: url("CSS_img/V4.png");
            background-size: 100% auto;
            transform: rotateY(-90deg) translateZ(100px);
            /*轴跟着旋转而旋转*/
        }
        .top{
            background-image: url("CSS_img/V5.png");
            background-size: 100% auto;
            transform: rotateX(90deg) translateZ(100px);
            /*轴跟着旋转而旋转*/
        }
        .bottom{
            background-image: url("CSS_img/V6.png");
            background-size: 100% auto;
            transform: rotateX(90deg) translateZ(-100px);
            /*轴跟着旋转而旋转*/
        }
    </style>
</head>
<body>
        <div class="lifangti">
            <div class="page front"></div>
            <div class="page back"></div>
            <div class="page left"></div>
            <div class="page right"></div>
            <div class="page top"></div>
            <div class="page bottom"></div>
        </div>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS元素移动 的相关文章

  • 是否可以使“HTML 到语音”与“文本到语音”相同?

    我有一个奇怪的要求 在我现有的应用程序中我有Text2Speech为此 我使用了AVSpeechSynthesizer 到语音文本 但现在要求发生了变化 现在我需要将 HTML 文件数据转换为文本 例如HTML2Speech 我们可以想到的
  • 从顶部开始在同一水平线上显示同一行中的两个 div

    这是我的代码 floating box display inline block width 150px margin 10px border 3px solid 73AD21 after box border 3px solid red
  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • 在 Android 上禁用标注(上下文菜单)

    在网络应用程序中 我需要禁用移动浏览器在触摸并按住 长按 触摸目标 例如 img 或链接 我已经在使用了 webkit touch callout none 它在 iPhone 和 iPad 上运行良好 但似乎不适用于 Android 在
  • 如何使自定义 Web 组件可聚焦?

    我正在写一个自定义网络组件 https github com denilsonsa html5 knob这意味着是互动的 我如何告诉浏览器这个自定义组件应该获得焦点 我希望我的自定义元素 可以聚焦 通过选项卡导航 集中注意力时可以接收按键信
  • 在 Angular html 模板中访问常量枚举

    假设我有一个常量枚举 export const enum MyConstEnum Value1 Value1 Value2 Value2 Value3 Value3 现在我想在我的 Angular 模板中使用它 span This has
  • 将 XSL-FO 转换为 HTML

    我有一组用于 PDF 生成的 XSL FO 文档 我还需要将相同的输出数据 PDF 格式 导出为 HTML 文件 此外 我需要 HTML 具有与 PDF 类似的样式 有没有办法使用 C 将 XSL FO 转换为 XHTML NOTE 我知道
  • div 中的中心文本?

    我有一个div 30px高和500px宽的 这div可以包含两行文本 一行在一行 并相应地设置样式 填充 但有时它只包含一行 我希望它居中 这可能吗 要水平居中 请使用text align center 要垂直居中 只能使用vertical
  • CSS 继承、别名和其他很酷的东西

    有一天 我随机浏览网页 发现了一些程序 可以让你编写 CSS 别名和其他很酷的东西 我现在不记得了 举个例子 我记得你可以这样做 myclass background color red greenfont 其中 greenfont 在其他
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 转义 h 轮廓

    因此 我一直在尝试找出在被较低级别的标题吸引后添加内容的最佳方法是什么 section h1 Title of Section h1 h2 Related 1 h2 h2 Related 2 h2 p I NEED THIS TO BE P
  • HTML W3C 有效元素 - DIV 在 TD 内有效吗?

    我正在和一位同事争论 但找不到证据证明我们俩都是对的 我之前已经看过给定标签的有效元素列表 但只是无法再次找到它 有人能指出我正确的方向吗 我对 XHTML 很好奇 但分歧具体在于 DIV 标签在 HTML 4 01 中的 TD 标签内是否
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何停止TinyMCE删除span标签?

    在我的工作中 前一位程序员决定使用公司网站上精彩的TinyMCE 我遇到的数千个问题之一是 如果原文有的话span标签 当我按下退格键删除一行 p仅标签 全部span标签已从文本中删除 这个错误比另一个错误更具体 我可以删除anything
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 如何使用 JavaScript 或 jQuery 克隆 HTML 元素的样式对象?

    我正在尝试克隆元素的样式对象 这应该允许我在更改后重置所述元素的样式 例如 el style left 50px curr style left 50px Modify the elements style The cloned style
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 禁用允许文本选择的

    残疾人可以吗

随机推荐

  • vant框架DropdownMenu 下拉菜单组件在小程序中的应用

    vant框架DropdownMenu 下拉菜单组件在小程序中的应用 官方文档实例
  • Grafana Kubernetes部署(rancher)

    1 相关资源导航 https blog csdn net zyj81092211 article details 122917786 2 环境介绍 kubernetes版本 v1 23 4 rancher版本 v2 6 3 容器相关环境配置
  • 获取服务器信息失效,获取服务器时间失败

    获取服务器时间失败 内容精选 换一换 安装完Mind Studio后 如果用户进行编译运行相关操作 则需要参见该章节 将硬件环境的lib库同步到Mind Studio安装服务器 已经完成安装 请确保DDK版本号与硬件环境所安装的软件包版本号
  • IO(输入/输出)

    用户态和内核态 用户态 用来运行应用程序 不能直接对操作系统进行调用 而是需要切换到内核态对操作系统进行操作 内核态 直接访问操作系统资源或运行操作系统程序 例如程序要保存一个文件到硬盘 在程序执行的用户态 是直接操作磁盘的 只有切换到内核
  • Socket编程之聊天室

    1 单线程模式 创建服务端 第一步 准备地址和端口 第二步 创建一个ServerSocket对象 第三步 等待客户端连接 最后一步 数据接收和发送 public class SingleThreadServer public static
  • Linux线程同步

    1 同步 同步即协同步调 按预定的先后次序运行 线程同步 指一个线程发出某一功能调用时 在没有得到结果之前 该调用不返回 同时其它线程为保证数据一致性 不能调用该函数 解决同步的问题 加锁 2 数据混乱原因 1 资源共享 独享资源则不会 2
  • ubuntu-16.04 安装虚拟机工具时报错

    2019独角兽企业重金招聘Python工程师标准 gt gt gt root alex virtual machine home alex Desktop vmware tools distrib vmware install pl ope
  • Mathtype公式编辑软件 安装教程

    文章目录 1 MathType公式编辑器 介绍 2 MathType 安装 2 1 下载包 2 2 安装源程序 2 3 安装补丁 4 验证是否安装成功 我们再写论文时 一般都明确要求 公式必须用MathType编辑 所有公式必须在MathT
  • 什么是软件外包公司?要不要去外包公司?

    关注后回复 进群 拉你进程序员交流群 作者丨土豆居士 来源丨一口Linux ID yikoulinux 一 什么是外包 软件外包分为 人力外包和项目外包两个方向 1 劳务派遣 指的是把员工外派到对应的用工企业打 短工 比如很多工程师虽然签约
  • SpringBoot总结

    一 SpringBoot简介 1 入门案例 SpringMVC的HelloWord程序大家还记得吗 SpringBoot是由Pivotal团队提供的全新框架 其设计目的是用来简化Spring应用的初始搭建以及开发过程 原生开发SpringM
  • 153个!PCB板上的字母符号都代表啥?一图带你搞懂!

    PCB板是基于电路设计图而生产的 看过电路设计图的小伙伴都会知道 上面有各种物理电学标准符号 通过分析电路设计图 可以得知将使用哪些电子元器件 各元器件之间的关系 以及该电路具备哪些性能 为此 小编在网络上搜集了一些电工电路图常用的字母符号
  • 石锤!谷歌排名第一的编程语言,死磕这点,程序员都收益

    日本最大的证券公司之一野村证券首席数字官马修 汉普森 在Quant Conference上发表讲话 用Excel的人越来越少 大家都在码Python代码 甚至直接说 Python已经取代了Excel 事实上 为了追求更高的效率和质量 他们开
  • 数据结构与算法——马踏棋盘(c++栈实现)

    马踏棋盘问题是旅行商 TSP 或哈密顿问题 HCP 的一个特例 在国际棋盘棋盘上 用一个马按照马步跳遍整个棋盘 要求每个格子都只跳到一次 最后回到出发点 这是一个 NP问题 通常采用回溯法或启发式搜索类算法求解 在此采用栈进行回溯法求解 i
  • 嵌入式:驱动开发 Day4

    作业 通过字符设备驱动分步注册方式编写LED驱动 完成设备文件和设备的绑定 驱动程序 myled c include
  • OpenCASCADE:在 Android 上使用 OCCT AndroidQt 示例进行 C/C++ 开发

    OpenCASCADE 在 Android 上使用 OCCT AndroidQt 示例进行 C C 开发 在 Android 平台上进行 C C 开发是一项具有挑战性的任务 然而 通过使用 OpenCASCADE OCCT 库和 Andro
  • java linux mac,Java - 获取Linux系统的MAC地址

    I m trying to get the MAC address of a linux system with this code try ip InetAddress getLocalHost NetworkInterface netw
  • Jenkins-CI 远程代码执行漏洞(CVE-2017-1000353)

    Jenkins Jenkins是一个开源软件项目 是基于Java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台 使软件项目可以进行持续集成 漏洞描述 该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中
  • ES自己手动高亮

    背景 es的高亮真的是一言难尽 经常出现各种各样的高亮异常 如 高亮错位 高亮词错误等等 而且 用wildcardQuery 等 也无法高亮 可能是我技术不精吧 总是调不好这玩意 因此决定手写高亮 废话不多说 直接上代码 1 第一步 处理高
  • 方法调用:一看就懂,一问就懵?

    方法调用是不是很熟悉 那你真的了解它吗 今天就让我们来盘一下它 首先大家要明确一个概念 此处的方法调用并不是方法中的代码被执行 而是要确定被调用方法的版本 即最终会调用哪一个方法 上篇文章中我们了解到 class字节码文件中的方法的调用都只
  • CSS元素移动

    元素移动 2D平面移动 水平竖直移动 旋转 3D移动 3D旋转 立体正方体六面为图片 绕由原点指向某一定点的向量轴旋转 2D平面移动 水平竖直移动 水平竖直移动采用属性 transform中的translate x y 一起设置水平和竖直移