前端练手3D爱心

这篇具有很好参考价值的文章主要介绍了前端练手3D爱心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

盒子模型常用属性(认识)

overflow: hidden;定义盒子不随浮动
margin-left: 50px:使盒子距离外边距左(右上下)50px
margin: 100px auto:使盒子距离外边距上下左右100px
margin: 使盒子距离外边距上右下左为50px 0 0 50px;
margin: 20px 30px:使盒子距离外边距上下20px,左右30px
margin: 10px:使盒子距离外边距上下左右都是10px
border: 5px solid red:定义盒子边框(5px 单实线 红色) {dotted点double双实线}
border-radius: 50px:使盒子边角变圆
border-radius: 50%(1-8个值,顺时针):使盒子变圆
border-top-left-radius: 50%:使盒子左上角变圆
display: inline-block:将块级元素div盒子等放到一行

效果一 爱心半边

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>爱心半圆</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        div {
            /*宽*/
            width: 100px;
            /*高*/
            height: 170px;
            /*边款颜色*/
            border: 2px solid red;
            /*盒子居中*/
            margin: 100px auto;
            /*盒子变圆:border-radius: 50%; */
            /*border-radius: 左上角 中间线  右上角;*/
            border-radius: 50% 50% 0/40% 50% 0;
            /* border-radius: 50%; */
            /* 去掉下面多余的线 */
            border-left: 0;
            border-bottom: 0;
            /* y坐标45°倾斜左边 */
            transform: rotateZ(45deg);
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

效果:
css怎么实现3d心形,前端开发,前端,css3,css

效果二 爱心整合生成

js将半爱心旋转一周生成爱心

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>整合一个爱心</title>
    <style type="text/css">
        /* 清空值 */
        
        * {
            margin: 0;
            padding: 0;
        }
        /* 背景修改为黑色 */
        
        body {
            background: #000;
        }
        /*  引用div内的love3d元素*/
        
        .love3d {
            position: relative;
            width: 100px;
            height: 170px;
            margin: 100px auto;
        }
        /* 引用script内的heart */
        
        .heart {
            /* 相对于love3d 定位 */
            position: absolute;
            /* 定位坐标 36个半爱心的位置 0会重叠为一个半圆 */
            left: 0;
            top: 0;
            width: 100px;
            height: 170px;
            border: 2px solid red;
            border-radius: 50% 50% 0/40% 50% 0;
            border-left: 0;
            border-bottom: 0;
        }
    </style>
</head>

<body>
    <!-- div类名love3d -->
    <div class="love3d"></div>
    <script type="text/javascript">
        //在document文档下通过ClassName获取Elements元素
        //类数组长度为1
        var love3d = document.getElementsByClassName("love3d")[0];
        for (var i = 0; i < 36; i++) {
            // 创建一个元素
            var tDiv = document.createElement("div");
            //对象类名
            tDiv.className = "heart";
            //将所有半圆整体Y旋转10°,Z旋转45°,x坐标设置35像素大小
            tDiv.style.transform = "rotateY(" + i * 10 + "deg) rotateZ(45deg) translateX(35px)";
            // love3d元素内添加tDiv
            love3d.appendChild(tDiv);
        }
    </script>

</body>

</html>

效果:
css怎么实现3d心形,前端开发,前端,css3,css

效果三 实现立方体爱心

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>立方体旋转</title>
    <style type="text/css">
        /* 立体效果设置 */
        
        body {
            perspective: 1000px;
        }
        
        #cube {
            position: relative;
            width: 200px;
            height: 200px;
            margin: 300px auto;
            /* z方向的百分之五十为101 */
            transform-origin: 50% 50% -101%;
            /* 盒子修改为3d空间 */
            transform-style: preserve-3d;
            /* 鼠标移动2秒的过渡 */
            transition: 2s;
        }
        
        #cube div {
            position: absolute;
            left: 0;
            top: 0;
            width: 200px;
            height: 200px;
            border: 2px solid red;
        }
        /* 对于下面的div标签 */
        
        #cube div:nth-child(1) {
            /* 上 */
            top: -202px;
            /* 旋转基地 xyz方向 */
            /*默认值 transform-origin: 50% 50% 0; */
            transform-origin: bottom;
            /* 围绕x坐标 */
            transform: rotateX(90deg);
        }
        
        #cube div:nth-child(2) {
            top: 202px;
            /* 下 */
            /* 围绕 上边对称 旋转-90° */
            transform-origin: top;
            transform: rotateX(-90deg);
        }
        
        #cube div:nth-child(3) {
            left: -202px;
            /* 左 */
            /* 围绕y坐标 */
            transform-origin: right;
            transform: rotateY(-90deg);
        }
        
        #cube div:nth-child(4) {
            left: 202px;
            /* 右 */
            transform-origin: left;
            transform: rotateY(90deg);
        }
        
        #cube div:nth-child(5) {
            top: 0px;
            /* 前 */
        }
        
        #cube div:nth-child(6) {
            top: 0px;
            /* 后 */
            /* 宽加边款的长度 */
            transform: translateZ(-202px);
        }
        
        #cube:hover {
            /* 实现鼠标停留在页面 以360°旋转 */
            transform: rotateY(360deg);
        }
    </style>
