5个让页面“活“起来的CSS特效

news2024/11/16 21:41:24

大家好,欢迎来到程序视点。

随着越来越多的浏览器对CSS3支持的不断完善,设计师和开发者们有了更多的选择去实现一些炫酷特效。这里整理了最近项目中使用到的5个比较实用的CSS3动画演示。让我们一起看看CSS3是如何让页面秀起来的。

3D倒影翻转

超炫酷3D倒影翻转动画特效不需要js提供任何Buff,直接依赖鼠标hover触发即可实现。


实现这个特效需要CSS几个重要属性进行配合。

一个是perspective属性定义3D元素距视图的距离,以像素计。该属性允许您改变3D元素查看3D元素的视图。通俗点说就是视距,让眼睛看着更有3D的效果。

第二就是transform-style属性,规定如何在3D空间中呈现被嵌套的元素,这里使用的值是“preserve-3d“。

第三是transform属性。因为transform-style属性必须与transform 属性一同使用。

<div class="scene">
  <div class="card">
    <div class="card__face card__face--front">
      <img src="img/1.jpeg" />
    </div>
    <div class="card__face card__face--back">
      <img src="img/2.jpeg" />
    </div>
  </div>
</div>
.scene {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  perspective: 800px;
}
.card {
  position: relative;
  width: 240px;
  height: 300px;
  color: white;
  cursor: pointer;
  transition: 1s ease-in-out;
  transform-style: preserve-3d;
}
.card:hover {
  transform: rotateY(0.5turn);
}

3D旋转

上一个3D倒影翻转特效在不交互的情况下,图片是静态的,需要翻转才能查看背面的数据。能不能让图片自己动起来呢?可以。下面这个3D旋转特效将让您的图片立体且动态。


我们看到这个类似3D环形图片墙中,图片不停的切换,鼠标滑过图片时即可激活图片查看。
它使用到的特殊属性和3D倒影翻转几乎一样。差异在于动画的循环,让图片不间断的展示。

<div class="container">
  <div id="carousel">
    <figure><img src="img/1.jpeg" alt=""></figure>
    <figure><img src="img/2.jpeg" alt=""></figure>
    <figure><img src="img/3.jpeg" alt=""></figure>
    ....
  </div>
</div>
.container {
    margin: 20% auto;
    width: 210px;
    height: 140px;
    position: relative;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    -o-perspective: 1000px;
    perspective: 1000px;
}
#carousel {
    width: 100%;
    height: 100%;
    position: absolute;
    transform-style: preserve-3d;
    animation: rotation 20s infinite linear;
}
#carousel:hover {
    animation-play-state: paused;
}
#carousel figure {
    display: block;
    position: absolute;
    width: 186px;
    height: 116px;
    left: 10px;
    top: 10px;
    overflow: hidden;
}
#carousel figure:nth-child(1) {
    transform: rotateY(0deg) translateZ(288px);
}
#carousel figure:nth-child(2) {
    transform: rotateY(40deg) translateZ(288px);
}
#carousel figure:nth-child(3) {
    transform: rotateY(80deg) translateZ(288px);
}
...

3D平面折叠

平面折叠特效同样采用鼠标hover触发,让您的图片显得更加深邃、更有诱惑。

折叠的效果,主要依靠CSS中transform属性,使得元素在X、Y、Z轴向进行倾斜转换。主要代码片段如下:

<div οnclick="">
  <figure>
    <figcaption>程序视点马尔代夫.手册</figcaption>
  </figure>
</div>
 figure:before {
  content: '';
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
	box-shadow: 0 0 100px 50px rgba(0, 0, 0, 0.1), inset 0 0 250px 250px rgba(0, 0, 0, 0.1);
	transition: 1s;
	transform: rotateX(95deg) translateZ(-80px) scale(0.75);
	transform-origin: inherit;
}
div:hover figure { 
  transform: rotateX(75deg) translateZ(5vw); 
}
div:hover figure:before {
	box-shadow: 0 0 25px 25px rgba(0, 0, 0, 0.5), inset 0 0 250px 250px rgba(0, 0, 0, 0.5);
	transform: rotateX(-5deg) translateZ(-80px) scale(1);
	}

浮光掠影

欣赏了3D特效后,我们来看下在平面下的图片如果更有吸引力呢?

在图片上增加一缕浮光,让图片呈现出焕然一新的感觉。这缕浮光是通过一个半透明的元素来实现的。

 <div class="flash">
    <div class="flash-bar"></div>
    <img src="./dm.jpg" />
</div>
  .flash {
      position: relative;
      width: 100vw;
      overflow: hidden;
  }
  .flash img {
      width: 100vw;
      height: 100vh;
  }
  .flash-bar {
      position: absolute;
      left: -400px;
      width: 20px;
      height: 100%;
      background: #fff;
      opacity: 0.5;
      transform: skewX(-30deg);
      transform-origin: 0 100%;
  }
  .flash:hover .flash-bar {
      left: 100vw;
      transition: left ease-in-out 1s;
  }

