你也会喜欢的CSS3文本动画

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

<style>

body {

padding: 40px 0;

font-family: ‘bebas‘, sans-serif;

}

body .textcontainer {

padding: 40px 0;

text-align: center;

}

body .particletext {

text-align: center;

font-size: 48px;

position: relative;

}

body .particletext.bubbles > .particle {

opacity: 0;

position: absolute;

background-color: rgba(33, 150, 243, 0.5);

-webkit-animation: bubbles 3s ease-in infinite;

animation: bubbles 3s ease-in infinite;

border-radius: 100%;

}

body .particletext.lines > .particle {

position: absolute;

background-color: rgba(244, 67, 54, 0.5);

-webkit-animation: lines 3s linear infinite;

animation: lines 3s linear infinite;

}

body .particletext.confetti > .particle {

opacity: 0;

position: absolute;

-webkit-animation: confetti 3s ease-in infinite;

animation: confetti 3s ease-in infinite;

}

body .particletext.confetti > .particle.c1 {

background-color: rgba(76, 175, 80, 0.5);

}

body .particletext.confetti > .particle.c2 {

background-color: rgba(156, 39, 176, 0.5);

}

body .particletext.fire > .particle {

position: absolute;

background-color: rgba(255, 193, 7, 0.5);

border-radius: 40px;

border-top-right-radius: 0px;

-webkit-animation: fires 0.8s linear infinite;

animation: fires 0.8s linear infinite;

-webkit-transform: rotate(-45deg);

transform: rotate(-45deg);

opacity: 0;

}

body .particletext.fire > .particle:before {

position: absolute;

content: ‘‘;

top: 60%;

left: 40%;

-webkit-transform: translate(-50%, -50%);

transform: translate(-50%, -50%);

width: 50%;

height: 50%;

border-radius: 40px;

border-top-right-radius: 0px;

background-color: rgba(251, 140, 0, 0.5);

}

body .particletext.sunbeams > .particle {

position: absolute;

background-color: rgba(253, 216, 53, 0.5);

-webkit-animation: sunbeams 3s linear infinite;

animation: sunbeams 3s linear infinite;

}

@-webkit-keyframes bubbles {

0% {

opacity: 0;

}

20% {

opacity: 1;

-webkit-transform: translate(0, -20%);

transform: translate(0, -20%);

}

100% {

opacity: 0;

-webkit-transform: translate(0, -1000%);

transform: translate(0, -1000%);

}

}

@keyframes bubbles {

0% {

opacity: 0;

}

20% {

opacity: 1;

-webkit-transform: translate(0, -20%);

transform: translate(0, -20%);

}

100% {

opacity: 0;

-webkit-transform: translate(0, -1000%);

transform: translate(0, -1000%);

}

}

@-webkit-keyframes lines {

0%, 50%, 100% {

-webkit-transform: translateY(0%);

transform: translateY(0%);

}

25% {

-webkit-transform: translateY(100%);

transform: translateY(100%);

}

75% {

-webkit-transform: translateY(-100%);

transform: translateY(-100%);

}

}

@keyframes lines {

0%, 50%, 100% {

-webkit-transform: translateY(0%);

transform: translateY(0%);

}

25% {

-webkit-transform: translateY(100%);

transform: translateY(100%);

}

75% {

-webkit-transform: translateY(-100%);

transform: translateY(-100%);

}

}

@-webkit-keyframes confetti {

0% {

opacity: 0;

-webkit-transform: translateY(0%) rotate(0deg);

transform: translateY(0%) rotate(0deg);

}

10% {

opacity: 1;

}

35% {

-webkit-transform: translateY(-800%) rotate(270deg);

transform: translateY(-800%) rotate(270deg);

}

80% {

opacity: 1;

}

100% {

opacity: 0;

-webkit-transform: translateY(2000%) rotate(1440deg);

transform: translateY(2000%) rotate(1440deg);

}

}

@keyframes confetti {

0% {

opacity: 0;

-webkit-transform: translateY(0%) rotate(0deg);

transform: translateY(0%) rotate(0deg);

}

10% {

opacity: 1;

}

35% {

-webkit-transform: translateY(-800%) rotate(270deg);

transform: translateY(-800%) rotate(270deg);

}

80% {

opacity: 1;

}

100% {

opacity: 0;

-webkit-transform: translateY(2000%) rotate(1440deg);

transform: translateY(2000%) rotate(1440deg);

}

}

@-webkit-keyframes fires {

0% {

-webkit-transform: rotate(-70deg) translateY(0%);

transform: rotate(-70deg) translateY(0%);

}

25% {

-webkit-transform: rotate(-20deg) translateY(-5%);

transform: rotate(-20deg) translateY(-5%);

opacity: 1;

}

50% {

-webkit-transform: rotate(-70deg) translateY(-10%);

transform: rotate(-70deg) translateY(-10%);

}

75% {

-webkit-transform: rotate(-20deg) translateY(-20%);

transform: rotate(-20deg) translateY(-20%);

}

100% {

-webkit-transform: rotate(-70deg) translateY(-40%);

transform: rotate(-70deg) translateY(-40%);

opacity: 1;

}

}

