HTML 5 教程

來源:互聯網
上載者:User

標籤:html_   介紹   ssi   input   時間   技術   radio   使用者   document   

HTML5 是下一代的 HTML。有必要再過一遍。看下要點。

具體看  http://www.w3school.com.cn/html5/index.asp    教程

和  HTML5 標籤參考手冊

 

學習記錄:

--------------------------

HTML5 中的一些有趣的新特性:

  • 用於繪畫的 canvas 元素
  • 用於媒介回放的 video 和 audio 元素
  • 對本地離線儲存的更好的支援
  • 新的特殊內容元素,比如 article、footer、header、nav、section
  • 新的表單控制項,比如 calendar、date、time、email、url、search
瀏覽器支援

最新版本的 Safari、Chrome、Firefox 以及 Opera 支援某些 HTML5 特性。Internet Explorer 9 將支援某些 HTML5 特性。

 

視頻  video

音頻  audio 

---------------------------

頁面內容可拖放 , 具體解釋  http://www.w3school.com.cn/html5/html_5_draganddrop.asp

大致是,設定內容可拖動:draggable 屬性為true ;

拖動什麼: 

function drag(ev){ev.dataTransfer.setData("Text",ev.target.id);}
-----------

放到何處:

如果需要設定允許放置,我們必須阻止對元素的預設處理方式。 這要通過調用 ondragover 事件的 event.preventDefault() ;

---------

進行放置:

ondrop 屬性調用了一個函數,drop(event):

function drop(ev){ev.preventDefault();var data=ev.dataTransfer.getData("Text");ev.target.appendChild(document.getElementById(data));}
代碼解釋:
  • 調用 preventDefault() 來避免瀏覽器對資料的預設處理(drop 事件的預設行為是以連結形式開啟)
  • 通過 dataTransfer.getData("Text") 方法獲得被拖的資料。該方法將返回在 setData() 方法中設定為相同類型的任何資料。
  • 被拖資料是被拖元素的 id ("drag1")
  • 把被拖元素追加到放置元素(目標元素)中

 --------------------

什麼是 Canvas?

HTML5 的 canvas 元素使用 JavaScript 在網頁上繪製映像。

a. 向 HTML5 頁面添加 canvas 元素。

b. canvas 元素本身是沒有繪圖能力的。所有的繪製工作必須在 JavaScript 內部完成:

<script type="text/javascript">var c=document.getElementById("myCanvas");var cxt=c.getContext("2d");cxt.fillStyle="#FF0000";cxt.fillRect(0,0,150,75);</script>
----------------
cxt.moveTo(10,10);
cxt.lineTo(150,50);cxt.lineTo(10,50);cxt.stroke();
---------
cxt.beginPath();cxt.arc(70,18,15,0,Math.PI*2,true);cxt.closePath();cxt.fill();
--------
畫圖的,挺有勁,效果有點了。

 

HTML5 支援內嵌 SVG。

什麼是SVG?
  • SVG 指可伸縮向量圖形 (Scalable Vector Graphics)
  • SVG 用於定義用於網路的基於向量的圖形
  • SVG 使用 XML 格式定義圖形
  • SVG 映像在放大或改變尺寸的情況下其圖形品質不會有損失
  • SVG 是全球資訊網同盟標準
SVG 的優勢

與其他映像格式相比(比如 JPEG 和 GIF),使用 SVG 的優勢在於:

  • SVG 映像可通過文字編輯器來建立和修改
  • SVG 映像可被搜尋、索引、指令碼化或壓縮
  • SVG 是可伸縮的
  • SVG 映像可在任何的解析度下被高品質地列印
  • SVG 可在映像品質不下降的情況下被放大

 

樣本沒看明白,   canvas 和 svg 如要用還需要找對應的教程再詳細看和入門。

Canvas 與 SVG 的比較

下表列出了 canvas 與 SVG 之間的一些不同之處。

Canvas
  • 依賴解析度
  • 不支援事件處理器
  • 弱的文本渲染能力
  • 能夠以 .png 或 .jpg 格式儲存結果映像
  • 最適合映像密集型的遊戲,其中的許多個物件會被頻繁重繪
