2011年9月6日星期二

HTML Symbol Entities美化網頁小圖標

HTML Symbol Entities美化網頁小圖標

http://www.inspirr.com

©<>這幾個字符您一定不陌生吧,下面這幾個呢? ›»«如果您還知道那再看這幾個呢?☎☠✎ ✓下面來看看他們的在網頁中的真面目吧

& nbsp;& copy;& lt;<& gt;& rsaquo;& raquo;& laquo;& #9742;& #9760;& #9998;& #10003;依次為空格©<<>›»«☎☠✎✓

看到這您是不是有點暈,不知道我在什么,下面貼幾張圖您就明白了。




您發現了沒有,圖中的文字中用到了許多修飾的小圖標,是不是給界面的美觀增色不少?是的,合理的運用這些小圖標既可以使輕松指引讀者還可以從細節上為網頁整體增色,何樂而不為呢?那么是不是要去搜集一些類似的小圖標呢?答案是不用。那些事只有美工才需要,我們一向比較懶,所以我們就…

今天的主角閃亮登場→HTML Symbol Entities。那么為什么要使用字符而不使用小圖標呢好處有哪些呢?

1.它比圖標加載速度快;

2.它的大小可以隨字體的大小而變化;

3.它可以隨意改變顏色。

下面用☎做個demo,

正常情況:


以下為引用的內容:

<p>正常電話圖標:☎</p>

正常電話圖標:☎


改變字體大小:

以下為引用的內容:

<p style="font-size:26px;">大號電話圖標:☎</p>

大號電話圖標:☎

改變顏色:

以下為引用的內容:

<p style="color:Red;font-size:26px;">大號紅色圖標:☎</p>

大號紅色圖標:☎

是不是很簡單,用起來很爽呢?但是有人又會問:“這么多字符我怎么記得住每個對應的代碼是什么?”如果您是觀察仔細的人,可能會發現其實基本上每個字符都有對應的名字,而且都是英文的縮寫如:©;就是copyright的縮寫,←就是left arrow的縮寫,是不是很好記呢?如果您還是懶的記,那就什么時候用,什么時候來這里(w3schools)或這里(Character Entity Reference HTML 4)看吧,很詳細而且比較權威。

原文地址:http://www.cnblogs.com/gudao119/archive/2010/01/05/1639447.html

  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

HTML 5視頻的相關知識背景和技術規范

HTML 5視頻的相關知識背景和技術規范

http://www.inspirr.com

