❤️创意网页:如何创建一个漂亮的3D正六边形

news2024/11/24 20:42:34

博主:命运之光 

🌸专栏:Python星辰秘典

🐳专栏:web开发(简单好用又好看)

❤️专栏:Java经典程序设计

☀️博主的其他文章:点击进入博主的主页

前言:欢迎踏入我的Web项目专栏,一段神奇而令人陶醉的数字世界!

🌌在这里,我将带您穿越时空,揭开属于Web的奥秘。通过HTML、CSS和JavaScript的魔力,我创造了一系列令人惊叹的Web项目,它们仿佛是从梦境中涌现而出。

🌌在这个专栏中,您将遇到华丽的界面,如流星划过夜空般迷人;您将感受到动态的交互,如魔法般让您沉浸其中;您将探索响应式设计的玄妙,让您的屏幕变幻出不同的绚丽景象。

🌌无论您是一个探险家还是一位嗜血的代码巫师,这个专栏将成为您的魔法书。我将分享每个项目的秘密,解开编码的谜题,让您也能够拥有制作奇迹的力量。

🌌准备好了吗?拿起您的键盘,跟随我的指引,一起进入这个神秘而充满惊喜的数字王国。在这里,您将找到灵感的源泉,为自己创造出一段奇幻的Web之旅!

目录

介绍

动态图片 

静态图片

步骤

项目源代码

代码的使用方法(超简单什么都不用下载)

🍓1.打开记事本 

🍓2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可

🍓3.打开html文件(大功告成(●'◡'●))

结语 


介绍

在现代的Web开发中,使用CSS和HTML创建各种独特和引人注目的设计效果已经成为一种常见的实践。本文将介绍如何使用CSS和HTML代码创建一个漂亮的3D正六边形,同时展示不同的图像。我们将使用一些基本的CSS属性和变换来实现这个效果。


动态图片 


静态图片


步骤

  1. 创建HTML结构: 首先,我们需要创建一个基本的HTML结构来容纳我们的3D正六边形。我们使用<div>元素和一些嵌套的子元素来构建结构。

  2. 设置CSS样式: 我们需要为我们的3D正六边形设置一些基本的CSS样式。我们使用CSS的transform-style属性来启用3D变换,并将容器元素的perspective属性设置为1000像素,以创建透视效果。

  3. 创建正六边形的面: 为了创建正六边形的面,我们使用<div>元素,并通过设置其样式为position: absolute和设置宽度、高度为200像素来定义每个面的大小。我们还设置了一个背景颜色和边框,以增加样式。

  4. 定位和旋转面: 通过为每个面使用不同的transform属性值,我们可以将它们定位和旋转到正确的位置。我们使用translateZ()函数将面定位在3D空间中,并使用rotateY()函数将面绕Y轴旋转。

  5. 添加图像: 为了在每个面上显示图像,我们使用<img>元素,并将其放置在每个面的内部。我们还可以通过设置图像容器的样式来控制图像的大小和位置。

  6. 创建动画效果: 为了使3D正六边形旋转起来,我们使用CSS的@keyframesanimation属性来定义一个旋转动画。我们通过在动画的关键帧中更改旋转角度来实现旋转效果。


项目源代码