不一样的加载

有些时候,我们在等待页面加载的时候,总有些元素或数据需要“等一小会”才能反应过来。除了让页面loading转圈圈外,有没有让等待更有趣味一些的操作呢?有。下面这个就是适合。


这里充分使用CSS动画延迟的属性,让元素动画交错开来,形成一种独特的视觉效果。

<div class="loading">
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
  <div class="dot"></div>
</div>
.loading .dot:nth-child(1)::before {
  animation-delay: 0.2s;
}
.loading .dot:nth-child(2)::before {
  animation-delay: 0.4s;
}
.loading .dot:nth-child(3)::before {
  animation-delay: 0.6s;
}
.loading .dot:nth-child(4)::before {
  animation-delay: 0.8s;
}
.loading .dot:nth-child(5)::before {
  animation-delay: 1s;
}

这里为了能在HTML5中直接实现效果,使用的是纯CSS语法规则来实现的,稍显冗余了。这里附上Sass版本的样式,供大家取用。

.loading {
  $colors: #7ef9ff, #89cff0, #4682b4, #0f52ba, #000080;
  .dot {
    @for $i from 1 through 5 {
      &:nth-child(#{$i}) {
        background: nth($colors, $i);
        &::before {
          animation-delay: $i * 0.2s;
        }
      }
    }
  }
}

好了,今天关于css特效使用的分享就到这里了。以上的实例都是实践中使用过了,妥妥的踩坑完毕版。如果您也觉得有用,欢迎分享转发。

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

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

相关文章

某安全公司DDoS攻击防御2024年6月报告

引言&#xff1a; 在2024年6月&#xff0c;网络空间的安全挑战汹涌澎湃。分布式拒绝服务&#xff08;DDoS&#xff09;攻击频发&#xff0c;针对云服务、金融科技及在线教育平台的精密打击凸显出当前网络威胁环境的严峻性。 某安全公司作为网络安全防护的中坚力量&#xff0c…

chunkers/maxent_ne_chunker/english_ace_multiclass.pickle 找不到

首先在这个nltk_data &#xff1a; NLTK Data官方下的数据集&#xff0c;找不到english_ace_multiclass.pic 说明缺少这个文件 : 那么在 nlp/resources/chunkers/maxent_ne_chunker/english_ace_multiclass.pickle at master teropa/nlp (github.com) 下载那两个文件 : 然…

C++专业面试真题(1)学习

常用Linux命令 ls&#xff1a;列出当前目录内容 ls -l&#xff1a;详细信息列表 ls -a&#xff1a;包括隐藏文件 cd&#xff1a;更改目录 pwd&#xff1a;显示当前目录路径 mkdir&#xff1a;创建新目录 rmdir&#xff1a;删除空目录 rm&#xff1a;删除文件或目录 rm -…

拒绝胶感,清纯甜美邻家女孩!逼真!逼真!SD1.5 更适合初恋般的国产真人大模型—— CNrealisticMIXV40

老铁说看惯了AI艺术大片&#xff0c;想寻找适合生成邻家女孩青涩照片的模型。老徐今天应邀&#xff0c;针对邻家女孩青涩风格进行下尝试。老徐此前推荐过一款支持各种真实&#xff0c;摄影&#xff0c;写实风格模型的合体模型——赛博Dream | CNrealistic_MIX_V40无损修剪版。 …

Open3D 点云快速全局配准FGR算法(粗配准)

目录 一、概述 1.1原理和步骤 1.2关键技术和优势 1.3应用场景 二、代码实现 2.1 关键代码 2.1.1.函数&#xff1a;execute_fast_global_registration 2.1.2调用registration_fgr_based_on_feature_matching函数 2.2完整代码 三、实现效果 3.1原始点云 3.2粗配准后点…

03 _ 类型基础(2):动态类型与静态类型

静态类型语言与动态类型语言 通俗定义 静态类型语言&#xff1a;在编译 阶段确定所有变量的类型 动态类型语言&#xff1a;在执行阶段确定所有变量的类型 Javascript 与 C 对比 静态类型与动态类型对比 其他定义 强类型语言&#xff1a;不允许程序在发生错误后继续执行 语…

【小贪】项目实战——Zero-shot根据文字提示分割出图片目标掩码

目标描述 给定RGB视频或图片&#xff0c;目标是分割出图像中的指定目标掩码。我们需要复现两个Zero-shot的开源项目&#xff0c;分别为IDEA研究院的GroundingDINO和Facebook的SAM。首先使用目标检测方法GroundingDINO&#xff0c;输入想检测目标的文字提示&#xff0c;可以获得…