1 Video介紹
引用我翻譯文檔《在HTML5頁面中嵌入音頻和視頻》中的介紹文字:“當今,在網頁上嵌入視頻且所有用戶不管使用任何瀏覽器或者操作系統都能看到的唯一可靠方法是使用Flash。這需要Adobe Flash插件,并且結合<object>和<embed>標簽。
大多數用戶已經安裝了Flash插件(事實上,大概95%的上網用戶都裝有Flash的某個版本),但HTML 5的支持者正在推動一個開放的,不需要任何插件的視頻標準。這就是HTML 5的新標簽<video>帶來的構想,他提供了一個嵌入視頻(以及與其交互)而不需要類似Flash的私有插件的方法。
不幸的是,視頻并非那么簡單。不僅僅是瀏覽器需要理解<video>標簽,而且需要一個必要的編碼譯碼器來播放視頻。明顯的解決方法只能是HTML 5規范的締造者們選擇一個視頻編碼譯碼器,并且讓每一個瀏覽器制造商執行。
總之,這就是所推薦的打算。同時,這也是引起混亂的導火索。對于各種各樣編碼譯碼器的爭論就已經很煩雜了,但更悲劇的事情是,瀏覽器制造商們還不能就此達成統一。蘋果不愿意使用提議的Ogg Theora編碼譯碼器,但Opera和Mozilla也不愿意支付由于他們的瀏覽器裝載H.264編碼譯碼器而造成的許可費用。Google同時支持兩者,微軟面對爭論,遠遠的置身事外,因為他現在根本沒有計劃去支持HTML 5的視頻元素。
面對瀏覽器制造商的僵持局面,HTML 5善意的獨裁者Ian Hickson甩了甩他的手并說到去他媽的。所以HTML 5規范中沒有特別指名或規定的視頻編碼解碼器。”好吧,引用到這兒。
如今的情況是,微軟終于陷進去了,但很悲劇的是,在IE 9中只支持H.264。同時,Googe終于在I/O大會上發布了開源的視頻封裝格式webM和視頻編碼格式VP8。Opera、Mozilla、Chrome宣布將完全支持VP8,IE宣布部分支持(需要裝一個插件,但如果我沒記錯的話,HTML5的一個愿景就是脫離瀏覽器插件,微軟真是讓人覺得悲劇)。
蘋果決定不支持VP8,喬布斯認為VP8在質量或效率方面不如H.264,不能滿足其產品的要求。另外最新消息表明VP8還有可能牽扯到專利的問題(如果真的侵犯專利的話,Opera和Firefox估計馬上會無視VP8的)。
說了這么多,其實說到底就是,現在如果要在頁面中使用<video>標簽,需要考慮三種情況,支持Ogg Theora或者VP8(如果這玩意兒沒出事的話)的(Opera、Mozilla、Chrome),支持H.264的(Safari、IE 9、Chrome),都不支持的(IE6、7、8)。
好吧,現在讓我們從技術層面來認識HTML 5的視頻,包括<video>標簽的使用,視頻對象可以用到的媒介屬性和方法,以及媒介事件。
2 Video標簽的使用
Video標簽含有src、poster、preload、autoplay、loop、controls、width、height等幾個屬性,以及一個內部使用的標簽<source>。
Video標簽內除了可以包含<source>標簽外,還可以包含當指定的視頻都不能播放時,返回的內容。
2.1 src屬性和poster屬性
你能想象src屬性是用來干啥的。跟<img>標簽的一樣,這個屬性用于指定視頻的地址。
而poster屬性用于指定一張圖片,在當前視頻數據無效時顯示(預覽圖)。視頻數據無效可能是視頻正在加載,可能是視頻地址錯誤等等。
2.2 preload屬性
這個屬性也能通過名字了解用處,此屬性用于定義視頻是否預加載。屬性有三個可選擇的值:none、metadata、auto。如果不使用此屬性,默認為auto。
None:不進行預加載。使用此屬性值,可能是頁面制作者認為用戶不期望此視頻,或者減少HTTP請求。
Metadata:部分預加載。使用此屬性值,代表頁面制作者認為用戶不期望此視頻,但為用戶提供一些元數據(包括尺寸,第一幀,曲目列表,持續時間等等)。
Auto:全部預加載。
2.3 autoplay屬性
又是一個看名字知道用處的屬性。Autoplay屬性用于設置視頻是否自動播放,是一個布爾屬性。當出現時,表示自動播放,去掉是表示不自動播放。
注意,HTML中布爾屬性的值不是true和false。正確的用法是,在標簽中使用此屬性表示true,此時屬性要么沒有值,要么其值恒等于他的名字(此處,自動播放為<video autoplay />或者<video autoplay=”autoplay” />);而在標簽中不使用此屬性表示false(此處不進行自動播放為<video />)。
2.4 loop屬性
一目了然,loop屬性用于指定視頻是否循環播放,同樣是一個布爾屬性。
2.5 controls屬性
Controls屬性用于向瀏覽器指明頁面制作者沒有使用腳本生成播放控制器,需要瀏覽器啟用本身的播放控制欄。
控制欄須包括播放暫停控制,播放進度控制,音量控制等等。


  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

HTML 5解析規則

HTML 5解析規則

http://www.inspirr.com