<!DOCTYPE html>
<html>
<head>
  <title>3D正六边形</title>
  <style>
    body {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      margin: 0;
    }

    .container {
      perspective: 1000px;
    }

    .hexagon {
      width: 200px;
      height: 200px;
      position: relative;
      transform-style: preserve-3d;
      transform: rotateX(45deg) rotateY(45deg);
      animation: rotate 5s infinite linear;
    }

    .hexagon-face {
      position: absolute;
      width: 200px;
      height: 200px;
      background-color: transparent;
      border: 1px solid #ccc;
      overflow: hidden;
    }

    .hexagon-face .image {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .hexagon-face:nth-child(1) {
      transform: translateZ(100px);
    }

    .hexagon-face:nth-child(2) {
      transform: rotateY(60deg) translateZ(100px);
    }

    .hexagon-face:nth-child(3) {
      transform: rotateY(120deg) translateZ(100px);
    }

    .hexagon-face:nth-child(4) {
      transform: rotateY(180deg) translateZ(100px);
    }

    .hexagon-face:nth-child(5) {
      transform: rotateY(240deg) translateZ(100px);
    }

    .hexagon-face:nth-child(6) {
      transform: rotateY(300deg) translateZ(100px);
    }

    @keyframes rotate {
      0% {
        transform: rotateX(45deg) rotateY(45deg);
      }
      100% {
        transform: rotateX(45deg) rotateY(405deg);
      }
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="hexagon">
      <div class="hexagon-face">
        <div class="image-container">
          <img class="image" src="front.jpg" alt="Front Image">
        </div>
      </div>
      <div class="hexagon-face">
        <div class="image-container">
          <img class="image" src="right.jpg" alt="Right Image">
        </div>
      </div>
      <div class="hexagon-face">
        <div class="image-container">
          <img class="image" src="back.jpg" alt="Back Image">
        </div>
      </div>
      <div class="hexagon-face">
        <div class="image-container">
          <img class="image" src="left.jpg" alt="Left Image">
        </div>
      </div>
      <div class="hexagon-face">
        <div class="image-container">
          <img class="image" src="top.jpg" alt="Top Image">
        </div>
      </div>
      <div class="hexagon-face">
        <div class="image-container">
          <img class="image" src="bottom.jpg" alt="Bottom Image">
        </div>
      </div>
    </div>
  </div>
</body>
</html>

代码的使用方法(超简单什么都不用下载)

🍓1.打开记事本 

🍓2.将上面的源代码复制粘贴到记事本里面将文件另存为HTML文件点击保存即可

🍓3.打开html文件(大功告成(●'◡'●))


结语 

通过简单的CSS和HTML代码,我们成功地创建了一个漂亮的3D正六边形,并展示了不同的图像。这个技术可以用于网页设计、图形展示等各种场景,为用户提供了视觉上的吸引力和交互性。希望本文能够帮助你理解如何实现这个效果,并激发你在Web开发中的创造力。尽情享受编码的乐趣吧!


本章的内容就到这里了,觉得对你有帮助的话就支持一下博主把~

🌌点击下方个人名片,交流会更方便哦~
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统如何查看物理cpu核数?

Step1&#xff1a;WinR 打开cmd; Step2&#xff1a;输入dxdiag后&#xff0c;回车&#xff1b; Step3&#xff1a;即可查看&#xff1a;

Word字间距怎么调整?2023最新方法总结!

“作为一个Word新手&#xff0c;里面的好多功能我都没有弄清楚。今天正好写了一篇文章&#xff0c;但不知道应该怎么调整字间距。有朋友知道Word字间距怎么调的吗&#xff1f;快教教我&#xff01;” Word作为一个便捷的办公软件&#xff0c;让我们的工作更方便。学习好Word的使…

CentOS 安装字体 微软雅黑

fc-list命令查看已经安装的字体 fc-list :langzh命令可以查看已安装的中文字体 找到windows系统里面的字体 上传到服务器 /usr/share/fonts/winFonts 下&#xff0c;winFonts目录是自己建立的&#xff0c;名称无要求 如果C:\Windows\Fonts下的字体没法直接传输将这个文件夹复…

vulnhub靶场noob:1

靶机下载地址&#xff1a;Noob: 1 ~ VulnHub Arp发现主机 arp-scan -l 扫描端口 nmap --min-rate 10000 -p- 192.168.21.132 扫描端口的服务版本号以及操作系统 nmap -sV -sT -sC -O -p21,80 192.168.21.132 可以看到ftp里面有文件&#xff0c;web是php 扫描基础漏洞 nma…

12 从0开始学PyTorch| PyTorch全连接网络:建立区分鸟和飞机的模型

上一小节我们终于开始搭建神经网络了&#xff0c;只不过它很简单&#xff0c;并且对我们更早的时候做的温度计转换模型做了一次迭代&#xff0c;甚至连效果都没有太大的变化&#xff0c;这一小节我们开始处理一些有意思的事情&#xff1a;做一个图像分类的模型。 小图像数据集…

Flink数据流

文章目录 一.基本概念二.Flink和Spark三. Flink配置文件四. yarn部署flink4.1 session-cluster模式4.2 pre-job-cluster模式 五.Flink运行时架构5.1 任务提交流程5.2 如何实现并行计算5.3 并行任务需要占用多少slot5.4 一个流处理包含多少任务 一.基本概念 官网介绍 Apache F…

css 禁止多次点击导致的选中了目标div的文字

像下面这样的情况&#xff0c;就可以用这种方法避免掉 禁止多次点击&#xff0c;导致的&#xff0c;选中了目标div的文字 或者 禁止多次点击&#xff0c;导致&#xff0c;html结构被选中显示出来 .targetDiv {-webkit-user-select: none;-moz-user-select: none;-ms-user-sel…

Vue3卡片(Card)

可自定义设置以下属性&#xff1a; 卡片宽度&#xff08;width&#xff09;&#xff0c;类型&#xff1a;number | string&#xff0c;默认 ‘auto’是否有边框&#xff08;bordered&#xff09;&#xff0c;类型&#xff1a;boolean&#xff0c;默认 true卡片右上角的操作区域…

所有语言数据类型大汇总(持续更新)

一 c语言 参考 C语言-整数&#xff1a;short、int、long、long long&#xff08;signed和unsigned&#xff09;、原码、反码、补码_c语言signed是什么类型_Talent Q的博客-CSDN博客https://blog.csdn.net/qq_43177371/article/details/105703234 二 system verilog

服务器数据恢复-网站服务器宕机无法重启的数据恢复案例

服务器数据恢复环境&#xff1a; 一台linux操作系统网站服务器&#xff0c;该服务器上部署了几十个网站&#xff0c;服务器上只有一块SATA硬盘。 服务器故障&分析&#xff1a; 服务器正常运行中突然宕机&#xff0c;管理员尝试多次重新启动服务器失败&#xff0c;将服务器…

软件测试之测试用例设计方法

目录 1.基于需求设计测试用例 2.具体的测试用例设计方法 1.等价类 2.边界值法 3.判定表 1.基于需求设计测试用例 需求文档->梳理分析需求&#xff08;掌握需求&#xff09;->针对文档设计测试用例 在分析测试需求时&#xff0c;一般分为功能测试需求和非功能测试…

职工管理系统

woker.h #pragma once #include<iostream> #include<string> using namespace std; class worker { public://显示岗位信息virtual void showInfo() 0;//获取岗位名称virtual string getDeptName() 0;int m_Id;//职工编号string m_Name;//职工姓名int m_DeptId;…

大学生用一周时间给麦当劳做了个App(uni-app版)

背景 有个大学生粉丝最近私信联系我&#xff0c;说基于我之前开源的多语言项目做了个仿麦当劳的项目&#xff0c;虽然只是个样子货&#xff0c;但是收获颇多&#xff0c;希望把自己写的代码开源出来供大家一起学习进度。这个小伙伴确实是非常积极上进&#xff0c;很多大学生&a…

ssh 连接出现错误: kex_exchange_identification: Connection closed by remote host

错误如下表示&#xff1a; windstormLocalHost-Server ~> ssh webase-front192.168.122.22 Couldnt get a file descriptor referring to the console. fish: Unknown command: nc fish: exec nc -X connect -x 127.0.0.1:15732 192.168.122.22 22 ^^ kex_exchange_id…

个人博客系统(二)

该博客系统共有八个页面,即注册页面、登录页面、添加文章页面、修改文章页面、我的博客列表页面、主页、查看文章详情页面、个人中心页面。 1 注册页面 该页面如图所示: 首先,要先判断注册的用户名、密码、确认密码以及验证码是否为空,若有一个为空,点击提交,则会提醒 …

代码随想录二刷day56 | 动态规划之 583. 两个字符串的删除操作 72. 编辑距离

day56 583. 两个字符串的删除操作1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 72. 编辑距离1. 确定dp数组&#xff08;dp table&#xff09;以及下标的含义2. 确定递推公式3. dp数组如何初始化…

信号采样基本概念 —— 4. 移动平均滤波(Moving Average Filtering)

对于信号的滤波算法中&#xff0c;除了FFT和小波&#xff08;wavelet&#xff09;以外&#xff0c;还有其他一些常见的滤波算法可以对信号denoising。接下来的几个章节里&#xff0c;将逐一介绍这些滤波算法。而今天首先要介绍的就是&#xff0c;移动平均滤波&#xff08;Movin…

android studio 离线打包配置push模块

1.依赖引入 SDK\libs aps-release.aar, aps-unipush-release.aar, gtc.aar, gtsdk-3.2.11.0.aar, 从android studio的sdk中找到对应的包放到HBuilder-Integrate-AS\simpleDemo\libs下面 2.打开build.gradle&#xff0c;在defaultConfig添加manifestPlaceholders节点&#xff0c…

浅谈vue3与vue2的区别

vue3已经出来有一段时间了&#xff0c;相信很多公司项目都已经在用vue3重构项目&#xff0c;或者在新项目中直接用vue3搭建&#xff0c;那么我们学习vue3的必要性就有了。 v2 与 v3 的区别 v3 采用的是 monorepo 方式进行管理&#xff0c;将模块拆分到 package 目录中v3 采用…

用 PerfView 洞察.NET程序非托管句柄泄露

一&#xff1a;背景 1. 讲故事 前几天写了一篇 如何洞察 .NET程序 非托管句柄泄露 的文章&#xff0c;文中使用 WinDbg 的 !htrace 命令实现了句柄泄露的洞察&#xff0c;在文末我也说了&#xff0c;WinDbg 是以侵入式的方式解决了这个问题&#xff0c;在生产环境中大多数情况…