初識 HTML5(一)

来源:http://www.cnblogs.com/DF-fzh/archive/2016/06/13/5582456.html
-Advertisement-
Play Games

H5其實就是H4的一個增強版本,我們在利用H5進行網頁的構造會更簡便,標簽語義更簡潔明瞭。首先,我們要理解HTML4,它是HTML的標記+css2+JavaScript的一些基本應用,簡言之,就是API+語法;而H5無非就是在原先的基礎上面提供了一些新的功能。 1、H5的語義標簽 1):html 的 ...


  H5其實就是H4的一個增強版本,我們在利用H5進行網頁的構造會更簡便,標簽語義更簡潔明瞭。首先,我們要理解HTML4,它是HTML的標記+css2+JavaScript的一些基本應用,簡言之,就是API+語法;而H5無非就是在原先的基礎上面提供了一些新的功能。

1、H5的語義標簽   1):html 的定義 ,它的一個文檔聲明 <!DOCTYPE html>    語法跟html4 差不多,w3c 提供了一個網站可以用來檢測html 的語法.    https://validator.w3.org/   2)html 的語義標簽,多了很多新的語義標簽. 這些標簽用起來跟div 和span 差不多。
 1 <nav> 表示導航
 2 <header> 表示頁眉
 3 <footer> 表示頁腳
 4 <section> 表示區塊
 5 <article> 表示文章 如文章、評論、帖子、博客
 6 <aside> 表示側邊欄 如文章的側欄
 7 <figure> 表示媒介內容分組 與 ul > li 做個比較
 8 <!--以上是常用到的-->
 9 <mark> 表示標記 (帶用“UI”,不怎麼用)
10 <progress> 表示進度 (帶用“UI”,不怎麼用)
11 <time> 表示日期
12 <hgroup> 標題列表 (據說已廢棄)
13 <details>
14 <bdi>
15 <command>
16 <summary>
17 <rp>
18 <rt>
19 <ruby>
20 <!--儘量避免全局使用header、footer、aside等語義標簽。-->

  3)相容處理

    ①在不支持HTML5新標簽的瀏覽器里,會將這些新的標簽解析成行內元素(inline)對待,將其轉換成塊元素(block)即可;     ②在IE9版本以下,並不能正常解析這些新標簽,但是可以識別通過document.creatElement('tagName')創建的自定義標簽     ③實際開發中,我們採用的是通過檢測IE瀏覽器的版本來載入三方的一個JS庫來解決相容問題。
<!-- [if lte IE 8]>
    <script src="./js/html5shiv.min.js"></script>
<![endif]-->

【註意】<footer></footer> 這個是html5 裡面的標記,相當於div,只不過有語義;然後放在ie6 裡面,它會把這個footer 這個不認識的標記當做行內元素來處理;所以我們就需要屏蔽相容性,這個時候我們就需要導入一個js 庫。

 html5shiv.min.js

  2、表單

——form 是用來聲明表單. input 是用來表示表單項,type 是用來控製表單項的類型.(html5 在表單上面進行一些增強)

1)輸入類型(表單類型、表單元素、表單屬性、表單事件)

 1 <input type="text" />
 2 email    輸入email格式
 3 tel    手機號碼
 4 url    只能輸入url格式
 5 number    只能輸入數字
 6 search    搜索框
 7 range    範圍
 8 color    拾色器
 9 time    時間
10 date    日期 不是絕對的
11 datetime    時間日期
12 month    月份
13 week    星期

部分類型是針對移動設備生效的,且具有一定的相容性,在實際應用當中可選擇性的使用

2)新增了一些標簽

       ① 數據列表:  <datalist></datalist>

        ②用來做安全的表單提交數據傳輸的安全:<keygen></keygen>

        ③用來做度量: <meter></meter>

        ④想表單裡面輸出,沒什麼作用:<outputer><outputer>

3)新增了一些屬性:

