不用說, Flash的效果大家都清楚。實際上,HTML5和JavaScript擁有很多新屬性,可以用它們來替代Flash。W3Cschool精選16個超牛逼的HTML5和JavaScript特效,看了這些特效,未來的Web發展前途無量。
1.特效:FlowerPower
創作者使用花朵作為畫刷,以貝茲曲線方式繪圖。
2.特效:Breathing Galaxies
動態變換直徑及顏色,可通過鼠標或鍵盤產生新形狀,這個效果不錯!
3.特效:Noise Field
移動鼠標可改變粒子運動,點擊可隨機生成不同粒子效果。
4.特效:HTML5 Canvas粒子效果文字動畫特效
W3Cschool利用HTML5,制造出了粒子效果文字動畫特效。只要你輸入框中輸入想要展示的文字,回車后即可在canvas上繪制出粒子效果的文字動畫,相當酷的動畫效果。
5.特效:Swirling Tentacles
三維脈沖效果,沿著脈沖線有運動的顏色漸變模塊。
6.特效:Keylight
雙擊生成兩個以后的鍵即可發出聲音,移動鍵的位置可產生不同的聲音效果。W3Cschool上面有很多這樣的教程,有興趣可以去看一下!
7.特效:Rotating Spiral
旋轉的螺旋效果,單擊可以控制開始和停止旋轉,是不是覺得高大上?
8.Blob
拖動水滴有重力效果,雙擊可以分離,小水滴碰到大水滴會合并。
9.Trail
彩色顆粒跟隨鼠標運動效果,帶尾巴淡出效果。
10.Graph Layout
一種交互的力向圖布局效果,刷新三觀。
11.Typographic Effects
使用HTML5 Canvas實現的文本特性,效果超過Flash。
12.Crazy Tentacles
移動鼠標可以進行涂鴉,點擊鼠標可以清除畫布,看著確實瘋狂。
13.Nebula
吸引眼球的粒子系統,目的是測試WebGL性能,如果滑動鼠標,可以產生絢麗效果。
14.WebGL Globe
WebGL Globe 是一個開放的地理數據可視化平臺,我們鼓勵你復制代碼,添加自己的數據,創建自己的應用。
15.Particle Playground
用鼠標和粒子進行交互,能發現不一樣的精彩。
16.Surface
使用WebGL實現的水面特效實驗,可放入一張照片,使用鼠標觸動水面會有奇特效果。
上面的HTML5和JavaScript特效,簡直趕超Flash。W3Cschool上面有很多用戶留言稱HTML5和JavaScriptit將替代Flash,不過對于這種說法,也不知道怎么去評判。畢竟這些用戶說的也是很有道理,你認為JavaScriptit會替代Flash嗎?很想知道你的答案!
想要學習HTML5的更多技術特效,重慶千鋒提供100%面授課程,兩周面試試聽,歡迎各位同學前來試聽。
TML 是用來描述網頁的一種語言。
HTML 指的是超文本標記語言 (Hyper Text Markup Language)
HTML 不是一種編程語言,而是一種標記語言 (markup language)
標記語言是一套標記標簽 (markup tag)
HTML 使用標記標簽來描述網頁
HTML5 是最新的 HTML 標準。
HTML5 是專門為承載豐富的 web 內容而設計的,并且無需額外插件。
HTML5 擁有新的語義、圖形以及多媒體元素。
HTML5 提供的新元素和新的 API 簡化了 web 應用程序的搭建。
HTML5 是跨平臺的,被設計為在不同類型的硬件(PC、平板、手機、電視機等等)之上運行。
CSS 是一種描述 HTML 文檔樣式的語言。
CSS 描述應該如何顯示 HTML 元素。
CSS 用于控制網頁的樣式和布局。
CSS3 是最新的 CSS 標準。
CSS3 被拆分為"模塊"。主要包括盒子模型、列表模塊、超鏈接方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊。
CSS3的新特征有很多,例如圓角效果、圖形化邊界、塊陰影與文字陰影、使用RGBA實現透明效果、漸變效果、使用@Font-Face實現定制字體、多背景圖、文字或圖像的變形處理(旋轉、縮放、傾斜、移動)、多欄布局、媒體查詢等。
要實現如下效果:
HTML5:
<ruby>
少<rt>shào</rt>小<rt>xiǎo</rt>離<rt>lí</rt>家<rt>jiā</rt>老<rt>lǎo</rt>大<rt>dà</rt>回<rt>huí</rt>
</ruby>,
<ruby>
鄉<rt>xiāng</rt>音<rt>yīn</rt>無<rt>wú</rt>改<rt>gǎi</rt>鬢<rt>bìn</rt>毛<rt>máo</rt>衰<rt>cuī</rt>
</ruby>。
使用說明 | |
line-break | 用于指定如何(或是否)斷行。除了Firefox,其它瀏覽器都支持。取值包括: |
word-wrap | 允許長單詞或URL地址換行到下一行。所有瀏覽器都支持。取值包括: |
word-break | 定義文本自動換行。Chrome和Safari瀏覽器支持不夠友好。取值包括: |
white-space | 設置如何處理元素中的空格。所有瀏覽器都支持。取值包括: |
要實現的效果:
CSS3:
p {
text-align: center;
font: bold 60px helvetica, arial, sans-serif;
color: #fff;
text-shadow: black 0.1em 0.1em 0.2em;
}
要實現的效果:
CSS3:
p {
text-align: center;
font:bold 60px helvetica, arial, sans-serif;
color: red;
text-shadow: 0 0 4px white,
0 -5px 4px #ff3,
2px -10px 6px #fd3,
-2px -15px 11px #f80,
2px -25px 18px #f20;
}
要實現的效果:
CSS3:
p {
text-align: center;
padding: 24px;
margin: 0;
font-family: helvetica, arial, sans-serif;
font-size: 80px;
font-weight: bold;
color: #D1D1D1;
background: #CCC;
text-shadow: -1px -1px white,
1px 1px #333;
}
要實現的效果:
CSS3:
p {
text-align: center;
padding: 24px;
margin: 0;
font-family: helvetica, arial, sans-serif;
font-size: 80px;
font-weight: bold;
color: #D1D1D1;
background: #CCC;
text-shadow: 1px 1px white,
-1px -1px #333;
}
要實現的效果:
CSS3:
#demo {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid red;
}
要實現的效果:
CSS3:
#demo {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 100px solid red;
}
要實現的效果:
CSS3:
#demo {
width: 0;
height: 0;
border-top: 50px solid transparent;
border-right: 100px solid red;
border-bottom: 50px solid transparent;
}
要實現的效果:
CSS3:
#demo {
height: 0;
width: 120px;
border-bottom: 120px solid #ec3504;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
}
要實現的效果:
CSS3和HTML5:
<style type="text/css">
.bubble {
width: 200px; /*定義框大小,可忽略,讓消息框自由收縮*/
height: 50px;
background:hsla(93,96%,62%,1); /*定義背景色,必須與下面箭頭背景色一致*/
padding: 12px; /*增加補白,防止消息文本跑到框外*/
position: relative; /*定義定位包含框,方便定位箭頭*/
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px; /*圓角*/
}
.bubble:before {
content: ""; /*不顯示任何內容*/
width: 0; /*定義箭頭內容區大小*/
height: 0;
position: absolute; /*絕對定位*/
z-index:-1; /*顯示在消息框下面*/
}
.bubble.bubble-left:before {
right: 90%;
top: 50%;
-webkit-transform: rotate(-25deg);
-moz-transform: rotate(-25deg);
transform: rotate(-25deg); /*定位箭頭傾斜角度*/
/*定義箭頭長短、粗細*/
border-top: 20px solid transparent;
border-right: 80px solid hsla(93,96%,62%,1);
border-bottom: 20px solid transparent;
}
div {
margin:50px;
}
<div class="bubble bubble-left">左側消息提示框<br>class="bubble bubble-left"</div>
要實現的效果:
CSS3:
html, body {
margin: 0;
padding: 0;
height: 100%;
}
body {
background: -webkit-repeating-linear-gradient(to top, #f9f9f9, #f9f9f9 29px, #ccc 30px);
background: repeating-linear-gradient( to top, #f9f9f9, #f9f9f9 29px, #ccc 30px );
background-size: 100% 30px;
position: relative;
}
body:before {
content: "";
display: inline-block;
height: 100%;
width: 4px;
border-left: 4px double #FCA1A1;
position: absolute;
left: 30px;
}
需要實現的效果:
CSS3:
.box {
background: linear-gradient(-135deg, #f00 30px, #fff 30px, #162e48 32px);
color: #fff;
padding: 12px 24px;
}
<script>
function setTab(cursel,n){
for(i=1;i<=n;i++){
var menu=document.getElementById("tab_"+i);
var con=document.getElementById("con_"+i);
menu.className=i==cursel?"hover":"";
con.style.display=i==cursel?"block":"none";
}
}
</script>
<div id="tab">
<div class="Menubox">
<ul>
<li id="tab_1" class="hover" onclick="setTab(1,4)">明星</li>
<li id="tab_2" onclick="setTab(2,4)">搞笑</li>
<li id="tab_3" onclick="setTab(3,4)">美女</li>
<li id="tab_4" onclick="setTab(4,4)">攝影</li>
</ul>
</div>
<div class="Contentbox">
<div id="con_1" class="hover" ><img src="images/1.png" /></div>
<div id="con_2" class="hide"><img src="images/2.png" /></div>
<div id="con_3" class="hide"><img src="images/3.png" /></div>
<div id="con_4" class="hide"><img src="images/4.png" /></div>
</div>
</div>
</body>
CSS3:
tbody tr:nth-child(2n) {
background-color: #f5fafe;
}
圓角表格的CSS3:
.bordered tr:last-child td:last-child {
-moz-border-radius: 0 0 6px 0;
-webkit-border-radius: 0 0 6px 0;
border-radius: 0 0 6px 0;
}
單線表格的CSS3:
table {
*border-collapse: collapse; /* IE7 and lower */
border-spacing: 0;
width: 100%;
}
設計圖片翹邊陰影效果:
CSS3:
.box {
width: 980px;
clear: both;
overflow: hidden;
height: auto;
margin: 20px auto;
}
.box li {
background: #fff;
float: left;
position: relative;
margin: 20px 10px;
border: 2px solid #efefef;
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
-o-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
}
.box li img {
width: 290px;
height: 200px;
margin: 5px;
}
.box li:before {
content: "";
position: absolute;
width: 90%;
height: 80%;
bottom: 13px;
left: 21px;
background: transparent; /*透明背景*/
z-index: -2; /*顯示在照片的下面*/
box-shadow: 0 8px 20px rgba(0,0,0,0.8); /*添加陰影*/
-webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.8);
-o-box-shadow: 0 8px 20px rgba(0,0,0,0.8);
-moz-box-shadow: 0 8px 20px rgba(0,0,0,0.8);
transform: skew(-12deg) rotate(-6deg); /*變形并旋轉陰影,讓其翹起*/
-webkit-transform: skew(-12deg) rotate(-6deg);
-moz-transform: skew(-12deg) rotate(-6deg);
-os-transform: skew(-12deg) rotate(-6deg);
-o-transform: skew(-12deg) rotate(-6deg);
}
.box li:after { /*在左側添加翹邊陰影*/
content: "";
position: absolute;
width: 90%;
height: 80%;
bottom: 13px;
right: 21px;
z-index: -2;
background: transparent;
box-shadow: 0 8px 20px rgba(0,0,0,0.8);
transform: skew(12deg) rotate(6deg);
-webkit-transform: skew(12deg) rotate(6deg);
-moz-transform: skew(12deg) rotate(6deg);
-os-transform: skew(12deg) rotate(6deg);
-o-transform: skew(12deg) rotate(6deg);
}
<ul class="box">
<li><img src="images/1.jpg" /></li>
<li><img src="images/2.jpg" /></li>
<li><img src="images/3.jpg" /></li>
</ul>
ref
《HTML5+CSS3+JavaScript從入門到精通(實例版)》
-End-
indow.onload=function(){
//得到現在當前的的時間
var then=new Date().getTime();
var canvas=document.getElementById("canvas");
//建立一個2d場景
var ctx=canvas.getContext("2d");
//定義一個數組來接收下面創建對象產生的值
var arr=[];
//返回透明度
ctx.globalAlpha=0.5;
//填充顏色
ctx.fillStyle="#8e6ca7";
setInterval(function(){
//得到每個40ms之后當前的時間
var nowTime=new Date().getTime();
var lag=(nowTime-then)/1000;
//賦值
then=nowTime;
//清除canvas
ctx.clearRect(0,0,canvas.width,canvas.height);
for(var i=0;i<arr.length;i++){
arr[i].num+=5;
//縮放比例讓他越來越小
arr[i].scaleNum-=0.005;
arr[i].distanceNum-=(0.1*25)*lag;
ctx.beginPath();
ctx.save();
//坐標點把他位移到中間
ctx.translate(canvas.width/2,canvas.height/2);
//旋轉
ctx.rotate(arr[i].num*Math.PI/180);
//進行比例縮放
ctx.scale(arr[i].scaleNum,arr[i].scaleNum);
//繪制矩形
ctx.fillRect(arr[i].distanceNum,0,80,60);
ctx.restore();
//判斷是否小于0
if(arr[i].scaleNum<0){
arr.splice(i,1);
}
}
},40);
//每隔一段時間生成一次然后推入數組中
setInterval(function(){
//一個對象
var arrInit={
num:0,
scaleNum:1,
distanceNum:200
};
arr.push(arrInit);
},80);
}
</script>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。