随着各种节日的到来,也伴随着许许多多的表白时机,为何不制作几款表白特效让你的行动更加充实呢,此文主要基于HTML+CSS+JS制作网页特效,代码简洁,上手简单。
- 网页特效
- 爱心
- 画心
- 3D爱心
- 爱在心中
- 3D旋转相册
- 开发流程
- 工具安装
- 创建项目
- 语法简介
- HTML
- CSS
网页特效
爱心
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>canvas 心</title>
<style>
html, body {
height: 100%;
padding: 0;
margin: 0;
background: #000;
}
canvas {
position: absolute;
width: 100%;
height: 100%;
}</style>
</head>
<body>
<canvas id="pinkboard"></canvas>
</body>
</html>
画心
<!doctype html>
<html>
<head>
<title>Heart</title>
<meta charset="UTF-8">
</head>
<body>
<canvas id="c"></canvas>
<script>
var b = document.body;
var c = document.getElementsByTagName('canvas')[0];
var a = c.getContext('2d');
</script>
<script>
eval('var M=Math,n=M.pow,i,E=2,F="rgba(233,61,109,",d=M.cos,z=M.sin,L=1,u=30,W=window,w=c.width=W.innerWidth,h=c.height=W.innerHeight,r=_1){return M.random()*2-1},y="px Arial",v="爱你",q="♥",X=w/2,Y=h/2,T=4,p=_1){var e=this;e.g=_1){e.x=X;e.y=Y;e.k=0;e.l=0;e.t=M.random()*19000;e.c=e.t};e.d=_1){a.fillStyle=F+(e.c/e.t)+")";a.fillText(q,e.x,e.y);e.c-=50;e.x+=e.k;e.y+=e.l;e.k=e.k+r();e.l=e.l+r();if(e.c<0||e.x>w||e.x<0||e.y>h||e.y<0){e.g()}};e.g()},A,B;a.textAlign="center";a.strokeStyle="#000";a.lineWidth=2;for(i=0;i<350;i++){M[i]=new p()}setInterval(_1){a.clearRect(0,0,w,h);a.font=u+y;X=(w/6*n(z(T),3)+w/2);Y=0.8*(-h/40*(13*d(T)-5*d(2*T)-2*d(3*T)-d(4*T))+h/2.3);T+=(z(T)+3)/99;for(i=0;i<350;i++){with(M[i]){A=(x/w-0.5)*2,B=-(y/h-0.5);if(L&&(A*A+2*n((B-0.5*n(M.abs(A),0.5)),2))>0.11){k=l=0}d()}}a.font=120+y;if(E>0.1){if(E<1){a.fillStyle=F+E+")";a.fillText("Click",w/2,h/2)}E-=0.02}a.fillStyle="#E93D6D";a.fillText(v,X,Y+u);a.strokeText(v,X,Y+u)},50);b.bgColor="#FFEFF2";c.onmouseup=_1){L=(L)?0:1}'.replace(/(_1)/g,'function('))
</script>
</body>
</html>
3D爱心
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>爱心</title>
<style type="text/css">
*{
margin: 0px;
border: 0px;
}
body{
overflow: hidden;
background-color: #000000;
}
.container{
position: relative;
left: 0;
top: 0;
bottom: 0;
right: 0;
margin: auto;
height: 260px;
width: 200px;
transform-origin: 50% 130%;
transform-style: preserve-3d;
animation: 8s rotate linear infinite;
}
@keyframes rotate{
from{
transform:rotateX(0deg) rotateY(0deg);
}
to{
transform: rotateX(360deg) rotateY(360deg);
}
}
.square{
position: relative;
width: 100px;
height: 100px;
transform:translateX(50px) translateY(300px) translateZ(50px);
transform-style: preserve-3d;
}
.square div{
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
.square div:nth-child(1){
top: 100px;
transform-origin: top;
transform:rotateX(-90deg);
}
.square div:nth-child(2){
left: 100px;
transform-origin: left;
transform:rotateY(90deg);
}
.square div:nth-child(3){
left: -100px;
transform-origin: right;
transform:rotateY(-90deg);
}
.square div:nth-child(4){
top: -100px;
transform-origin: bottom;
transform:rotateX(90deg);
}
.square div:nth-child(6){
top:0;
transform:translateZ(-100px);
}
.square div:nth-child(5){
}
.heart{
position: absolute;
top:0;
left:0;
height: 260px;
width: 200px;
border: 2px solid red;
margin: 200px auto;
border-radius: 50% 50% 0%/50% 50% 0%;
border-bottom: 0;
border-left: 0;
}
img{
width: 100px;
height:100px;
}
</style>
</head>
<body>
<div class="container">
<div class="square">
<div><img src="cat.jpg"></div>
<div><img src="cat.jpg"></div>
<div><img src="cat.jpg"></div>
<div><img src="cat.jpg"></div>
<div><img src="cat.jpg"></div>
<div><img src="cat.jpg"></div>
</div>
</div>
<script type="text/javascript">
var container = document.getElementsByClassName("container")[0];
for (var i = 0;i < 36;i++) {
var heart = document.createElement("div");
heart.className = "heart";
heart.style.transform = "rotateY("+i*10+"deg) rotateZ(45deg) translateX(30px)";
container.appendChild(heart);
}
</script>
</body>
</html>
爱在心中
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>爱在心中</title>
<style>
body {
background: #000;
height: 100vh;
overflow: hidden;
}
#ui .love {
position: absolute;
top: 50%;
left: 50%;
margin: -225px 0 0 -225px;
}
#ui .love:last-child .love_word {
color: red;
font-size: 3.5rem;
text-shadow: 0 0 10px red;
}
#ui .love_word {
color: #fff;
font-size: 1.4rem;
transform: translateY(-100%) rotateZ(-30deg);
font-family: 'Dosis', sans-serif;
text-shadow: 0 0 10px #ffc800;
letter-spacing: 2px;
}
#ui .love_horizontal {
animation: horizontal 10000ms infinite alternate ease-in-out;
}
#ui .love_vertical {
animation: vertical 20000ms infinite linear;
}
#ui .love:nth-child(1) .love_horizontal {
animation-delay: -300ms;
}
#ui .love:nth-child(1) .love_vertical {
animation-delay: -300ms;
}
#ui .love:nth-child(2) .love_horizontal {
animation-delay: -600ms;
}
#ui .love:nth-child(2) .love_vertical {
animation-delay: -600ms;
}
#ui .love:nth-child(3) .love_horizontal {
animation-delay: -900ms;
}
#ui .love:nth-child(3) .love_vertical {
animation-delay: -900ms;
}
#ui .love:nth-child(4) .love_horizontal {
animation-delay: -1200ms;
}
#ui .love:nth-child(4) .love_vertical {
animation-delay: -1200ms;
}
#ui .love:nth-child(5) .love_horizontal {
animation-delay: -1500ms;
}
#ui .love:nth-child(5) .love_vertical {
animation-delay: -1500ms;
}
#ui .love:nth-child(6) .love_horizontal {
animation-delay: -1800ms;
}
#ui .love:nth-child(6) .love_vertical {
animation-delay: -1800ms;
}
#ui .love:nth-child(7) .love_horizontal {
animation-delay: -2100ms;
}
#ui .love:nth-child(7) .love_vertical {
animation-delay: -2100ms;
}
#ui .love:nth-child(8) .love_horizontal {
animation-delay: -2400ms;
}
#ui .love:nth-child(8) .love_vertical {
animation-delay: -2400ms;
}
#ui .love:nth-child(9) .love_horizontal {
animation-delay: -2700ms;
}
#ui .love:nth-child(9) .love_vertical {
animation-delay: -2700ms;
}
#ui .love:nth-child(10) .love_horizontal {
animation-delay: -3000ms;
}
#ui .love:nth-child(10) .love_vertical {
animation-delay: -3000ms;
}
#ui .love:nth-child(11) .love_horizontal {
animation-delay: -3300ms;
}
#ui .love:nth-child(11) .love_vertical {
animation-delay: -3300ms;
}
#ui .love:nth-child(12) .love_horizontal {
animation-delay: -3600ms;
}
#ui .love:nth-child(12) .love_vertical {
animation-delay: -3600ms;
}
#ui .love:nth-child(13) .love_horizontal {
animation-delay: -3900ms;
}
#ui .love:nth-child(13) .love_vertical {
animation-delay: -3900ms;
}
#ui .love:nth-child(14) .love_horizontal {
animation-delay: -4200ms;
}
#ui .love:nth-child(14) .love_vertical {
animation-delay: -4200ms;
}
#ui .love:nth-child(15) .love_horizontal {
animation-delay: -4500ms;
}
#ui .love:nth-child(15) .love_vertical {
animation-delay: -4500ms;
}
#ui .love:nth-child(16) .love_horizontal {
animation-delay: -4800ms;
}
#ui .love:nth-child(16) .love_vertical {
animation-delay: -4800ms;
}
#ui .love:nth-child(17) .love_horizontal {
animation-delay: -5100ms;
}
#ui .love:nth-child(17) .love_vertical {
animation-delay: -5100ms;
}
#ui .love:nth-child(18) .love_horizontal {
animation-delay: -5400ms;
}
#ui .love:nth-child(18) .love_vertical {
animation-delay: -5400ms;
}
#ui .love:nth-child(19) .love_horizontal {
animation-delay: -5700ms;
}
#ui .love:nth-child(19) .love_vertical {
animation-delay: -5700ms;
}
#ui .love:nth-child(20) .love_horizontal {
animation-delay: -6000ms;
}
#ui .love:nth-child(20) .love_vertical {
animation-delay: -6000ms;
}
#ui .love:nth-child(21) .love_horizontal {
animation-delay: -6300ms;
}
#ui .love:nth-child(21) .love_vertical {
animation-delay: -6300ms;
}
#ui .love:nth-child(22) .love_horizontal {
animation-delay: -6600ms;
}
#ui .love:nth-child(22) .love_vertical {
animation-delay: -6600ms;
}
#ui .love:nth-child(23) .love_horizontal {
animation-delay: -6900ms;
}
#ui .love:nth-child(23) .love_vertical {
animation-delay: -6900ms;
}
#ui .love:nth-child(24) .love_horizontal {
animation-delay: -7200ms;
}
#ui .love:nth-child(24) .love_vertical {
animation-delay: -7200ms;
}
#ui .love:nth-child(25) .love_horizontal {
animation-delay: -7500ms;
}
#ui .love:nth-child(25) .love_vertical {
animation-delay: -7500ms;
}
#ui .love:nth-child(26) .love_horizontal {
animation-delay: -7800ms;
}
#ui .love:nth-child(26) .love_vertical {
animation-delay: -7800ms;
}
#ui .love:nth-child(27) .love_horizontal {
animation-delay: -8100ms;
}
#ui .love:nth-child(27) .love_vertical {
animation-delay: -8100ms;
}
#ui .love:nth-child(28) .love_horizontal {
animation-delay: -8400ms;
}
#ui .love:nth-child(28) .love_vertical {
animation-delay: -8400ms;
}
#ui .love:nth-child(29) .love_horizontal {
animation-delay: -8700ms;
}
#ui .love:nth-child(29) .love_vertical {
animation-delay: -8700ms;
}
#ui .love:nth-child(30) .love_horizontal {
animation-delay: -9000ms;
}
#ui .love:nth-child(30) .love_vertical {
animation-delay: -9000ms;
}
#ui .love:nth-child(31) .love_horizontal {
animation-delay: -9300ms;
}
#ui .love:nth-child(31) .love_vertical {
animation-delay: -9300ms;
}
#ui .love:nth-child(32) .love_horizontal {
animation-delay: -9600ms;
}
#ui .love:nth-child(32) .love_vertical {
animation-delay: -9600ms;
}
#ui .love:nth-child(33) .love_horizontal {
animation-delay: -9900ms;
}
#ui .love:nth-child(33) .love_vertical {
animation-delay: -9900ms;
}
#ui .love:nth-child(34) .love_horizontal {
animation-delay: -10200ms;
}
#ui .love:nth-child(34) .love_vertical {
animation-delay: -10200ms;
}
#ui .love:nth-child(35) .love_horizontal {
animation-delay: -10500ms;
}
#ui .love:nth-child(35) .love_vertical {
animation-delay: -10500ms;
}
#ui .love:nth-child(36) .love_horizontal {
animation-delay: -10800ms;
}
#ui .love:nth-child(36) .love_vertical {
animation-delay: -10800ms;
}
#ui .love:nth-child(37) .love_horizontal {
animation-delay: -11100ms;
}
#ui .love:nth-child(37) .love_vertical {
animation-delay: -11100ms;
}
#ui .love:nth-child(38) .love_horizontal {
animation-delay: -11400ms;
}
#ui .love:nth-child(38) .love_vertical {
animation-delay: -11400ms;
}
#ui .love:nth-child(39) .love_horizontal {
animation-delay: -11700ms;
}
#ui .love:nth-child(39) .love_vertical {
animation-delay: -11700ms;
}
#ui .love:nth-child(40) .love_horizontal {
animation-delay: -12000ms;
}
#ui .love:nth-child(40) .love_vertical {
animation-delay: -12000ms;
}
#ui .love:nth-child(41) .love_horizontal {
animation-delay: -12300ms;
}
#ui .love:nth-child(41) .love_vertical {
animation-delay: -12300ms;
}
#ui .love:nth-child(42) .love_horizontal {
animation-delay: -12600ms;
}
#ui .love:nth-child(42) .love_vertical {
animation-delay: -12600ms;
}
#ui .love:nth-child(43) .love_horizontal {
animation-delay: -12900ms;
}
#ui .love:nth-child(43) .love_vertical {
animation-delay: -12900ms;
}
#ui .love:nth-child(44) .love_horizontal {
animation-delay: -13200ms;
}
#ui .love:nth-child(44) .love_vertical {
animation-delay: -13200ms;
}
#ui .love:nth-child(45) .love_horizontal {
animation-delay: -13500ms;
}
#ui .love:nth-child(45) .love_vertical {
animation-delay: -13500ms;
}
#ui .love:nth-child(46) .love_horizontal {
animation-delay: -13800ms;
}
#ui .love:nth-child(46) .love_vertical {
animation-delay: -13800ms;
}
#ui .love:nth-child(47) .love_horizontal {
animation-delay: -14100ms;
}
#ui .love:nth-child(47) .love_vertical {
animation-delay: -14100ms;
}
#ui .love:nth-child(48) .love_horizontal {
animation-delay: -14400ms;
}
#ui .love:nth-child(48) .love_vertical {
animation-delay: -14400ms;
}
#ui .love:nth-child(49) .love_horizontal {
animation-delay: -14700ms;
}
#ui .love:nth-child(49) .love_vertical {
animation-delay: -14700ms;
}
#ui .love:nth-child(50) .love_horizontal {
animation-delay: -15000ms;
}
#ui .love:nth-child(50) .love_vertical {
animation-delay: -15000ms;
}
#ui .love:nth-child(51) .love_horizontal {
animation-delay: -15300ms;
}
#ui .love:nth-child(51) .love_vertical {
animation-delay: -15300ms;
}
#ui .love:nth-child(52) .love_horizontal {
animation-delay: -15600ms;
}
#ui .love:nth-child(52) .love_vertical {
animation-delay: -15600ms;
}
#ui .love:nth-child(53) .love_horizontal {
animation-delay: -15900ms;
}
#ui .love:nth-child(53) .love_vertical {
animation-delay: -15900ms;
}
#ui .love:nth-child(54) .love_horizontal {
animation-delay: -16200ms;
}
#ui .love:nth-child(54) .love_vertical {
animation-delay: -16200ms;
}
#ui .love:nth-child(55) .love_horizontal {
animation-delay: -16500ms;
}
#ui .love:nth-child(55) .love_vertical {
animation-delay: -16500ms;
}
#ui .love:nth-child(56) .love_horizontal {
animation-delay: -16800ms;
}
#ui .love:nth-child(56) .love_vertical {
animation-delay: -16800ms;
}
#ui .love:nth-child(57) .love_horizontal {
animation-delay: -17100ms;
}
#ui .love:nth-child(57) .love_vertical {
animation-delay: -17100ms;
}
#ui .love:nth-child(58) .love_horizontal {
animation-delay: -17400ms;
}
#ui .love:nth-child(58) .love_vertical {
animation-delay: -17400ms;
}
#ui .love:nth-child(59) .love_horizontal {
animation-delay: -17700ms;
}
#ui .love:nth-child(59) .love_vertical {
animation-delay: -17700ms;
}
#ui .love:nth-child(60) .love_horizontal {
animation-delay: -18000ms;
}
#ui .love:nth-child(60) .love_vertical {
animation-delay: -18000ms;
}
#ui .love:nth-child(61) .love_horizontal {
animation-delay: -18300ms;
}
#ui .love:nth-child(61) .love_vertical {
animation-delay: -18300ms;
}
#ui .love:nth-child(62) .love_horizontal {
animation-delay: -18600ms;
}
#ui .love:nth-child(62) .love_vertical {
animation-delay: -18600ms;
}
#ui .love:nth-child(63) .love_horizontal {
animation-delay: -18900ms;
}
#ui .love:nth-child(63) .love_vertical {
animation-delay: -18900ms;
}
#ui .love:nth-child(64) .love_horizontal {
animation-delay: -19200ms;
}
#ui .love:nth-child(64) .love_vertical {
animation-delay: -19200ms;
}
#ui .love:nth-child(65) .love_horizontal {
animation-delay: -19500ms;
}
#ui .love:nth-child(65) .love_vertical {
animation-delay: -19500ms;
}
#ui .love:nth-child(66) .love_horizontal {
animation-delay: -19800ms;
}
#ui .love:nth-child(66) .love_vertical {
animation-delay: -19800ms;
}
#ui .love:nth-child(67) .love_horizontal {
animation-delay: -20100ms;
}
#ui .love:nth-child(67) .love_vertical {
animation-delay: -20100ms;
}
#ui .love:nth-child(68) .love_horizontal {
animation-delay: -20400ms;
}
#ui .love:nth-child(68) .love_vertical {
animation-delay: -20400ms;
}
#ui .love:nth-child(69) .love_horizontal {
animation-delay: -20700ms;
}
#ui .love:nth-child(69) .love_vertical {
animation-delay: -20700ms;
}
#ui .love:nth-child(70) .love_horizontal {
animation-delay: -21000ms;
}
#ui .love:nth-child(70) .love_vertical {
animation-delay: -21000ms;
}
#ui .love:nth-child(71) .love_horizontal {
animation-delay: -21300ms;
}
#ui .love:nth-child(71) .love_vertical {
animation-delay: -21300ms;
}
#ui .love:nth-child(72) .love_horizontal {
animation-delay: -21600ms;
}
#ui .love:nth-child(72) .love_vertical {
animation-delay: -21600ms;
}
#ui .love:nth-child(73) .love_horizontal {
animation-delay: -21900ms;
}
#ui .love:nth-child(73) .love_vertical {
animation-delay: -21900ms;
}
#ui .love:nth-child(74) .love_horizontal {
animation-delay: -22200ms;
}
#ui .love:nth-child(74) .love_vertical {
animation-delay: -22200ms;
}
#ui .love:nth-child(75) .love_horizontal {
animation-delay: -22500ms;
}
#ui .love:nth-child(75) .love_vertical {
animation-delay: -22500ms;
}
#ui .love:nth-child(76) .love_horizontal {
animation-delay: -22800ms;
}
#ui .love:nth-child(76) .love_vertical {
animation-delay: -22800ms;
}
#ui .love:nth-child(77) .love_horizontal {
animation-delay: -23100ms;
}
#ui .love:nth-child(77) .love_vertical {
animation-delay: -23100ms;
}
#ui .love:nth-child(78) .love_horizontal {
animation-delay: -23400ms;
}
#ui .love:nth-child(78) .love_vertical {
animation-delay: -23400ms;
}
#ui .love:nth-child(79) .love_horizontal {
animation-delay: -23700ms;
}
#ui .love:nth-child(79) .love_vertical {
animation-delay: -23700ms;
}
#ui .love:nth-child(80) .love_horizontal {
animation-delay: -24000ms;
}
#ui .love:nth-child(80) .love_vertical {
animation-delay: -24000ms;
}
#ui .love:nth-child(81) .love_horizontal {
animation-delay: -24300ms;
}
#ui .love:nth-child(81) .love_vertical {
animation-delay: -24300ms;
}
#ui .love:nth-child(82) .love_horizontal {
animation-delay: -24600ms;
}
#ui .love:nth-child(82) .love_vertical {
animation-delay: -24600ms;
}
#ui .love:nth-child(83) .love_horizontal {
animation-delay: -24900ms;
}
#ui .love:nth-child(83) .love_vertical {
animation-delay: -24900ms;
}
#ui .love:nth-child(84) .love_horizontal {
animation-delay: -25200ms;
}
#ui .love:nth-child(84) .love_vertical {
animation-delay: -25200ms;
}
#ui .love:nth-child(85) .love_horizontal {
animation-delay: -25500ms;
}
#ui .love:nth-child(85) .love_vertical {
animation-delay: -25500ms;
}
#ui .love:nth-child(86) .love_horizontal {
animation-delay: -25800ms;
}
#ui .love:nth-child(86) .love_vertical {
animation-delay: -25800ms;
}
#ui .love:nth-child(87) .love_horizontal {
animation-delay: -26100ms;
}
#ui .love:nth-child(87) .love_vertical {
animation-delay: -26100ms;
}
#ui .love:nth-child(88) .love_horizontal {
animation-delay: -26400ms;
}
#ui .love:nth-child(88) .love_vertical {
animation-delay: -26400ms;
}
#ui .love:nth-child(89) .love_horizontal {
animation-delay: -26700ms;
}
#ui .love:nth-child(89) .love_vertical {
animation-delay: -26700ms;
}
#ui .love:nth-child(90) .love_horizontal {
animation-delay: -27000ms;
}
#ui .love:nth-child(90) .love_vertical {
animation-delay: -27000ms;
}
#ui .love:nth-child(91) .love_horizontal {
animation-delay: -27300ms;
}
#ui .love:nth-child(91) .love_vertical {
animation-delay: -27300ms;
}
#ui .love:nth-child(92) .love_horizontal {
animation-delay: -27600ms;
}
#ui .love:nth-child(92) .love_vertical {
animation-delay: -27600ms;
}
#ui .love:nth-child(93) .love_horizontal {
animation-delay: -27900ms;
}
#ui .love:nth-child(93) .love_vertical {
animation-delay: -27900ms;
}
#ui .love:nth-child(94) .love_horizontal {
animation-delay: -28200ms;
}
#ui .love:nth-child(94) .love_vertical {
animation-delay: -28200ms;
}
#ui .love:nth-child(95) .love_horizontal {
animation-delay: -28500ms;
}
#ui .love:nth-child(95) .love_vertical {
animation-delay: -28500ms;
}
#ui .love:nth-child(96) .love_horizontal {
animation-delay: -28800ms;
}
#ui .love:nth-child(96) .love_vertical {
animation-delay: -28800ms;
}
#ui .love:nth-child(97) .love_horizontal {
animation-delay: -29100ms;
}
#ui .love:nth-child(97) .love_vertical {
animation-delay: -29100ms;
}
#ui .love:nth-child(98) .love_horizontal {
animation-delay: -29400ms;
}
#ui .love:nth-child(98) .love_vertical {
animation-delay: -29400ms;
}
#ui .love:nth-child(99) .love_horizontal {
animation-delay: -29700ms;
}
#ui .love:nth-child(99) .love_vertical {
animation-delay: -29700ms;
}
#ui .love:nth-child(100) .love_horizontal {
animation-delay: -30000ms;
}
#ui .love:nth-child(100) .love_vertical {
animation-delay: -30000ms;
}
@keyframes horizontal {
from {
transform: translateX(0px);
}
to {
transform: translateX(450px);
}
}
@keyframes vertical {
0% {
transform: translateY(180px);
}
10% {
transform: translateY(45px);
}
15% {
transform: translateY(4.5px);
}
18% {
transform: translateY(0px);
}
20% {
transform: translateY(4.5px);
}
22% {
transform: translateY(34.61538px);
}
24% {
transform: translateY(64.28571px);
}
25% {
transform: translateY(112.5px);
}
26% {
transform: translateY(64.28571px);
}
28% {
transform: translateY(34.61538px);
}
30% {
transform: translateY(4.5px);
}
32% {
transform: translateY(0px);
}
35% {
transform: translateY(4.5px);
}
40% {
transform: translateY(45px);
}
50% {
transform: translateY(180px);
}
71% {
transform: translateY(428.57143px);
}
72.5% {
transform: translateY(441.17647px);
}
75% {
transform: translateY(450px);
}
77.5% {
transform: translateY(441.17647px);
}
79% {
transform: translateY(428.57143px);
}
100% {
transform: translateY(180px);
}
}
</style>
</head>
<body>
<div id="ui">
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">爱</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">biu~biu~</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">爱</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">love</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">啵啵啵</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">爱</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">love</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">小姐姐</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">我喜欢你</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">和我</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">在一起</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">好吗</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">爱</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">爱你哟</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">么么哒</div>
</div>
</div>
</div>
<div class="love">
<div class="love_horizontal">
<div class="love_vertical">
<div class="love_word">Love</div>
</div>
</div>
</div>
</div>
</body>
</html>
3D旋转相册
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>致青春</title>
<style>
*{margin: 0;padding: 0;}
html,body{height: 100%;}
body{
overflow: hidden;
display: flex;
background: #000;
perspective: 1000px;
transform-style: preserve-3d;
}
#box{
position: relative;
display: flex;
width: 130px;
height: 200px;
margin: auto;
transform-style: preserve-3d;
transform: rotateX(-10deg);
}
#box > div{
transform-style: preserve-3d;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
line-height: 200px;
font-size: 50px;
text-align: center;
box-shadow:0 0 10px #fff;
-webkit-box-reflect:below 10px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,.8) 100%);
}
/* #box > div:nth-child(1){
background: skyblue;
transform: translate3d(0,0,300px) rotateY(45deg);
}
#box > div:nth-child(2){
background: pink;
transform: rotateY(0deg);
}
#box > div:nth-child(3){
background: purple;
transform: translate3d(0,0,300px) rotateY(-45deg);
}
*/
#box p{
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
margin: auto;
width: 1200px;
height: 1200px;
background: -webkit-radial-gradient(center center,600px 600px,rgba(50,50,50,1),rgba(0,0,0,0));
border-radius: 50%;
transform: rotateX(90deg) translate3d(-600px,0,-105px);
}
</style>
</head>
<body>
<div id="box">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<p></p>
</div>
<script>
setTimeout(init,100);
function init(){
var obox = document.getElementById('box'),
aDiv = obox.getElementsByTagName('div');
for (var i = 0; i < aDiv.length; i++) {
aDiv[i].style.background = "url(images/"+(i+1)+".jpg) center/cover";
aDiv[i].style.transform = "rotateY("+(i*36)+"deg) translate3d(0,0,350px)";
aDiv[i].style.transition = "transform 1s "+(aDiv.length-i)*0.2+"s";
}
var sX,
sY,
nX,
nY,
desX = 0,
desY = 0,
tX = 0,
tY = 10,
index = 0;//滚轮初始值
document.onmousedown = function(e){
clearInterval(obox.timer);
e = e || window.event;
var sX = e.clientX,
sY = e.clientY;
this.onmousemove = function(e){
e = e || window.event;
var nX = e.clientX,
nY = e.clientY;
// 当前点的坐标和前一点的坐标差值
desX = nX - sX;
desY = nY - sY;
tX += desX*0.1;
tY += desY*0.1;
obox.style.transform = "rotateX("+(-tY)+"deg) rotateY("+tX+"deg)";
sX = nX;
sY = nY;
}
this.onmouseup = function(){
this.onmousemove = this.onmouseup = null;
obox.timer = setInterval(function(){
desX *= 0.95;
desY *= 0.95;
tX += desX*0.1;
tY += desY*0.1;
obox.style.transform = "rotateX("+(-tY)+"deg) rotateY("+tX+"deg)";
if (Math.abs(desX)<0.5 && Math.abs(desY)<0.5) {
clearInterval(obox.timer);
}
},13);
}
return false;
}
//滚轮放大缩小
mousewheel(document,function(e){
e = e || window.event;
var d = e.wheelDelta/120 || -e.detail/3;
if (d>0) {
index-=20;
}else{
index+=30;
}
(index<(-1050)&&(index=(-1050)));
document.body.style.perspective = 1000 + index + "px";
})
function mousewheel(obj,fn){
document.onmousewheel===null?obj.onmousewheel=fn:addEvent(obj,"DOMMouseScroll",fn)
}
function addEvent(obj,eName,fn){
obj.attachEvent?obj.attachEvent("on"+eName,fn):obj.addEventListener(eName,fn);
}
}
</script>
</body>
</html>
开发流程
工具安装
下载一个HBuilder,体积很小,代码高亮也很友好
创建项目
在HBuilder左侧项目管理器空白处单击右键,选择新建项目
输入项目名称,选择基本HTML项目模板即可
将文章中的代码块复制过去后保存运行即可在浏览器看到效果
语法简介
HTML
HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
常用HTML标签
-
标题标签 h1 - h6
-
段落标签 p标签,独占一行
-
换行标签 br 使用时会让后面的元素换行
-
水平线标签 hr
-
图片标签 img
-
超链接 a标签,通过设置href属性指向跳转的目标地址
-
文本框标签 input
CSS
层叠样式表是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来:
p {color:red;text-align:center;}
CSS 注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。CSS注释以 /* 开始, 以 */ 结束, 实例如下:
/*这是个注释*/
p
{
text-align:center;
/*这是另一个注释*/
color:black;
font-family:arial;
}
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
#para1
{
text-align:center;
color:red;
}
class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。
.center {text-align:center;}
CSS 背景属性用于定义HTML元素的背景。
body {background-color:#b0c4de;}
CSS 文本格式,颜色属性被用来设置文字的颜色。颜色是通过CSS最经常的指定:
body {color:red;}
h1 {color:#00ff00;}
h2 {color:rgb(255,0,0);}