SVG
  • 不依賴解析度
  • 支援事件處理器
  • 最適合帶有大型渲染地區的應用程式(比如Google地圖)
  • 複雜度高會減慢渲染速度(任何過度使用 DOM 的應用都不快)
  • 不適合遊戲應用

 

地理位置,看調用實際能用的地圖,國內如 baidu地圖 高德地圖 qq地圖

----------

HTML 5 Web 儲存在用戶端儲存資料

HTML5 提供了兩種在用戶端儲存資料的新方法:

  • localStorage - 沒有時間限制的資料存放區
  • sessionStorage - 針對一個 session 的資料存放區

sessionStorage 方法針對一個 session 進行資料存放區。當使用者關閉瀏覽器視窗後,資料會被刪除。

 

HTML 5 應用程式緩衝Cache Manifest 基礎

如需啟用應用程式緩衝,請在文檔的 <html> 標籤中包含 manifest 屬性:

<!DOCTYPE HTML><html manifest="demo.appcache">...</html>

每個指定了 manifest 的頁面在使用者對其訪問時都會被緩衝。如果未指定 manifest 屬性,則頁面不會被緩衝(除非在 manifest 檔案中直接指定了該頁面)。

manifest 檔案的建議的副檔名是:".appcache"。

請注意,manifest 檔案需要配置正確的 MIME-type,即 "text/cache-manifest"。必須在 網頁伺服器上進行配置。

【這塊具體再看,目前還沒接觸,實際開發中有不少和資料有關的業務,有時還強行去掉緩衝功能】

HTML 5 Web Workers

web worker 是運行在背景 JavaScript,不會影響頁面的效能。

目前還沒接觸過

 

HTML 5 伺服器發送事件PHP 代碼 (demo_sse.php):
<?phpheader(‘Content-Type: text/event-stream‘);header(‘Cache-Control: no-cache‘);$time = date(‘r‘);echo "data: The server time is: {$time}\n\n";flush();?>

代碼解釋:

  • 把前序 "Content-Type" 設定為 "text/event-stream"
  • 規定不對頁面進行緩衝
  • 輸出發送日期(始終以 "data: " 開頭)
  • 向網頁重新整理輸出資料

未試過, 不知和 websocket 實現有多大的差異, 邏輯上看著類似,後台推資料,前端收到作處理。

-------------

HTML5 新的 Input 類型

HTML5 擁有多個新的表單輸入類型。這些新特性提供了更好的輸入控制和驗證。

本章全面介紹這些新的輸入類型:

  • email
  • url
  • number
  • range
  • Date pickers (date, month, week, time, datetime, datetime-local)
  • search
  • color

具體一些實際的校正,還是用正則判斷下, number 的屬性有點坑(盡量不用)

HTML5 的新的表單元素:

HTML5 擁有若干涉及表單的元素和屬性。

本章介紹以下新的表單元素:

  • datalist
  • keygen
  • output

裡面的 datalist 功能挺好, 與select下拉有一拼

 

新的 form 屬性:
  • autocomplete
  • novalidate
新的 input 屬性:
  • autocomplete
  • autofocus
  • form
  • form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
  • height 和 width
  • list
  • min, max 和 step
  • multiple
  • pattern (regexp)
  • placeholder
  • required

這個 multiple  多選挺好

multiple 屬性

multiple 屬性規定輸入欄位中可選擇多個值。

注釋:multiple 屬性適用於以下類型的 <input> 標籤:email 和 file。

執行個體
Select images: <input type="file" name="img" multiple="multiple" />

pattern 屬性

pattern 屬性規定用於驗證 input 域的模式(pattern)。

模式(pattern) 是Regex。您可以在我們的 JavaScript 教程中學習到有關Regex的內容。

注釋:pattern 屬性適用於以下類型的 <input> 標籤:text, search, url, telephone, email 以及 password。

下面的例子顯示了一個只能包含三個字母的文本域(不含數字及特殊字元):

執行個體
Country code: <input type="text" name="country_code"pattern="[A-z]{3}" title="Three letter country code" />
placeholder 屬性

placeholder 屬性提供一種提示(hint),描述輸入欄位所期待的值。

 

required 屬性

required 屬性規定必須在提交之前填寫輸入欄位(不可為空)。

注釋:required 屬性適用於以下類型的 <input> 標籤:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

 

最後可以來下測試      現在就開始測驗!    祝您好運。

HTML 5 教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.