1 placeholder 占位符
2 autofocus 獲取焦點
3 multiple 文件上傳多選或多個郵箱地址
4 autocomplete 自動完成,用於表單元素,也可用於表單自身
5 form 指定表單項屬於哪個form,處理複雜表單時會需要
6 novalidate 關閉驗證,可用於<form>標簽
7 required 驗證條件,必填項
8 pattern 正則表達式 驗證表單
9 手機號:<input type="tel" name="tel" required="required"       pattern="^(\+86)?1[3,5,8](\d{9})$">

【PS】我們用新增的這些屬性,可以來完成我們之前要使用js 才能實現的效果.

4)表單裡面的事件

    ①監聽文本框的數據的輸入: oninput 事件

    ②當驗證不通過的時候觸發: oninvalid

   ③進度這個標記,我們使用 progress

 

3、多媒體

  1)早之前我們做網頁播放器

        ①我們是通過js 去調用windows 裡面自帶的一個播放器  media player  操作系統捆綁的

        ②adobe 的這樣的一個flash ,基本上面每個用戶電腦上面都會安裝.

        ③後期我們出現了一個東西,每個電腦上面都可以裝一個快播,js 調用快播.

【javascript 裡面的內容】  javascript 分為三部分:

            ①ECMAScript

                (定義了js 的語法,變數,語句)

            ②BOM 瀏覽器對象模型

                (我們可以通過瀏覽器的自帶的一些對象,可以調出瀏覽器的功能.)

            ③Dom  文檔對象模型

            我首先有一個html 文件,我通過瀏覽器去打開這個html 文件;瀏覽器會去解析這個html 文件,把這個文件解析之後放在一個document 對象裡面; 我以後要操作html 裡面的內容,我就直接操作document 就可以

1       //(操作dom 就是熟練dom   的api)
2         //    (操作dom 的前期,要操作dom 必須先得到dom)
3              document.getElementById("");
4              document.getElementsByTagName("");

2) html5 可以提供一些標簽來完成播放.

        我們做這種音頻文件,以及視頻文件,最麻煩地方就是解碼【音頻文件,以及視頻文件,都有格式,各種各樣的格式】

        1:假設你網站的視頻資源是自己產生的

        2:假設網站的資源是用戶上傳上去的,我們需要在用戶上傳的時候對這個資源進行轉碼.

【H5中】這個h5 在這個的基礎上面進行了擴展,提供了一些更加強大的方法.
//根據class 的值去獲取
             document.getElementByClassName("")
// 這個裡面支持css 裡面的選擇器
//這裡返回的是第一個元素..
             document.querySelector(".username")
//獲取的所有的,返回的是一個集合.
             document.querySelectorAll(".username>li");

【表單的總結】我現在有一個表單,定義屬性,什麼時候id ,什麼是時候使用name,什麼時候使用class

   ① 我為一個元素加id 的目的,為了js 方便去獲取這個元素

   ②name :如果我要跟伺服器進行交互,伺服器到時候要獲取客戶端表單提交的數據.它是根據name 的值去獲取   

<input type="text" name="username" value="zhangsan">
// username=zhangsan

 ③class 一般,如果我要通過樣式去批量控制元素,我就為元素添加class 屬性.

    我們以後做案例:第一步,我要把頁面的基本佈局畫好(html,css)

                                  第二步:分析功能,根據功能找到對應的事件

                                  第三步:事件出來了,方法就出來了

【ps】我看要完成什麼功能,一般情況下我們都是操作dom; 獲取dom,操作dom (api 操作.);即使調試,一個案例,都是調出來的

【小結】  html5 概念:就是在html4 上面的一個增強版本。在 標簽,css,js 上面的一個增強。

 標簽:出現了一些新的比較具有顛覆性的標記.

       1:html5 的聲明

       2:語義標簽(大家當做div ,或者span 來理解就可以.)

       3:相容性處理,需要導入一個js 庫.

       4:表單,我們傳統的表單,難以完成比較複雜的頁面應用

            4.1:新增了一些類型 type=""

            4.2: 新增了一些標簽  datalist

            4.3: 新增了屬性  (文檔)

            4.4:事件  oninput

          小案例:學生檔案,案例.