</head>

<body>
    <div id="cube">
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>

    </div>
</body>

</html>

效果css怎么实现3d心形,前端开发,前端,css3,css

最终效果 3D爱心

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>整合一个爱心</title>
    <style type="text/css">
        /* 清空值 */
        
        * {
            margin: 0;
            padding: 0;
        }
        /* 背景修改为黑色 */
        
        body {
            background: #000;
        }
        /*  引用div内的love3d元素*/
        /* 爱心3D调整 */
        
        .love3d {
            position: absolute;
            left: 50%;
            top: 50%;
            width: 150px;
            height: 150px;
            /* 浏览器定位居中 */
            /* margin: 100px auto; */
            /* 开启3D效果 */
            margin-left: -50px;
            margin-top: -80px;
            transform-style: preserve-3d;
            /* css自定义动画,参数:名称 时间 匀速 无限重复 */
            animation: yes 10s linear infinite;
        }
        /* 启动自定义动画 0-360°*/
        
        @keyframes yes {
            from {
                transform: rotateX(0deg) rotateY(0deg);
            }
            to {
                transform: rotateX(360deg) rotateY(180deg);
            }
        }
        /* 引用script内的heart */
        
        .heart {
            /* 相对于love3d 定位 */
            position: absolute;
            /* 定位坐标 36个半爱心的位置 0会重叠为一个半圆 */
            left: 0;
            top: 0;
            width: 100px;
            height: 170px;
            border: 2px solid red;
            border-radius: 50% 50% 0/40% 50% 0;
            border-left: 0;
            border-bottom: 0;
        }
        /* 图片3d调整 */
        
        .cube {
            position: relative;
            width: 50px;
            height: 50px;
            transform-style: preserve-3d;
            /* 调整图片的位置 */
            transform: translateX(32px) translateY(54px) translateZ(27px);
        }
        
        .cube div {
            position: absolute;
            left: 0;
            top: 0;
            width: 50px;
            height: 50px;
        }
        
        .cube div:nth-child(1) {
            /* 上 */
            top: -50px;
            /* 旋转基地 xyz方向 */
            /*默认值 transform-origin: 50% 50% 0; */
            transform-origin: bottom;
            /* 围绕x坐标 */
            transform: rotateX(90deg);
        }
        
        .cube div:nth-child(2) {
            top: 50px;
            /* 下 */
            /* 围绕 上边对称 旋转-90° */
            transform-origin: top;
            transform: rotateX(-90deg);
        }
        
        .cube div:nth-child(3) {
            left: -50px;
            /* 左 */
            /* 围绕y坐标 */
            transform-origin: right;
            transform: rotateY(-90deg);
        }
        
        .cube div:nth-child(4) {
            left: 50px;
            /* 右 */
            transform-origin: left;
            transform: rotateY(90deg);
        }
        
        .cube div:nth-child(5) {
            /* 前 */
        }
        
        .cube div:nth-child(6) {
            /* 后 */
            /* 宽加边款的长度 */
            transform: translateZ(-50px);
        }
        
        .cube div img {
            width: 50px;
            height: 50px;
        }
    </style>
</head>

<body>
    <!-- div类名love3d -->
    <div class="love3d">
        <!-- div 盒子 -->
        <div class="cube">
            <div><img src="./a.webp"></div>
            <div><img src="./a.webp"></div>
            <div><img src="./a.webp"></div>
            <div><img src="./a.webp"></div>
            <div><img src="./a.webp"></div>
            <div><img src="./a.webp"></div>

        </div>

    </div>
    <script type="text/javascript">
        //在document文档下通过ClassName获取Elements元素
        //类数组长度为1
        var love3d = document.getElementsByClassName("love3d")[0];
        for (var i = 0; i < 36; i++) {
            // 创建一个元素
            var tDiv = document.createElement("div");
            //对象类名
            tDiv.className = "heart";
            //将所有半圆整体Y旋转10°,Z旋转45°,x坐标设置35像素大小
            tDiv.style.transform = "rotateY(" + i * 10 + "deg) rotateZ(45deg) translateX(35px)";
            // love3d元素内添加tDiv
            love3d.appendChild(tDiv);
        }
    </script>
