標籤: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 功能挺好, 與select下拉有一拼
新的 form 屬性:
新的 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 教程