HTML 5推薦標準的成功之一是提供了一個詳細的規范來說明如何解析HTML文檔。一直以來,瀏覽器提供商都試圖猜測和拷貝其它瀏覽器的實現,寄希望于他們的解析器在處理HTML文檔的時候不產生過多的問題。
盡管HTML 5中的一些部分目前爭議比較大,關于解析的這部分得到了瀏覽器廠商的一致認同。一旦瀏覽器開始實現它,用戶就可以從所帶來的兼容性提升中獲益。
HTML 5解析規則的最初實現之一是為了支持HTML 5驗證器而開發的。(如果你想測試這個驗證器的話,http://ejohn.org應該是合法的HTML 5。)這個實現是用Java開發的,提供了SAX和DOM的接口,并且是開源的。
有趣的是Henri Sivonen(驗證器的作者)最近為Gecko開發了一個全新的HTML 5解析引擎,會在下一個版本的Firefox中使用。
這個實現實際上是通過把Henri的HTML 5解析器的Java實現自動轉換為C++來完成的。這個轉換是自動完成的,所有的改動都會提交到Mozilla的代碼庫中。
一般來說,當提到這種大規模的程序式的把Java代碼庫轉換到C++的做法時,我會跳出來。不過結果非常的出人意料:頁面加載的性能提升了3%。
這些是建立在該代碼庫會提供的一連串的bug修正和一致性檢查的基礎上。你可以在Mozilla的bug庫中查看該補丁的進度。
如果你想嘗試新的解析器的話(你不太可能發現很多明顯的變化,但是任何尋找bug的努力都是值得感謝的。),下載一個Firefox的每日構建版本,打開about:config,把html5.enable設成true就可以了。
如果想升級到HTML 5,那么現在就是時候。因為HTML 5是HTML 4和XHTML 1提供的功能的超集,所以升級是非常容易的。只需要把目前的(X)HTML文檔類型聲明換成HTML 5文檔類型就可以了。
<!DOCTYPE html>
你可以從HTML 5 Doctor網站中找到如何讓新的HTML 5元素在所有瀏覽器上都工作的細節。

  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

HTML 5 Reset Stylesheet

HTML 5 Reset Stylesheet

http://www.inspirr.com

這份css reset是在Eric Meyers的 CSS reset基礎上修改出來的,特別針對HTML5調整了相應標簽的初始化樣式。
/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body {
line-height:1;
}
article, aside, dialog, figure, footer, header,
hgroup, nav, section {
display:block;
}
nav ul {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:”;
content:none;
}
a {
margin:0;
padding:0;
border:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted #000;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
hr {
display:block;
height:1px;
border:0;
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
input, select {
vertical-align:middle;
}
更新什么內容? 移除了那些在HTML5中不被贊成使用的標簽樣式,例如<acronym><font><big>……添加了HTML5新增標簽樣式,移除了默認的padding、margin和border,確定指定了那些本應該當做塊級元素來顯示的元素的display屬性為block。
使用了屬性選擇器
為<abbr><dfn>元素添加了屬性選擇器,這是為了在這兩個元素有title這個屬性的時候為他們指定一個樣式,這點是從可訪問性的角度考慮的。
討論
在錨點上添加outline:0有很嚴重的可訪問性問題,直接導致鍵盤導航失效。
ins, mark在沒有設置字體顏色的時候不必添加背景顏色。
更多內容猛點這里:http://html5doctor.com/html-5-reset-stylesheet/

  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

HTML 5 canvas 基本語法

HTML 5 canvas 基本語法

http://www.inspirr.com

HTML 5 canvas —— 基本語法

簡述 5 規范引進了很多新特性,其中最令人期待的之一就是 canvas 元素。HTML 5 canvas 提供了通過 JavaScript 繪制圖形的方法,此方法使用簡單但功能強大。每一個 canvas 元素都有一個"上下文( context )" (想象成繪圖板上的一頁),在其中可以繪制任意圖形。瀏覽器支持多個 canvas 上下文,并通過不同的 提供圖形繪制功能。 提供圖形繪制功能。 5 規范引進了很多新特性,其中最令人期待的之一就是 元素。HTML 5 提供了通過 JavaScript 繪制圖形的方法,此方法使用簡單但功能強大。每一個 元素都有一個"上下文( context )" (想象成繪圖板上的一頁),在其中可以繪制任意圖形。瀏覽器支持多個 canvas 上下文,并通過不同的 提供圖形繪制功能。
大部分的瀏覽器都支持 2D canvas 上下文——包括 Opera, Firefox, Konqueror 和 Safari。而且某些版本的 Opera 還支持 3D canvas ,Firefox 也可以通過插件形式支持 3D canvas :
下載支持 3D canvas, HTML video 和 File I/O 的 Opera
關于 Opera 3D canvas 上下文的文章 關于 Firefox 3D canvas
上下文的文章 本文介紹 2D canvas
基礎以及如何使用基本 canvas 函數,如線條、形狀、圖像和文字等。為了理解此文章,你最好了解 JavaScript 基礎知識。
可以點擊此處批量下載本文實例代碼

canvas 基礎 創建 canvas 的方法很簡單,只需要在 HTML 頁面中添加 <canvas> 元素:
<canvas id="myCanvas" width="300" height="150">
Fallback content, in case the browser does not support Canvas.
</canvas>
為了能在 JavaScript 中引用元素,最好給元素設置 ID ;也需要給 canvas 設定高度和寬度。
創建好了畫布后,讓我們來準備畫筆。要在畫布中繪制圖形需要使用 JavaScript 。首先通過 getElementById 函數找到 canvas
元素,然后初始化上下文。之后可以使用上下文 API 繪制各種圖形。下面的腳本在 canvas 中繪制一個矩形 (點擊此處查看效果):
// Get a reference to the element.
var elem = document.getElementById('myCanvas');

// Always check for properties 和 methods, to make sure your code doesn't break 
// in other browsers.
if (elem && elem.getContext) {
  // Get the 2d context.
  // Remember: you can only initialize one context per element.
  var context = elem.getContext('2d');
  if (context) {
    // You are done! Now you can draw your first rectangle.
    // You only need to provide the (x,y) coordinates, followed by the width and 
    // height dimensions.
    context.fillRect(0, 0, 150, 100);
  }
}
可以把上面代碼放置在文檔 head 部分中,或者放在外部文件中。

2D context API 介紹了如何創建 canvas 后,讓我們來看看 2D canvas API,看看能用這些函數做些什么。

基本線條 上面的例子中展示了繪制矩形是多么簡單。
通過 fillStyle 和 strokeStyle 屬性可以輕松的設置矩形的填充和線條。顏色值使用方法和 十六進制數、()、() 和 ()( 若瀏覽器支持,如 Opera
10 和 Firefox 3)。()( 若瀏覽器支持,如 Opera10 和 Firefox 3)。() 和 ()( 若瀏覽器支持,如 Opera10 和 Firefox 3)。()、() 和 ()( 若瀏覽器支持,如 Opera10 和 Firefox 3)。十六進制數、()、() 和 ()( 若瀏覽器支持,如 Opera10 和 Firefox 3)。
通過 fillRect 可以繪制帶填充的矩形。使用 strokeRect 可以繪制只有邊框沒有填充的矩形。如果想清除部分 canvas 可以使用 clearRect。上述三個方法的參數相同:x, y, width, height。前兩個參數設定 (x,y) 坐標,后兩個參數設置矩形的高度和寬度。
可以使用 lineWidth 屬性改變線條粗細。讓我們看看使用了fillRect,
strokeRect clearRect 和其他的例子:
context.fillStyle   = '#00f'; // blue
context.strokeStyle = '#f00'; // red
context.lineWidth   = 4;

// Draw some rectangles.
context.fillRect  (0,   0, 150, 50);
context.strokeRect(0,  60, 150, 50);
context.clearRect (30, 25,  90, 60);
context.strokeRect(30, 25,  90, 60);
此例子效果圖見圖1.

圖 1: fillRect, strokeRect 和
clearRect效果圖

路徑 通過 canvas 路徑(path)可以繪制任意形狀。可以先繪制輪廓,然后繪制邊框和填充。創建自定義形狀很簡單,使用 beginPath()開始繪制,然后使用直線、曲線和其他圖形繪制你的圖形。繪制完畢后調用 fill 和 stroke 即可添加填充或者設置邊框。調用 closePath() 結束自定義圖形繪制。
下面是一個繪制三角形的例子:
// Set the style properties.
context.fillStyle   = '#00f';
context.strokeStyle = '#f00';
context.lineWidth   = 4;

context.beginPath();
// Start from the top-left point.
context.moveTo(10, 10); // give the (x,y) coordinates
context.lineTo(100, 10);
context.lineTo(10, 100);
context.lineTo(10, 10);

// Done! Now fill the shape, 和 draw the stroke.
// Note: your shape will not be visible until you call any of the two methods.
context.fill();
context.stroke();
context.closePath();
其效果圖見圖2.

圖 2: 三角形
另一個較負責的例子中使用了直線、曲線和圓弧。

插入圖像 drawImage 方法允許在 canvas 中插入其他圖像
( img 和 canvas 元素) 。在 Opera 中可以再 canvas 中繪制 SVG 圖形。此方法比較復雜,可以有3個、5個或9個參數:
3個參數:最基本的 drawImage 使用方法。一個參數指定圖像位置,另兩個參數設置圖像在 canvas中的位置。 5個參數:中級的 drawImage 使用方法,包括上面所述3個參數,加兩個參數指明插入圖像寬度和高度 (如果你想改變圖像大小)。 9個參數:最復雜 drawImage 雜使用方法,包含上述5個參數外,另外4個參數設置源圖像中的位置和高度寬度。這些參數允許你在顯示圖像前動態裁剪源圖像。 下面是上述三個使用方法的例子:
// Three arguments: the element, destination (x,y) coordinates.
context.drawImage(img_elem, dx, dy);

// Five arguments: the element, destination (x,y) coordinates, and destination 
// width and height (if you want to resize the source image).
context.drawImage(img_elem, dx, dy, dw, dh);

// Nine arguments: the element, source (x,y) coordinates, source width and 
// height (for cropping), destination (x,y) coordinates, and destination width 
// and height (resize).
context.drawImage(img_elem, sx, sy, sw, sh, dx, dy, dw, dh);
其效果見圖3.

圖 3: drawImage 效果圖。

像素級操作 2D Context API 提供了三個方法用于像素級操作:createImageData, getImageData, 和
putImageData。
ImageData對象保存了圖像像素值。每個對象有三個屬性: width, height 和
data。data 屬性類型為CanvasPixelArray,用于儲存width*height*4個像素值。每一個像素有RGB值和透明度alpha值(其值為 0 至
255,包括alpha在內!)。像素的順序從左至右,從上到下,按行存儲。
為了更好的理解其原理,讓我們來看一個例子——繪制紅色矩形
// Create an ImageData object.
var imgd = context.createImageData(50,50);
var pix = imgd.data;

// Loop over each pixel 和 set a transparent red.
for (var i = 0; n = pix.length, i < n; i += 4) {
  pix[i  ] = 255; // red channel
  pix[i+3] = 127; // alpha channel
}

// Draw the ImageData object at the given (x,y) coordinates.
context.putImageData(imgd, 0,0);
注意: 不是所有瀏覽器都實現了 createImageData。在支持的瀏覽器中,需要通過 getImageData 方法獲取 ImageData 對象。請參考示例代碼。
通過 ImageData 可以完成很多功能。如可以實現圖像濾鏡,或可以實現數學可視化 (如分形和其他特效)。下面特效實現了簡單的顏色反轉濾鏡:
// Get the CanvasPixelArray from the given coordinates and dimensions.
var imgd = context.getImageData(x, y, width, height);
var pix = imgd.data;

// Loop over each pixel and invert the color.
for (var i = 0, n = pix.length; i < n; i += 4) {
  pix[i  ] = 255 - pix[i  ]; // red
  pix[i+1] = 255 - pix[i+1]; // green
  pix[i+2] = 255 - pix[i+2]; // blue
  // i+3 is alpha (the fourth element)
}

// Draw the ImageData at the given (x,y) coordinates.
context.putImageData(imgd, x, y);
圖 4 顯示了使用此濾鏡后的 Opera
圖像 (圖 3是原圖)。

圖 4: 顏色反轉濾鏡

文字 雖然最近的 WebKit 版本和 Firefox 3.1 nightly build 才開始支持 Text API ,為了保證文章完整性我決定仍在這里介紹文字 API 。
context 對象可以設置以下 text 屬性:
font:文字字體,同
font-family 屬性 屬性 textAlign:文字水平對齊方式。可取屬性值: start, end, left,
right, center。默認值:
start. textBaseline:文字豎直對齊方式。可取屬性值:top, hanging, middle,
alphabetic, ideographic, bottom。默認值:alphabetic. 有兩個方法可以繪制文字: fillText 和 strokeText。第一個繪制帶 fillStyle 填充的文字,后者繪制只有 strokeStyle 邊框的文字。兩者的參數相同:要繪制的文字和文字的位置(x,y) 坐標。還有一個可選選項——最大寬度。如果需要的話,瀏覽器會縮減文字以讓它適應指定寬度。
文字對齊屬性影響文字與設置的
(x,y) 坐標的相對位置。
下面是一個在 canvas 中繪制"hello world" 文字的例子
context.fillStyle    = '#00f';
context.font         = 'italic 30px sans-serif';
context.textBaseline = 'top';
context.fillText  ('Hello world!', 0, 0);
context.font         = 'bold 30px sans-serif';
context.strokeText('Hello world!', 0, 50);
圖 5 是其效果圖。

圖 5: 文字效果

陰影 目前只有 Konqueror 和 Firefox 3.1 nightly build 支持 Shadows API 。API 的屬性為:
shadowColor:陰影顏色。其值和 CSS 顏色值一致。 shadowBlur:設置陰影模糊程度。此值越大,陰影越模糊。其效果和 Photoshop 的高斯模糊濾鏡相同。 shadowOffsetX 和 shadowOffsetY:陰影的 x 和 y 偏移量,單位是像素。 下面是 canvas 陰影的例子:
context.shadowOffsetX = 5;
context.shadowOffsetY = 5;
context.shadowBlur    = 4;
context.shadowColor   = 'rgba(255, 0, 0, 0.5)';
context.fillStyle     = '#00f';
context.fillRect(20, 20, 150, 100);
其效果見圖 6。

圖 6: canvas 陰影效果——藍色矩形,紅色陰影

顏色漸變 除了 CSS 顏色, fillStyle 和 strokeStyle 屬性可以設置為 CanvasGradient 對象。——通過 CanvasGradient可以為線條和填充使用顏色漸變。
欲創建 CanvasGradient 對象,可以使用兩個方法:createLinearGradient 和 createRadialGradient。前者創建線性顏色漸變,后者創建圓形顏色漸變。
創建顏色漸變對象后,可以使用對象的 addColorStop 方法添加顏色中間值。
下面的代碼演示了顏色漸變使用方法:
// You need to provide the source 和 destination (x,y) coordinates 
// for the gradient (from where it starts 和 where it ends).
var gradient1 = context.createLinearGradient(sx, sy, dx, dy);

// Now you can add colors in your gradient.
// The first argument tells the position for the color in your gradient. The 
// accepted value range is from 0 (gradient start) to 1 (gradient end).
// The second argument tells the color you want, using the CSS color format.
gradient1.addColorStop(0,   '#f00'); // red
gradient1.addColorStop(0.5, '#ff0'); // yellow
gradient1.addColorStop(1,   '#00f'); // blue

// For the radial gradient you also need to provide source
// 和 destination circle radius.
// The (x,y) coordinates define the circle center points (start 和 
// destination).
var gradient2 = context.createRadialGradient(sx, sy, sr, dx, dy, dr);

// Adding colors to a radial gradient is the same as adding colors to linear 
// gradients.
我也準備了一個更復雜的例子,使用了線性顏色漸變、陰影和文字。其效果見圖 7。

圖 7: 使用線性顏色漸變的例子
canvas 演示 如果你想知道使用 Canvas可以做些什么,可以參看以下的工程:
Opera Widget: SimAquarium Artist's
Sketchbook Spirograph 在線工程和演示 Newton polynomial Canvascape - "3D Walker" Paint.Web - painting
demo, open-source Star-field
flight Interactive blob

小節 Canvas 是 HTML 5最讓人期待的特性之一,目前已獲得大部分 Web 瀏覽器支持。Canvas 可以幫助創建游戲、增強圖形用戶界面。2D context
API 提供大量圖形繪制功能——我希望通過本文你了解了 canvas 使用,并且你有興趣了解更多!

  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

HTML5中會被丟棄的元素和尚待解決的問題

HTML5中會被丟棄的元素和尚待解決的問題

http://www.inspirr.com

當前,HTML 5標準正迫近最后階段(或者如HTML委員會共同主席Same Ruby所稱的“第一次收官”),其中,細則有了很大的調整。

臨別贈言


走好,bb元素
除了知道它是一個可以將頁面保存為離線程序的按鈕,我對bb元素所知寥寥。考慮到可能被其他什么東西編碼或掩蓋,欺騙用戶去點擊,從而下載一些邪惡的玩意兒到他們的系統中,所以bb元素被取消了。

利用瀏覽器菜單中的選項,你可以實現同樣的功能。而這樣你是不會被耍弄的。

已經開始想念你了,datagrid

Datagrid是指一類交互的表格,類似電子表單。

它被取消是因為這一元素沒有達到標準,確切的說還沒有哪個瀏覽器實現了它(雖然在Adobe Flex和Dojo工具包中有被實現)。

很遺憾它不再可用,但希望在HTML 6中能再見面。

再見,article以及section中的cite屬性。

出于網站聯合的目的,cite屬性被用在在這兩個新元素中。這樣,當你從RSS源插入一篇文章,你可以把它包在article或者section標簽中,并使用cite屬性指向來源網站。

基于隱藏的元數據是錯誤以及邪惡的,除非組織的人需要它這一原則,pubdate屬性依然留在article和section元素中。Jeremy Keith建議把它作為用于time元素的一個布爾值屬性,我覺得這挺有趣的:

<header>
<h1>Lovely article</h1>
<time datetime="2009-08-18" pubdate>
Tuesday 18 August 2009 </time>
</header>

這樣,你依然可以提供一個發布時間(分析器只會關注每個article或者section元素的第一個pubdate屬性,但它是可見從而可愛的元數據)。

未解決的問題

TIME

time元素依然受制于不能被標記為太古老的時間,或者類似"December 1935"這樣“模糊”的時間。這使得它對于博物館或者歷史網站用處不大。對我來說,這是這個元素的大缺點,倒是沒有什么特別的理由。

SMALL

這個元素被重定義用于展示小字或其他的邊注。(小字一般用于描述免責聲明,說明,法規,或者版權聲明。小字有時還用于標識來源,或者滿足許可證要求)。

每個瀏覽器都支持包裹塊級元素的small元素,如果規范允許這樣做那會很有用(如果不能稱為意義重大)。
LEGEND
legend被設定為figure和details的子元素,雖然它在當前的任何瀏覽器中都不能展示。Remy Sharp和我曾建議重新設定header來取代legend或者最好創造出一個新元素。(詳見:錯誤報告, Remy的博客文章“拯救Figure和Detail”)

CONTENT 元素
你可以用新元素標記你網頁中的周邊事物,但你不能告訴輔助技術你的主要內容從哪開始。Anne van Kesteren正在打著創建一個content或者main元素的主意。

Politics
請繼續關注關于HTML 5混亂政策的概覽。

另外,如果你對HTML 5感興趣,請為我的South By Southwest HTML 5小組投票。

  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |

HTML5中的新事件

HTML5中的新事件

http://www.inspirr.com

HTML 元素可擁有事件屬性,這些屬性在瀏覽器中觸發行為,比如當用戶單擊一個 HTML 元素時啟動一段 JavaScript。下面列出的事件屬性,可以把它們插入 HTML 標簽來定義事件行為。
HTML 4.01 與 HTML 5 之間的差異 HTML 5 中的新事件:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload。
不再支持的 HTML 4.01 屬性:onreset。
屬性 屬性 值 描述 4 5 onabort 發生 abort 事件時運行腳本。 5 onbeforeonload 在元素加載前運行腳本。 5 onblur 當元素失去焦點時運行腳本。 4 5 onchange 當元素改變時運行腳本。 4 5 onclick 在鼠標點擊時允許腳本。 4 5 oncontextmenu 當菜單被觸發時運行腳本。 5 ondblclick 當鼠標雙擊時運行腳本。 4 5 ondrag 只要腳本在被拖動就允許腳本。 5 ondragend 在拖動操作結束時運行腳本。 5 ondragenter 當元素被拖動到一個合法的放置目標時,執行腳本。 5 ondragleave 當元素離開合法的放置目標時。 5 ondragover 只要元素正在合法的放置目標上拖動時,就執行腳本。 5 ondragstart 在拖動操作開始時執行腳本。 5 ondrop 當元素正在被拖動時執行腳本。 5 onerror 當元素加載的過程中出現錯誤時執行腳本。 5 onfocus 當元素獲得焦點時執行腳本。 4 5 onkeydown 當按鈕按下時執行腳本。 4 5 onkeypress 當按鍵被按下時執行腳本。 4 5 onkeyup 當按鈕松開時執行腳本。 4 5 onload 當文檔加載時執行腳本。 4 5 onmessage 當 message 事件觸發時執行腳本。 5 onmousedown 當鼠標按鈕按下時執行腳本。 4 5 onmousemove 當鼠標指針移動時執行腳本。 4 5 onmouseover 當鼠標指針移動到一個元素上時執行腳本。 4 5 onmouseout 當鼠標指針移出元素時執行腳本。 4 5 onmouseup 當鼠標按鈕松開時執行腳本。 4 5 onmousewheel 當鼠標滾輪滾動時執行腳本。 5 onreset 當表單重置時執行腳本。不支持。 4 onresize 當元素調整大小時運行腳本。 5 onscroll 當元素滾動條被滾動時執行腳本。 5 onselect 當元素被選中時執行腳本。 4 5 onsubmit 當表單提交時運行腳本。 4 5 onunload 當文檔卸載時運行腳本。 5
  Tag: 設計公司 | 網頁設計公司 | 廣告公司 | 網站設計 | 平面設計 | 互動媒體 | 網頁設計 | Web design | Website design | design house | 媒體公司 | Iphone app | 程式設計 | Flash 網頁 | Flash game | 動畫設計 | 後期製作 | 網上商店 | 網上宣傳 | 網頁服務 |