@keyframes fires {

0% {

-webkit-transform: rotate(-70deg) translateY(0%);

transform: rotate(-70deg) translateY(0%);

}

25% {

-webkit-transform: rotate(-20deg) translateY(-5%);

transform: rotate(-20deg) translateY(-5%);

opacity: 1;

}

50% {

-webkit-transform: rotate(-70deg) translateY(-10%);

transform: rotate(-70deg) translateY(-10%);

}

75% {

-webkit-transform: rotate(-20deg) translateY(-20%);

transform: rotate(-20deg) translateY(-20%);

}

100% {

-webkit-transform: rotate(-70deg) translateY(-40%);

transform: rotate(-70deg) translateY(-40%);

opacity: 1;

}

}

@-webkit-keyframes sunbeams {

0% {

-webkit-transform: translateY(40%) rotate(0deg);

transform: translateY(40%) rotate(0deg);

}

50% {

-webkit-transform: translateY(-40%) rotate(180deg);

transform: translateY(-40%) rotate(180deg);

}

100% {

-webkit-transform: translateY(40%) rotate(360deg);

transform: translateY(40%) rotate(360deg);

}

0%,

14%,

17%,

43%,

53%,

71%,

80%,

94%,

100% {

opacity: 0;

}

6%,

15%,

24%,

28%,

48%,

55%,

78%,

82%,

99% {

opacity: 1;

}

}

@keyframes sunbeams {

0% {

-webkit-transform: translateY(40%) rotate(0deg);

transform: translateY(40%) rotate(0deg);

}

50% {

-webkit-transform: translateY(-40%) rotate(180deg);

transform: translateY(-40%) rotate(180deg);

}

100% {

-webkit-transform: translateY(40%) rotate(360deg);

transform: translateY(40%) rotate(360deg);

}

0%,

14%,

17%,

43%,

53%,

71%,

80%,

94%,

100% {

opacity: 0;

}

6%,

15%,

24%,

28%,

48%,

55%,

78%,

82%,

99% {

opacity: 1;

}

}

</style>

</head>

<body>

<script src="http://wow.techbrood.com/libs/jquery/jquery-1.11.1.min.js"></script>

<div class="textcontainer">

<span class="particletext bubbles"><span class="text">Bubbles</span></span>

</div>

<div class="textcontainer">

<span class="particletext lines"><span class="text">Lines</span></span>

</div>

<div class="textcontainer">

<span class="particletext confetti"><span class="text">Confetti</span></span>

</div>

<div class="textcontainer">

<span class="particletext fire"><span class="text">Fire</span></span>

</div>

<div class="textcontainer">

<span class="particletext sunbeams"><span class="text">Beams?</span></span>

</div>

<script>

var particles = function() {

var bubbles = function() {

var density = 100;

var uppersize = 6;

var lowersize = 3;

};

};

function initparticles() {

bubbles();

lines();

confetti();

fire();

sunbeams();

}

function bubbles() {

$.each($(".particletext.bubbles"), function() {

var bubblecount = ($(this).find(".text").width() / 50) * 10;

for (var i = 0; i <= bubblecount; i++) {

var size = $.rnd(6, 12);

$(this).append(‘<span class="particle" style="top:‘ + $.rnd(20, 80) + ‘%; left:‘ + $.rnd(0, 95) + ‘%;width:‘ + size + ‘px; height:‘ + size + ‘px;animation-delay: ‘ + ($.rnd(0, 30) / 10) + ‘s;"></span>‘);

}

});

}

function lines() {

$.each($(".particletext.lines"), function() {

var linecount = ($(this).find(".text").width() / 50) * 10;

for (var i = 0; i <= linecount; i++) {

$(this).append(‘<span class="particle" style="top:‘ + $.rnd(-30, 50) + ‘%; left:‘ + $.rnd(-10, 110) + ‘%;width:‘ + $.rnd(1, 3) + ‘px; height:‘ + $.rnd(20, 80) + ‘%;animation-delay: -‘ + ($.rnd(0, 30) / 10) + ‘s;"></span>‘);

}

});

}

function confetti() {

$.each($(".particletext.confetti"), function() {

var confetticount = ($(this).find(".text").width() / 50) * 10;

for (var i = 0; i <= confetticount; i++) {

$(this).append(‘<span class="particle c‘ + $.rnd(1, 2) + ‘" style="top:‘ + $.rnd(10, 50) + ‘%; left:‘ + $.rnd(0, 100) + ‘%;width:‘ + $.rnd(6, 8) + ‘px; height:‘ + $.rnd(3, 4) + ‘px;animation-delay: ‘ + ($.rnd(0, 30) / 10) + ‘s;"></span>‘);

}

});

}

