CSS3D旋转木马效果+图片倒影特效

2023-10-10 22:30

本文主要是介绍CSS3D旋转木马效果+图片倒影特效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CSS3D效果图片倒影特效

预览

在这里插入图片描述

实现原理

主要应用到的属性是CSS3的3d视图(这个在前期的动画学习中有提到过,大家可以点开本专栏中的其他特效来看看!)和动画以及倒影特效属性:box-reflect
以下是倒影特效属性的属性值

  1. direction 定义方向,取值包括 above 、 below 、 left 、 right。
    above:
    指定倒影在对象的上边
    below:
    指定倒影在对象的下边
    left:
    指定倒影在对象的左边
    right:
    指定倒影在对象的右边

  2. offset定义反射偏移的距离,取值包括数值或百分比,其中百分比根据对象的尺寸进行确定。默认为0。
    用长度值来定义倒影与对象之间的间隔。可以为负值。用百分比来定义倒影与对象之间的间隔。可以为负值。

  3. mask-box-image定义遮罩图像,该图像将覆盖投影区域。如果省略该参数值,则默认为无遮罩图像。
    取值:
    none:无遮罩图像。
    linear-gradient:使用线性渐变创建遮罩图像。
    radial-gradient:使用径向(放射性)渐变创建遮罩图像。
    repeating-linear-gradient:使用重复的线性渐变创建背遮罩像。
    repeating-radial-gradient:使用重复的径向(放射性)渐变创建遮罩图像。

源码

<!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>3D照片墙</title><style>html,body {background: #000;}.container {position: relative;}.stage {position: relative;width: 800px;height: 240px;margin: 10% auto;perspective: 2000px;transform-style: preserve-3d;-webkit-box-reflect: below 10px linear-gradient(transparent, rgba(0, 0, 0, 0.5));}.stage .control {position: relative;width: 100%;height: 100%;transform-style: preserve-3d;transform: translateZ(-2000px) rotateY(50deg) rotateZ(0deg);animation: rotate 30s linear infinite;}.stage .control .imgWrap {position: absolute;width: 400px;height: 400px;top: 50%;left: 50%;transform: translate(-50%, -50%);transform-style: preserve-3d;}.stage .control .imgWrap .img {position: absolute;width: 500px;height: 400px;line-height: 400px;text-align: center;font-size: 120px;top: 0;left: 0;transform-style: preserve-3d;transform-origin: 50% 50% 0px;}.stage .control .imgWrap img {width: 100%;height: 100%;object-fit: cover;}.stage .control .imgWrap .img1 {transform: rotateY(80deg) translateZ(650px);}.stage .control .imgWrap .img2 {transform: rotateY(125deg) translateZ(650px);}.stage .control .imgWrap .img3 {transform: rotateY(170deg) translateZ(650px);}.stage .control .imgWrap .img4 {transform: rotateY(215deg) translateZ(650px);}.stage .control .imgWrap .img5 {transform: rotateY(260deg) translateZ(650px);}.stage .control .imgWrap .img6 {transform: rotateY(305deg) translateZ(650px);}.stage .control .imgWrap .img7 {transform: rotateY(350deg) translateZ(650px);}.stage .control .imgWrap .img8 {transform: rotateY(395deg) translateZ(650px);}@keyframes rotate {0% {transform: translateZ(-2000px) rotateY(0deg);}50% {transform: translateZ(-2000px) rotateY(-360deg);}100% {transform: translateZ(-2000px) rotateY(-720deg);}}</style>
</head><body><div class="container"><div class="stage"><div class="control"><div class="imgWrap"><div class="img img1"><img src="https://img0.baidu.com/it/u=2948507730,366864743&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333"></div><div class="img img2"><img src="https://img0.baidu.com/it/u=3497736752,3489380243&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333"></div><div class="img img3"><img src="https://img1.baidu.com/it/u=4176596244,2087050683&fm=253&fmt=auto&app=138&f=JPEG?w=600&h=400"></div><div class="img img4"><img src="https://img1.baidu.com/it/u=101343263,2767669969&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333"></div><div class="img img5"><img src="https://img2.baidu.com/it/u=4101108356,2385848699&fm=253&fmt=auto&app=138&f=JPEG?w=600&h=400"></div><div class="img img6"><img src="https://img2.baidu.com/it/u=3184536438,1657368344&fm=253&fmt=auto&app=138&f=JPEG?w=658&h=411"></div><div class="img img7"><img src="https://img0.baidu.com/it/u=3641792508,719781706&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281"></div><div class="img img8"><img src="https://img2.baidu.com/it/u=2645719931,682188402&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=333"></div></div></div></div></div>
</body></html>

倒影属性兼容性
在这里插入图片描述

这篇关于CSS3D旋转木马效果+图片倒影特效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/183533

相关文章

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函