惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 陈大欠

Step Builder:让对象构建有顺序、有边界、有校验 基于 Attribute 的 AOP 字段校验 浅析 .NET 响应式编程 IObservable与ReactiveX Cron表达式简明教程 正则表达式拾遗 快速批量升级 NugetPackage 版本 C# IEquatable和IEqualityComparer 最佳实践 使用XDT提高开发效率 如何保证XML正确性 分析 Dump 入门简明教程 Git commit emoji 对照表 ELK Stack 笔记 Jquery实现图片上下一张 js css 构建滚动边框 使用jquery构建Metro style 返回顶部 使用js实现移动设备访问跳转到指定目录 从一幅图中了解开源世界 Jquery ajax 学习笔记 工欲善其事必先利其器系列之:在VS里面折叠js代码
HTML5/CSS3(PrefixFree.js) 3D文字特效
陈大欠 · 2014-04-14 · via 博客园 - 陈大欠

之前在园子里看到一个HTML5/CSS3的文字特效(这里),觉得挺好玩的所以小小的研究了下,不过发现代码都是针对webkit以及FF的所以IE跪了。

Runjs

我将示例中的代码进行了精简,后来发现CSS大多数没有前缀,我很费解之后发现它引用过来一个PrefixFree,有了这个js就能不用写CSS3的前缀:)

PrefixFree

<script src="http://leaverou.github.com/prefixfree/prefixfree.min.js"></script>

在link中,或是style中,或是dom元素的style中书写CSS3 code,或是jQuery .css()方法此脚本会自动补上需要的前缀,让响应的浏览器支持该CSS3属性

background-color: #a0b3d6;
background-image: linear-gradient(top, #beceeb, #34538b);

这样就不需要添加这些前缀太方便来了 ;)

-khtml-     Konqueror

-rim-         RIM

-ms-         Microsoft(IE)

-0-            Opera

-moz-       Mozilla(如Firefox)

-webkit-   Webkit

 1 <!DOCTYPE html>
 2 <html style="" class=" -moz- js no-flexbox canvas canvastext webgl no-touch geolocation postmessage no-websqldatabase indexeddb hashchange history draganddrop websockets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimations csscolumns cssgradients no-cssreflections csstransforms csstransforms3d csstransitions fontface generatedcontent video audio localstorage sessionstorage webworkers applicationcache svg inlinesvg smil svgclippaths">
 3 <head>
 4     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 5     <meta charset="UTF-8">
 6     <title>HTML5/CSS3 3D文字特效</title>
 7     <style>
 8         @import url(http://fonts.googleapis.com/css?family=Lato:900);
 9 
10         *, *:before, *:after {
11             -moz-box-sizing: border-box;
12         }
13 
14         body {
15             font-family: 'Lato', sans-serif;
16         }
17 
18         div.foo {
19             width: 90%;
20             margin: 0 auto;
21             text-align: center;
22         }
23 
24         .letter {
25             display: inline-block;
26             font-weight: 900;
27             font-size: 8em;
28             margin: 0.2em;
29             position: relative;
30             color: #00B4F1;
31             transform-style: preserve-3d;
32             perspective: 400;
33             z-index: 1;
34         }
35 
36             .letter:before, .letter:after {
37                 position: absolute;
38                 content: attr(data-letter);
39                 transform-origin: top left;
40                 top: 0;
41                 left: 0;
42             }
43 
44             .letter, .letter:before, .letter:after {
45                 transition: all 0.3s ease-in-out;
46             }
47 
48                 .letter:before {
49                     color: #fff;
50                     text-shadow: -1px 0px 1px rgba(255,255,255,.8), 1px 0px 1px rgba(0,0,0,.8);
51                     z-index: 3;
52                     transform: rotateX(0deg) rotateY(-15deg) rotateZ(0deg);
53                 }
54 
55                 .letter:after {
56                     color: rgba(0,0,0,.11);
57                     z-index: 2;
58                     transform: scale(1.08,1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg,1deg);
59                 }
60 
61                 .letter:hover:before {
62                     color: #fafafa;
63                     transform: rotateX(0deg) rotateY(-40deg) rotateZ(0deg);
64                 }
65 
66                 .letter:hover:after {
67                     transform: scale(1.08,1) rotateX(0deg) rotateY(40deg) rotateZ(0deg) skew(0deg,22deg);
68                 }
69     </style>
70     <script src="http://leaverou.github.com/prefixfree/prefixfree.min.js"></script>
71 </head>
72 <body>
73     <div class="foo">
74         <span class="letter" data-letter="C">C</span>
75         <span class="letter" data-letter="N">N</span>
76         <span class="letter" data-letter="B">B</span>
77         <span class="letter" data-letter="L">L</span>
78         <span class="letter" data-letter="O">O</span>
79         <span class="letter" data-letter="G">G</span>
80     </div>
81 </body>
82 </html>

完整代码

 Runjs演示

特效原文地址