primetime中cell和net的OCV

文章目录 前言一、Cell OCV1. POCV coefficient file2. POCV Slew-Load Table in Liberty Variation Format&#xff08;LVF lib&#xff09; 二、Net OCV三、如何check OCV是否已加上&#xff1f;总结 前言 在生产中&#xff0c;外界环境的各种变化&#xff0c;比如PVT&#…

grpc学习golang版( 六、服务器流式传输 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件三、拷贝任意文件进项目四、编写serve…

vscode搭建suricata调试环境

一、环境 windows10 wsl2 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal二、编译 2.1 下载源码 wget https://www.openinfosecfoundation.org/download/suri…

为什么越来越多的人选择做债务重组?

说到债务重组&#xff0c;很多人可能一头雾水。但简单来说&#xff0c;就是帮你优化债务结构&#xff0c;减轻还款压力。 为什么现在这么多人会选择做债务重组&#xff1f; 保护工作和名声&#xff1a;有些在好单位上班的人&#xff0c;怕债务问题影响工作&#xff0c;不想让单…

解决Python用xpath爬取不到数据的一个思路

前言 最近在学习Python爬虫的知识&#xff0c;既然眼睛会了难免忍不住要实践一把。 不废话直接上主题 代码不复杂&#xff0c;简单的例子奉上&#xff1a; import requests from lxml import etreecookie 浏览器F12网络请求标头里有 user_agent 浏览器F12网络请求标头里有…

论文翻译 | (DSP)展示-搜索-预测:为知识密集型自然语言处理组合检索和语言模型

摘要 检索增强式上下文学习已经成为一种强大的方法&#xff0c;利用冻结语言模型 (LM) 和检索模型 (RM) 来解决知识密集型任务。现有工作将这些模型结合在简单的“检索-读取”流程中&#xff0c;其中 RM 检索到的段落被插入到 LM 提示中。 为了充分发挥冻结 LM 和 RM 的…

API-本地存储

学习目标&#xff1a; 掌握本地存储 学习内容&#xff1a; 本地存储介绍本地存储分类存储复杂数据类型 本地存储介绍&#xff1a; 以前我们页面写的数据一刷新页面就没有了&#xff0c;是不是? 随着互联网的快速发展&#xff0c;基于网页的应用越来越普遍&#xff0c;同时也…

反向沙箱技术:安全隔离上网

在信息化建设不断深化的今天&#xff0c;业务系统的安全性和稳定性成为各公司和相关部门关注的焦点。面对日益复杂的网络威胁&#xff0c;传统的安全防护手段已难以满足需求。深信达反向沙箱技术&#xff0c;以其独特的设计和强大的功能&#xff0c;成为保障政务系统信息安全的…

MSPG3507——蓝牙接收数据显示在OLED,滴答定时器延时500MS

#include "ti_msp_dl_config.h" #include "OLED.h" #include "stdio.h"volatile unsigned int delay_times 0;//搭配滴答定时器实现的精确ms延时 void delay_ms(unsigned int ms) {delay_times ms;while( delay_times ! 0 ); } int a0; …

MySQL-数据操作类型的角度理解 S锁 X锁

文章目录 1、S锁和S锁互相兼容2、S锁和X锁互斥3、X锁和X锁也互斥4、X锁和S锁也互斥5、select * from account for update;6、select * from account for update nowait;7、select * from account for update skip locked; 1、S锁和S锁互相兼容 2、S锁和X锁互斥 3、X锁和X锁也互…

换天空背景的软件有哪些?摄影师必备,让背景从灰暗到绚烂

在摄影的世界里&#xff0c;背景往往能够为照片增添一种难以言喻的情感色彩。 有时&#xff0c;一个简单的天空背景更换&#xff0c;就能让整张照片焕发出全新的生命力&#xff0c;表达出摄影师想要传达的情感和故事。 如今&#xff0c;随着科技的发展&#xff0c;一些换天空…

开源205W桌面充电器,140W+65W升降压PD3.1快充模块(2C+1A口),IP6557+IP6538

开源一个基于IP6557和IP6538芯片的205W升降压快充模块&#xff08;140W65W&#xff09;&#xff0c;其中一路C口支持PD3.1协议&#xff0c;最高输出28V5A&#xff0c;另一路是A口C口&#xff0c;最高输出65W&#xff08;20V3.25A&#xff09;&#xff0c;可搭配一个24V10A的开关…

LLM对程序员的冲击和影响

1LLM 在软件开发过程中的单点提效 我这里罗列一些更多的可能用途&#xff1a; 智能代码提示代码片段智能生成SQL 语句的智能生成与调优更高效更精准的静态代码检查与自动修复&#xff08;非 rule-based&#xff09;智能辅助的代码评审与代码重构单元测试和接口测试代码的自动…