html--3D爱心

文章目录

代码

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>爱心</title>
    <style type="text/css">
        *{
            margin: 0px;
            border: 0px;
        }
        body{
			overflow: hidden;
            background-color: #000000;
        }
        .container{
            position: relative;
            left: 0;
            top: 0;
            bottom: 0;
            right: 0;
            margin: auto;
            height: 260px;
            width: 200px;
            transform-origin: 50% 130%;
            transform-style: preserve-3d;
            animation: 8s rotate linear infinite;
        }
        @keyframes rotate{
            from{
                transform:rotateX(0deg) rotateY(0deg);
            }
            to{
                transform: rotateX(360deg) rotateY(360deg);
            }
        }
        .square{
            position: relative;
            width: 100px;
            height: 100px;
            transform:translateX(50px) translateY(300px) translateZ(50px);
            transform-style: preserve-3d;
        }
        .square div{
            position: absolute;
            top: 0;
            left: 0;
            width: 100px;
            height: 100px;
        }
        .square div:nth-child(1){
            top: 100px;
            transform-origin: top;
            transform:rotateX(-90deg);
        }
        .square div:nth-child(2){
            left: 100px;
            transform-origin: left;
            transform:rotateY(90deg);
        }
        .square div:nth-child(3){
            left: -100px;
            transform-origin: right;
            transform:rotateY(-90deg);
        }
        .square div:nth-child(4){
            top: -100px;
            transform-origin: bottom;
            transform:rotateX(90deg);
        }
        .square div:nth-child(6){
            top:0;
            transform:translateZ(-100px);
        }
        .square div:nth-child(5){

        }
        .heart{
            position: absolute;
            top:0;
            left:0;
            height: 260px;
            width: 200px;
            border: 2px solid red;
            margin: 200px auto;
            border-radius: 50% 50% 0%/50% 50% 0%;
            border-bottom: 0;
            border-left: 0;
        }
        img{
            width: 100px;
            height:100px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="square">
            <div><img src="images/1.jpg"></div>
            <div><img src="images/2.jpg"></div>
            <div><img src="images/3.jpg"></div>
            <div><img src="images/4.jpg"></div>
            <div><img src="images/5.jpg"></div>
            <div><img src="images/6.jpg"></div>
        </div>
    </div>
    <script  type="text/javascript">
        var container = document.getElementsByClassName("container")[0];
        for (var i = 0;i < 36;i++) {
            var heart = document.createElement("div");
            heart.className = "heart";
            heart.style.transform = "rotateY("+i*10+"deg) rotateZ(45deg) translateX(30px)";
            container.appendChild(heart);
        }
    </script>
</body>
</html>

PS:代码中定义图片的命名

所以需要创建文件夹images,将所要的图片放到里面

效果

相关推荐
拼图20920 分钟前
Vue.js开发基础——数据绑定/响应式数据绑定
前端·javascript·vue.js
刘志辉25 分钟前
vue反向代理配置及宝塔配置
前端·javascript·vue.js
星叔1 小时前
ARXML汽车可扩展标记性语言规范讲解
java·前端·汽车
编程老船长1 小时前
第18章 从零开始:春节门联网页设计,用DIV+CSS打造传统与现代的完美融合
前端·css·html
sky.fly1 小时前
HTML5+css3(浮动,浮动的相关属性,float,解决浮动的塌陷问题,clear,overflow,给父亲盒子加高度,伪元素)
前端·css·html
Coisini_甜柚か1 小时前
打字机效果显示
前端·vue3·antv
碎像2 小时前
Blender 几何、线框猴头的构建 笔记
3d·blender
郑小憨2 小时前
Node.js NPM以及REPL(交互式解释器) 使用介绍(基础介绍 二)
开发语言·前端·javascript·npm·node.js
嚣张农民2 小时前
在 WebSocket 连接中出现错误时,如何处理和捕获错误?
前端·javascript·面试
代码搬运媛2 小时前
前端开发利器:npm 软链接
前端·npm·node.js