多媒體處理:

        audio  針對mp3 音頻

        video   針對視頻的

 解碼;做客戶端不用處理.

dom 的處理

        新增了一些api ,來讓我們去獲取頁面上面的內容.

        document.getElementByTagName

        document.querySelector();

        document.querySelectorAll();

        新增了屬性操作:

         document.getElementById("").classList.add();

         document.getElementById("").classList.remove();

         document.getElementById("").classList.toggle();

         document.getElementById("").classList.contains();

        自定義屬性:

          我可以為元素自定義屬性 我們是在元素上面加  data-itcast-name="";

          遵守駝峰命名法則

          tabs 選項卡切換.(就是屬性api )

 

4、CSS3 與 JS 的區別

1)css:出現了css3,支持3d 效果.

   js:定位(直接在網站裡面可以嵌入地圖.),重力感應

2)css3 肯定可以使頁面的顯示更加的豐富效果

  javascript 新增了一些api,定位(百度地圖),重力感應  js 的一些對象

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • __proto__屬性很特殊,它提供了Object.getPrototypeOf方法所不具備的額外能力,即修改對象原型鏈接的能力。 避免修改__proto__屬性的最明顯的原因是可移植性的問題。並不是所有的平臺都支持修改對象原型的特性,所以無法編寫可移植的代碼。 避免修改__proto__屬性的另一 ...
  • 前幾天,舍友去某互聯網公司面前端研發工程師。回來後,他就跟我們聊了下麵試官給他出的題。其中,有一道題是“如何實現iframe高度的自適應?”。好吧,我承認,我聽到iframe這個詞的第一反應就是:這個東西性能差、搜索引擎不友好等等。由於這樣的偏見,還真沒有好好研究一下iframe。其實,iframe ...
  • every():對數組每一項都遍歷,然後每一項都符合要求的話則返回true,否則就返回false some():對數組每一項都遍歷,其中有一項符合要求則返回true,否則返回false filter():對數組的每一項都遍歷,返回其中要求的元素組成的數組 map():對數組每一項都遍歷並且運行給定的 ...
  • 之前的項目一直採用grunt來構建,然後用requirejs做模塊化,requirejs官方有提供grunt的插件來做壓縮合併。現在的項目切到了gulp,模塊化用起了seajs,自然而然地也想到了模塊合併壓縮的問題。然後一開始在解決這個問題的時候,並不是很順利,在npm上並沒有那種特別流行的專門用來... ...
  • 將近20年前,Javascript誕生的時候,只是一種簡單的網頁腳本語言。如果你忘了填寫用戶名,它就跳出一個警告。 如今,它變得幾乎無所不能,從前端到後端,有著各種匪夷所思的用途。程式員用它完成越來越龐大的項目。 Javascript代碼的複雜度也直線上升。單個網頁包含10000行Javascrip ...
  • 無論是提示框還是導航欄都能看到如上圖所示的帶有箭頭的框框,這種箭頭可以通過背景圖片或者是css來實現,本文介紹三種通過css實現帶箭頭的提示框。 通過border屬性思路:兩個三角形,通過定位使兩個三角形相差1px作為邊框。 CSS3 transfrom思路:先做一個兩條邊相同顏色的正方形,然後旋轉 ...
  • jQuery 3.0 在6月9日正式發佈了,3.0 也被稱為下一代的 jQuery 。這個版本從14年10月開始,其中發佈過一次beta 版(2016/1/14,)和候選版(2016/05/20)。一路走來,頗為不易。 文章目錄 一、Data淺析 jQuery 3.0 中的 Data 是內部使用的, ...
  • 1.什麼是HTML標記語言? HTML是表示網頁信息的符號標記語言。 2.HTML的標記和他的屬性 3.語法不區分字母大小寫 <HTML>、<Html>、<html>都是定義相同的標記,但是在編寫網頁的使用儘量使用小寫。 4.文檔註釋 註釋一段內容時使用"<!--"開始,以"-->"結束。 例如: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...