纸张撕裂4加拿大28预测网-开奖lpc预测04错误页面动画效果
html+css实现纸张撕裂404错误页面动画效果,css样式 来源分享https://www.liuzhixi.cn/html/293.html* { border: 0; box-sizing: border-box; margin: 0; padding: 0;}:root { --hue: 223; --bg: hsl(var(--hue),10%,90%); --fg: hsl(var(--hue),10%,10%); --primary: hsl(var(--hue),90%,45%); --primary-down: hsl(var(--hue),90%,65%); --trans-dur: 0.3s; font-size: calc(16px + (24 - 16) * (100vw - 320px) / (2560 - 320));}body { background-color: var(--bg); color: var(--fg); display: flex; font: 1em/1.5 Nunito, sans-serif; height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur);}main { display: grid; grid-gap: 3em 1.5em; margin: auto; max-width: 40em; padding: 3em 0; text-align: center; width: calc(100% - 3em);}h1 { font-size: 3em; line-height: 1; margin: 0 0 1.5rem;}p { margin: 0 0 1.5em;}.btn-link { background: var(--primary); border-radius: 1.5em; display: inline-block; outline: transparent; padding: 0.75em 1.5em; text-align: center; text-decoration: none; transition: background-color 0.15s linear;}.btn-link,.btn-link:visited { color: hsl(0,0%,100%);}.btn-link:focus-visible,.btn-link:hover { background: var(--primary-down);}.btn-link:hover { text-decoration: none;}.paper { display: block; margin: auto; overflow: visible; width: 100%; max-width: 224px; height: auto;}.paper__fill { fill: hsl(0,0%,100%);}.paper__outline,.paper__lines { transition: stroke var(--trans-dur);}.paper__outline { stroke: hsl(var(--hue),10%,10%);}.paper__lines { stroke: hsl(var(--hue),10%,70%);}.paper__shadow { fill: hsl(var(--hue),10%,70%); transition: fill var(--trans-dur);}.paper__top,.paper__bottom,.paper__tear,.paper__tear-fill { animation: paperTop 1.25s cubic-bezier(0.77,0,0.18,1);}.paper__top,.paper__bottom { transform-origin: 0 148px; transition: transform var(--trans-dur) cubic-bezier(0.77,0,0.18,1);}.paper__top { transform: translate(0,8px);}.paper__bottom { animation-name: paperBottom; transform: translate(0,42px);}.paper__tear,.paper__tear-fill { animation-timing-function: cubic-bezier(0.32,0,0.67,0);}.paper__tear { animation-name: paperTear; stroke-dashoffset: 0;}.paper__tear-fill { animation-name: paperTearFill;}.paper__outline:hover .paper__top,.paper__outline:hover .paper__bottom { transform: translate(0,25px);}/* Dark theme */@media (prefers-color-scheme: dark) { :root { --bg: hsl(var(--hue),10%,25%); --fg: hsl(var(--hue),10%,90%); } .paper__shadow:first-child { fill: hsl(var(--hue),10%,15%); }}/* Beyond mobile */@media (min-width: 768px) { main { grid-template-columns: 1fr 2fr; align-items: center; text-align: left; } .paper { max-width: 300px; }}/* Animations */@keyframes paperTop { from, 40% { animation-timing-function: cubic-bezier(0.32,0,0.67,0); transform: translate(0,25px) rotate(0); transform-origin: 61px 148px; } 70% { animation-timing-function: cubic-bezier(0.33,1,0.67,1.5); transform: translate(0,25px) rotate(-5deg); transform-origin: 61px 148px; } to { transform: translate(0,8px) rotate(0); transform-origin: 0 148px; }}@keyframes paperBottom { from, 40% { animation-timing-function: cubic-bezier(0.32,0,0.67,0); transform: translate(0,25px) rotate(0); transform-origin: 61px 148px; } 70% { animation-timing-function: cubic-bezier(0.33,1,0.67,1.5); transform: translate(0,25px) rotate(5deg); transform-origin: 61px 148px; } to { transform: translate(0,42px) rotate(0); transform-origin: 0 148px; }}@keyframes paperTear { from, 40% { stroke-dashoffset: -198; } 70%, to { stroke-dashoffset: 0; }}@keyframes paperTearFill { from, 40% { width: 187px; } 70%, to { width: 0; }}
<html> <head> <meta charset="UTF-8"> <title>Ripped 404 Page Animation</title> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"><link rel="stylesheet" type="text/css" href="css/style.css"><link rel='stylesheet' href='css/css2.css'></head> <body> <main> <div> <svg class="paper" viewBox="0 0 300 300" width="300px" height="300px" role="img" aria-label="A piece of paper torn in half"> <g class="paper__outline" fill="none" stroke="hsl(0,10%,10%)" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" transform="translate(61,4)"> <g class=加拿大28预测网-开奖lpc预测"paper__top" transform="translate(0,25)"> <polygon class="paper__shadow" fill="hsl(0,10%,70%)" stroke="none" points="0 148,0 0,137 0,187 50,187 148,155 138,124 148,93 138,62 148,31 138" transform="translate(-12,12)" /> <rect class="paper__tear-fill" fill="hsl(0,0%,100%)" stroke="none" x="0" y="137" width="0" height="23px" /> <polygon class="paper__fill" fill="hsl(0,0%,100%)" stroke="none" points="0 148,0 0,137 0,187 50,187 148,155 138,124 148,93 138,62 148,31 138" /> <polygon class="paper__shadow" fill="hsl(0,10%,70%)" stroke="none" points="137 0,132 55,187 50,142 45" /> <polyline points="137 0,142 45,187 50" /> <polyline points="0 148,0 0,137 0,187 50,187 148" /> <g class="paper__lines" stroke="hsl(0,10%,70%)"> <polyline points="22 88,165 88" /> <polyline points="22 110,165 110" /> <polyline points="22 132,165 132" /> </g> <polyline class="paper__tear" points="0 148,31 138,62 148,93 138,124 148,155 138,187 148" stroke-dasharray="198 198" stroke-dashoffset="-198" /> </g> <g class="paper__bottom" transform="translate(0,25)"> <polygon class="paper__shadow" fill="hsl(0,10%,70%)" stroke="none" points="0 148,31 138,62 148,93 138,124 148,155 138,187 148,187 242,0 242" transform="translate(-12,12)" /> <polygon class="paper__fill" fill="hsl(0,0%,100%)" stroke="none" points="0 148,31 140,62 148,93 138,124 148,155 138,187 148,187 242,0 242" /> <polyline points="187 148,187 242,0 242,0 148" /> <g class="paper__lines" stroke="hsl(0,10%,70%)"> <polyline points="22 154,165 154" /> <polyline points="22 176,165 176" /> <polyline points="22 198,94 198" /> </g> <polyline class="paper__tear" points="0 148,31 138,62 148,93 138,124 148,155 138,187 148" stroke-dasharray="198 198" stroke-dashoffset="-198" /> </g> </g> </svg> </div> <div> <h1>404</h1> <p>您要查找的页面可能已被移动,或者根被删除。</p> <a class="btn-加拿大28预测网-开奖lpc预测link" href="http://www.bokequ.com/">返回首页</a> </div> </main></body> </html>
2、演示Ripped 404 Page Animation (bokequ.com)
1、
- 最近发表
- 随机阅读
-
- 织梦提示Fatal error: Call to undefined function make
- 松下杭州新公司:家居科技巨擘揭秘10亿日元投资,智能家居新时代即将来临
- 浏览器屏蔽广告插件广告终结者
- WordPress时光轴图片主题Scopic2.0
- SEO域名外链生成工具PHP源码
- 40万m³/d!看上海城投水务泰和污水处理厂的领跑者标杆实践
- 科沃斯T50 Pro扫拖机器人水箱版,3999元降至2235元,百亿补贴优惠不妥协
- wordpress网站防复制插件CopyRights下载
- 5月30日,全新雷神Aura AI智能拍摄眼镜预约开启,颠覆你的摄影体验!
- 健康能量评估神器荣耀手表 Fit正式发布:轻享运动健康,499元起,你准备好了吗?
- PHP二维码在线制作生成网站源码
- 石头P20 Pro 上下水版,18500pa吸力再降2248元,真实力更实惠
- Crypto Markets Lost Over $400B as Bitcoin (BTC) Slumped by $10K in 2 Days (Weekend Watch)
- dedecms添加文章时禁止自动提取关键字
- Javascript植物大战僵尸小游戏LonelyStar版
- 搜索引擎搜索关键词的标题与链接如何提取?
- 小米智能门锁2指静脉增强版震撼登场:AI猫眼+可视大屏,安全又便捷,仅售1699元!
- 66toolkit在线查询工具箱v16.00英文版
- WordPress主题安装style.css样式表未包含合法的主题
- 宝塔面板MySQL数据库自动重启设置
- 搜索
-
- 友情链接
-