canvas点状文字变形表白动画效果代码 Shape Shifter

代码语言:html

所属分类:表白

代码描述:canvas点状文字变形表白动画效果代码 Shape Shifter

代码标签: canvas 点状 文字 表白

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!doctype html>
<html lang="en">

<head>
   
<meta charset="utf-8">
   
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
   
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0">
   
<style>


    body
, .overlay {
       
-webkit-perspective: 1000;
       
-webkit-perspective-origin-y: 25%
   
}
   
.body--ready {
       
background-image: -webkit-linear-gradient(top, #416ffa, #063fb3);
     
background-image: -moz-linear-gradient(top, #416ffa, #063fb3);
     
background-image: -ms-linear-gradient(top, #416ffa, #063fb3);
     
background-image: -o-linear-gradient(top, #416ffa, #063fb3);
       
background: linear-gradient(top, #416ffa 0, #063fb3 120%)
   
}
   
.body--ready .overlay {
       
-webkit-transition: -webkit-transform .7s cubic-bezier(0.694, .0482, .335, 1), opacity .7s cubic-bezier(0.694, .0482, .335, 1);
       
-moz-transition: -moz-transform .7s cubic-bezier(0.694, .0482, .335, 1), opacity .7s cubic-bezier(0.694, .0482, .335, 1);
       
-ms-transition: -ms-transform .7s cubic-bezier(0.694, .0482, .335, 1), opacity .7s cubic-bezier(0.694, .0482, .335, 1);
       
-o-transition: -o-transform .7s cubic-bezier(0.694, .0482, .335, 1), opacity .7s cubic-bezier(0.694, .0482, .335, 1);
       
transition: transform .7s cubic-bezier(0.694, .0482, .335, 1), opacity .7s cubic-bezier(0.694, .0482, .335, 1)
   
}
   
.body--ready .ui, .body--ready .help {
       
display: block
   
}
   
.ui {
       
display: none;
       
position: absolute;
       
left: 50%;
       
bottom: 5%;
       
width: 300px;
       
margin-left: -150px
   
}
   
.ui-input {
       
width: 100%;
       
height: 50px;
       
background: 0;
       
font-size: 24px;
       
font-weight: 700;
       
color: #fff;
       
text-align: center;
       
border: 0;
       
border-bottom: 2px solid #fff
   
}
   
.ui-input:focus {
       
outline: 0;
       
border: 0;
       
border-bottom: 2px solid #fff
   
}
   
.ui-return {
       
display: none;
       
position: absolute;
       
top: 20px;
       
right: 0;
       
padding: 3px 2px 0;
       
font-size: 10px;
       
line-height: 10px;
       
color: #fff;
       
border: 1px solid #fff
   
}
   
.ui--enter .ui-return {
       
display: block
   
}
   
.ui--wide {
       
width: 76%;
       
margin-left: 12%;
       
left: 0
   
}
   
.ui--wide .ui-return {
       
right: -20px
   
}
   
.help {
       
display: none;
       
position: absolute;
       
top: 40px;
       
right: 40px;
       
width: 25px;
       
height: 25px;
       
text-align: center;
       
font-size: 13px;
       
line-height: 27px;
       
font-weight: 700;
       
cursor: pointer;
       
background: #fff;
       
color: #79a8ae;
       
opacity: .9;
       
-webkit-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-moz-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-ms-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-o-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1)
   
}
   
.help:hover {
       
opacity: 1
   
}
   
.overlay {
       
position: absolute;
       
top: 50%;
       
left: 50%;
       
width: 550px;
       
height: 490px;
       
margin: -260px 0 0 -275px;
       
opacity: 0;
       
-webkit-transform: rotateY(90deg);
       
-moz-transform: rotateY(90deg);
       
-ms-transform: rotateY(90deg);
       
-o-transform: rotateY(90deg);
       
transform: rotateY(90deg)
   
}
   
.overlay--visible {
       
opacity: 1;
       
-webkit-transform: rotateY(0);
       
-moz-transform: rotateY(0);
       
-ms-transform: rotateY(0);
       
-o-transform: rotateY(0);
       
transform: rotateY(0)
   
}
   
.ui-share, .ui-details {
       
opacity: .9;
       
background: #fff;
       
z-index: 2
   
}
   
.ui-details-content, .ui-share-content {
       
padding: 100px 50px
   
}
   
.commands {
       
margin: 0;
       
padding: 0;
       
list-style: none;
       
cursor: pointer
   
}
   
.commands-item {
       
font-size: 12px;
       
line-height: 22px;
       
font-weight: 700;
       
text-transform: uppercase;
       
letter-spacing: 1px;
       
padding: 20px;
       
background: #fff;
       
margin-top: 1px;
       
color: #333;
       
opacity: .9;
       
-webkit-transition: -webkit-transform .7s cubic-bezier(0.694, .0482, .335, 1), opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-moz-transition: -moz-transform .1s cubic-bezier(0.694, .0482, .335, 1), opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-ms-transition: -ms-transform .1s cubic-bezier(0.694, .0482, .335, 1), opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-o-transition: -o-transform .1s cubic-bezier(0.694, .0482, .335, 1), opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
transition: transform .1s cubic-bezier(0.694, .0482, .335, 1), opacity .1s cubic-bezier(0.694, .0482, .335, 1)
   
}
   
.commands-item--gap {
       
margin-top: 9px
   
}
   
.commands-item:hover {
       
opacity: 1
   
}
   
.commands-item:hover .commands-item-action {
       
background: #333
   
}
   
.commands-item a {
       
display: inline-block
   
}
   
.commands-item-mode {
       
display: inline-block;
       
margin-left: 3px;
       
font-style: italic;
       
color: #ccc
   
}
   
.commands-item-title {
       
display: inline-block;
       
width: 150px
   
}
   
.commands-item-info {
       
display: inline-block;
       
width: 300px;
       
font-size: 14px;
       
text-transform: none;
       
letter-spacing: 0;
       
font-weight: 400;
       
color: #aaa
   
}
   
.commands-item-action {
       
display: inline-block;
       
float: right;
       
margin-top: 3px;
       
text-transform: uppercase;
       
font-size: 10px;
       
line-height: 10px;
       
color: #fff;
       
background: #90c9d1;
       
padding: 5px 10px 4px;
       
border-radius: 3px
   
}
   
.commands-item:first-child {
       
margin-top: 0
   
}
   
.twitter-share {
       
position: absolute;
       
top: 4px;
       
right: 20px
   
}
   
.tabs-labels {
       
margin-bottom: 9px
   
}
   
.tabs-label {
       
display: inline-block;
       
background: #fff;
       
padding: 10px 20px;
       
font-size: 12px;
       
line-height: 22px;
       
font-weight: 700;
       
text-transform: uppercase;
       
letter-spacing: 1px;
       
color: #333;
       
opacity: .5;
       
cursor: pointer;
       
margin-right: 2px;
       
-webkit-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-moz-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-ms-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
-o-transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1);
       
transition: opacity .1s cubic-bezier(0.694, .0482, .335, 1)
   
}
   
.tabs-label:hover {
       
opacity: .9
   
}
   
.tabs-label--active {
       
opacity: .9
   
}
   
.tabs-panel {
       
display: none
   
}
   
.tabs-panel--active {
       
display: block
   
}
   
.tab-panel {
       
position: absolute;
       
top: 0;
       
left: 0;
       
width: 100%
   
}
   
.touch .ui-input {
       
display: none
   
}
   
   
@media screen and (max-height:600px) {
   
.ui-input {
       
color: #111;
       
border-color: #111
   
}
   
.ui-input:focus {
       
border-color: #111
   
}
   
}
   
</style>
</head>

<body>

   
<canvas class="canvas"></canvas>

   
<div class="help">?</div>

   
<div class="ui">
       
<input class="ui-input" type="text" />
       
<span class="ui-return"></span>
   
</div>

   
<div class="overlay">


       
<div class="tabs">
           
<div class="tabs-labels"><span class="tabs-label">Commands</span><span class="tabs-label">Info</span><span class="tabs-label">Share</span></div>

           
<div class="tabs-panels">
               
<ul class="tabs-panel commands">
                   
<li class="commands-item"><span class="commands-item-title">Text</span><span class="commands-item-info" data-demo="Hello :)">Type anything</span><span class="commands-item-action">Demo</span></li>
                   
<li class="commands-item"><span class="commands-item-title">Countdown</span><span class="commands-item-info" data-demo="#countdown 10">#countdown<span class="commands-item-mode">number</span></span><span class="commands-item-action">Demo</span></li>
                   
<li class="commands-item"><span class="commands-item-title">Icon</span><span class="commands-item-info" data-demo="#icon thumbs-up">#icon<span class="commands-item-mode">name</span>&nbsp;(using <a href="https://fortawesome.github.io/Font-Awesome/#icons-new"
                           
target="_blank">Font Awesome</a>)</span><span class="commands-item-action">Demo</span></li>
                   
<li class="commands-item"><span class="commands-item-title">Time</span><span class="commands-item-info" data-demo="#time">#time</span><span class="commands-item-action">Demo</span></li>
                    <li class="commands-ite.........完整代码请登录后点击上方下载按钮下载查看

网友评论0