function fire() {

$.each($(".particletext.fire"), function() {

var firecount = ($(this).find(".text").width() / 50) * 20;

for (var i = 0; i <= firecount; i++) {

var size = $.rnd(8, 12);

$(this).append(‘<span class="particle" style="top:‘ + $.rnd(40, 70) + ‘%; left:‘ + $.rnd(-10, 100) + ‘%;width:‘ + size + ‘px; height:‘ + size + ‘px;animation-delay: ‘ + ($.rnd(0, 20) / 10) + ‘s;"></span>‘);

}

});

}

function sunbeams() {

$.each($(".particletext.sunbeams"), function() {

var linecount = ($(this).find(".text").width() / 50) * 10;

for (var i = 0; i <= linecount; i++) {

$(this).append(‘<span class="particle" style="top:‘ + $.rnd(-50, 00) + ‘%; left:‘ + $.rnd(0, 100) + ‘%;width:‘ + $.rnd(1, 3) + ‘px; height:‘ + $.rnd(80, 160) + ‘%;animation-delay: -‘ + ($.rnd(0, 30) / 10) + ‘s;"></span>‘);

}

});

}

jQuery.rnd = function(m, n) {

m = parseInt(m);

n = parseInt(n);

return Math.floor(Math.random() * (n - m + 1)) + m;

}

initparticles();

</script>

</body>

</html>

需要web前端课程工具和电子书,可以加群120342833

时间: 2024-10-04 05:23:21

你也会喜欢的CSS3文本动画的相关文章

实现各种 CSS3 文本动画效果

这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本动画插件,可以让你为网页中的文字运用各种动画. 源码下载     在线演示

CSS3与动画有关的属性transition、animation、transform对比

最近应公司需求,需要用css3做动画,终于把以前一直傻傻分不清楚的三个属性理解了. 索性在这里进行一个简单的对比,加深自己的记忆. 浏览器兼容性 CSS3 transform 属性 Internet Explorer 10.Firefox.Opera 支持 transform 属性. Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换). Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D

CSS3文本温故

1.CSS早期属性,分为三大类:字体.颜色和文本: 2.CSS文本类型有11个属性: 注:还有一个颜色属性:color,主要用来设置文本颜色 3.CSS3文本阴影属性:text-shadow语法:text-shadow:none | <length> none | [<shadow>,] * <shadow>或none | <color> [,<color]*也就是:text-shadow:[颜色color] x轴位移(x-offset) y轴位移(y

CSS3简单动画

css3的动画确实非常绚丽!浏览器兼容性很重要!. 分享两个小动画 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=&qu

HTML 学习笔记 CSS3 (文本效果)

text-shadow 语法 text-shadow : none | <length> none | [<shadow>, ] * <shadow> 或none | <color> [, <color> ]* 也就是: text-shadow:[颜色(Color) x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)],[颜色(color) x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)]... 或

Css3帧动画深入探寻,讲点项目中实际会碰到的问题

先加个副标题XD --如何解决background-size为100%下处理@keyframes 正是在项目中遇到副标题,才引起我更深入的探寻 先略带一下基本的css3动画 css3的动画实现是通过属性animation 与 @keyframes配合实现的 具体可以参见这篇文章,这位女程序媛有着非常详尽与精彩的阐述 https://24ways.org/2012/flashless-animation/ 最后实现了一张猫跑动在有视频滚动的画面上 为什么不用gif? gif动画就是典型的帧动画,g

测试css3的动画效果在display:none的时候不耗费性能

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Test TS Serializer</title> 6 <style> 7 .loadings { 8 width: 120px; 9 height: 120px; 10 /* background: #FFFFFF; */ 11 border-radius: 3

CSS3 文本效果

1 CSS3 文本阴影在 CSS3 中,text-shadow 可向文本应用阴影,能够规定水平阴影.垂直阴影.模糊距离,以及阴影的颜色.text-shadow: 5px 5px 5px red; 2 CSS3 自动换行在 CSS3 中,word-wrap 属性允许您允许文本强制文本 进行换行 ,对单词进行拆分:word-wrap:break-word; 3 text-align-last 设置如何对齐最后一行或紧挨着强制换行符之前的行. 4 text-emphasis 向元素的文本应用重点标记以

第 21 章 CSS3 文本效果

学习要点: 1.文本阴影 2.文本裁剪 3.文本描边 4.文本填充 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 中文本效果,其中也包含一些之前讲过的 CSS3 文本属性. 一.文本阴影 CSS3 提供了 text-shadow 文本阴影效果,这个属性在之前讲过,只是没有涉及浏览器支持情况. text-shadow Opera Firefox Chrome IE Safari 9.5+ 3.5+ 4+ 10+ 3.1+ 这里有几个注意点:1.text-shadow 在 CSS2 的时