</body>

</html>

css怎么实现3d心形,前端开发,前端,css3,css文章来源地址https://www.toymoban.com/news/detail-819620.html

到了这里,关于前端练手3D爱心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 情人节程序员用HTML网页表白【520爱心背景3D相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript

    这是程序员表白系列中的100款网站表白之一,旨在让任何人都能使用并创建自己的表白网站给心爱的人看。 此波共有100个表白网站,可以任意修改和使用,很多人会希望向心爱的男孩女孩告白,生性腼腆的人即使那个TA站在眼前都不敢向前表白。说不出口的话就用短视频告诉

    2024年02月08日
    浏览(127)
  • 前端 CSS 3D 照片墙自动旋转案例(详细步骤)

    案例动画 Gif 动画地址,图片太大传不上来! 案例 DEMO 源码地址 ,仅供参考。

    2024年01月18日
    浏览(60)
  • Python pyglet 自制3D引擎入门(二) -- 绘制立体心形,动画和相机控制

    Python作为目前较广泛的编程语言, 用于制作3D游戏可谓得心应手。本文讲解使用Python pyglet库自制简易3D引擎的方法技巧。 上篇:Python pyglet 自制3D引擎入门(一) – 绘制几何体、创建3D场景 先放效果图: pyglet.window 部分用于实现窗口操作, pyglet.gl 以及 pyglet.gl.glu 模块包含了OpenGL的

    2024年02月10日
    浏览(41)
  • 【前端领域】3D旋转超美相册(HTML+CSS)

    世界上总有一半人不理解另一半人的快乐。 ——《爱玛》 目录 一、前言 二、本期作品介绍    3D旋转相册 三、效果展示 四、详细介绍  五、编码实现 index.html style.css  img  六、获取源码 公众号获取源码  获取源码?私信?关注?点赞?收藏?         新的一年,我们

    2024年02月02日
    浏览(50)
  • css 3D立体动画效果怎么转这个骰子才能看到5

    css 3D立体动画效果怎么转这个骰子才能看到5  

    2024年01月17日
    浏览(47)
  • 前端css/less绕椭圆轨道旋转动画 带遮挡效果 3D

    效果如图,多个物体在轨道上绕中心物体旋转,当旋转到物体后面时将被遮挡。主要使用css实现,为了简化代码,引入less进行处理。 本质上是使用动画控制轨道带动内部的物体进行旋转,计算出每个物体在椭圆轨道上的位置,使用绝对定位放置物体。由于轨道上物体有多个

    2024年02月03日
    浏览(93)
  • C++ 实现命令行画心形代码,有多个爱心代码,简单可调数据和字符,可装X,也可用于浪漫的表白,可实现跳动、保存等功能

    绘制一个简易爱心 绘制一个精致爱心 另一个好的版本 一个最花里胡哨的 绘制红心并保存到文件 绘制跳动的心脏:注此版本只能在Windows系统下编译运行。 升级版 其他做法html 也许我们还可以再做点什么,比如加点动画,看看下面这个吧。 点这里下载源码,里面已经加了很

    2024年02月08日
    浏览(53)
  • 〖大前端 - 基础入门三大核心之CSS篇㉑〗- 3D变形 与空间移动

    当前子专栏 基础入门三大核心篇 也是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益 。 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专栏\\\"加入社

    2024年02月03日
    浏览(48)
  • 七夕特辑——3D爱心(可监听鼠标移动)

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 「推荐专栏」 : ★ java一站式服务 ★ ★ React从入门到精通 ★ ★ 前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升 ★ ★ 从0到英雄,vue成神之路 ★ ★ 解决算法,一个专栏就够了 ★ ★

    2024年02月12日
    浏览(28)
  • css 实现3D效果

    主要用到两个属性:transform-style属性和animation属性 transform-style是用来开启3D效果的属性,而animation是用来让元素实现3D的动画效果 我们以制作一个3D的立方体为例。 transform详细属性,animation详细属性 先把html部分写出来,我们需要把立方体的6个面都先表示出来。 上面分别把

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包