notes
  • Introduction
  • 语言
    • JS
      • JS原型到原型链
      • JS继承的实现
      • this对象
      • Promise基本概念
      • Promise实现
      • Promise实战
      • JS的EventLoop
      • JS容易出现误区的运算符
      • JS容易出现误区的操作符
      • JS深拷贝
      • JS节流与防抖
      • ES5实现原生/ES6方法
    • TS
      • 声明文件
      • 项目配置
    • CSS
      • CSS引入方式以及优先级计算
      • BFC神奇背后的原理-文摘
      • 回流reflow与重绘repaint
      • 三栏式布局
      • 垂直居中
      • 清除浮动的方法
      • 移动端适配方案
      • 纯CSS斜切角实现
      • CSS揭秘
      • 背景图片轮播
      • CSS绘制序列帧动画
      • transform实现一个多面体
    • HTML
  • ES6
  • Node.js
    • xxx
  • 前端框架
    • Vue.js
      • Vue双向数据绑定原理
      • Vue-Router原理及实现
    • React
    • AngularJS
  • 工程构建
    • Webpack
      • 01-webpack概述及背景
      • 03-webpack热更新原理
      • 04-splitChunks原理分析
      • 05-webpack工作流程
      • 07-webpack构建流程
      • 07-webpack构建流程
      • 10-webpack 如何进行性能分析
    • Gulp
    • Lint
      • ESLint
      • TSLint
    • Bable
  • 工程化
    • 模块化
    • 组件化
    • 规范化
      • 编码规范
    • 自动化
  • 运维
    • Nginx
    • GIT
    • CDN
    • VPS
    • DBA
  • 小程序
  • 跨端
  • 测试
  • 计算机技术
    • 计算机网络
      • 同源策略到前端跨域解决方案
      • TCP数据传输
      • TCP和UDP的区别
      • HTTP协议概述
      • HTTP缓存详解
      • HTTPS以及SSL建立过程
      • HTTPS的七个误解(译文)
      • cookie与Session机制区别以及Cookie SessionStorage LocalStorage异同
      • HTTP状态码Status
      • DNS原理入门
      • 网络攻击与防御
      • HTTP转发与重定向
      • 登录认证设计
    • 操作系统
      • shell脚本命令
    • Linux
      • Linux命令大全
      • vim命令
    • 浏览器
      • 浏览器内核、JS 引擎、页面呈现原理及其优化
      • 九种浏览器端缓存机制概览
      • 性能优化-网络请求方面
      • webkit解析CSS过程详解
  • 前端面试
    • 算法
Powered by GitBook
On this page
  1. 语言
  2. CSS

transform实现一个多面体

PreviousCSS绘制序列帧动画NextHTML

Last updated 5 years ago

transform的功能是在是太强大了,不知道该怎么说,自己也不是很懂,反正就是各种2d 3d变换,只要你想的到,就能实现。

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
    <meta charset="utf-8"/>
    <title>transform-style_CSS参考手册_web前端开发参考手册系列</title>
    <meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com"/>
    <meta name="copyright" content="www.doyoe.com"/>
    <style>
        body {
            -webkit-perspective: 1000px;
            perspective: 1000px;
        }

        .cube {
            position: relative;
            font-size: 80px;
            width: 2em;
            margin: 1.5em auto;
            -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
            -webkit-transform: rotateX(-30deg) rotateY(30deg);
            transform: rotateX(-30deg) rotateY(30deg);
        }

        .cube > div {
            position: absolute;
            width: 2em;
            height: 2em;
            background: rgba(0, 0, 0, .1);
            border: 1px solid #999;
            color: white;
            text-align: center;
            line-height: 2em;
        }

        .front {
            -webkit-transform: translateZ(1em);
            transform: translateZ(1em);
        }

        .top {
            -webkit-transform: rotateX(90deg) translateZ(1em);
            transform: rotateX(90deg) translateZ(1em);
        }

        .right {
            -webkit-transform: rotateY(90deg) translateZ(1em);
            transform: rotateY(90deg) translateZ(1em);
        }

        .left {
            -webkit-transform: rotateY(-90deg) translateZ(1em);
            transform: rotateY(-90deg) translateZ(1em);
        }

        .bottom {
            -webkit-transform: rotateX(-90deg) translateZ(1em);
            transform: rotateX(-90deg) translateZ(1em);
        }

        .back {
            -webkit-transform: rotateY(-180deg) translateZ(1em);
            transform: rotateY(-180deg) translateZ(1em);
        }
    </style>
</head>
<body>
<div class="cube">
    <div class="front">1</div>
    <div class="back">2</div>
    <div class="right">3</div>
    <div class="left">4</div>
    <div class="top">5</div>
    <div class="bottom">6</div>
</div>
</body>
</html>

参考文章:

CSS3 Transform
菜鸟教程API-2D
菜鸟教程API-3D