前端筆記知識點整合之HTML5&CSS3(上)新特性&音頻視頻&本地存儲

来源:https://www.cnblogs.com/rope/archive/2019/04/05/10658526.html
-Advertisement-
Play Games

一、HTML5簡介 HTML 5 的第一份正式草案已於2008年1月22日公佈。HTML5 仍處於完善之中。然而,大部分現代瀏覽器已經具備了某些 HTML5 支持。 2014年10月29日,萬維網聯盟宣佈,經過幾乎8年的艱辛努力,HTML5標準規範終於最終制定完成了,並已公開發佈。 HTML5不僅僅 ...


一、HTML5簡介

HTML 5 的第一份正式草案已於2008122日公佈。HTML5 仍處於完善之中。然而,大部分現代瀏覽器已經具備了某些 HTML5 支持。

20141029日,萬維網聯盟宣佈,經過幾乎8年的艱辛努力,HTML5標準規範終於最終制定完成了,並已公開發佈。

HTML5不僅僅是超文本標記語言的新版本,而是一整套瀏覽器新API的綜合

 

新的語義標簽。我們知道HTML就是超文本標記語言,負責描述的是文檔的語義、結構。HTML5中,提供了非常多的新的標簽,<header><section><footer><nav><aside><article><address>等等。豐富了表單元素。

新的本地存儲。HTML如果想往客戶端存儲東西(不是伺服器),只能通過cookieHTML5中提供了一個新的API,叫做本地存儲,可以讓瀏覽器輕鬆的在客戶端本地存儲數據。

 

  設備相容特性。HTML5提供了移動設置的所有相容的API方案,瀏覽器獲得攝像頭、陀螺儀、蜂鳴器等等的權利。對於PC瀏覽器,還加上了全屏API和拖放API

 

連接特性。HTTP是無連接的,你的瀏覽器和伺服器之間沒有長久鏈接,HTML5中提出了web socket特性,可以讓瀏覽器和伺服器實時鏈接!比如製作聯機對戰的俄羅斯方塊。

 

新的音頻、視頻。曾幾何時,Flash一統網頁中的音視頻,此時HTML5提出了新的videoaudio標簽。可以讓網頁輕鬆的,不通過安裝任何插件(比如不用安裝Adobe Flash Player)網頁播放視頻、音頻。

 

新的畫布和svg:製作網頁的banner、游戲,可以不用Flash了!現在有了Canvas!我們要用canvas製作手機游戲,比如開心愛消除、Flappy Bird

 

性能與集成特性:比如XMLHTTPRequest對象出了2代版本,我們可以獲得進度的APIHTML現在提供了網頁性能的API,能夠檢測HTTP請求的擁堵、序列等等。

 

新的樣式表:CSS3來了!炫酷爆了!

 

HTML5不是HTML的新版本,而是包含HTMLCSSJavaScript、瀏覽器的一整套API

所以HTML5簡稱為H5有道理!不用刻意強調是HTML,因為HTML就是一個超文本標記語言,除了描述語義,什麼都沒有!但是你看見沒有HTML5乾到了HTTP


 

1.1相容性如何?

HTML5的相容程度到底怎麼樣了呢?

相容性測試:www.webqianduan.cn/css3test/

 

 

 Chrome

 

 Firefox

 

IE 11

 

 IE9

 

IE8

 

HTML5的實現,特別依賴瀏覽器!所以現在PC端大家都在審慎使用HTML5,但是在移動端,HTML5已經火爆全球!!!整個微信中充斥HTML5小頁面!婚禮請柬、炫酷頁面。

華為P9iPhone中的測試:

 

量化評分網站:http://html5test.comHTML5一共555個新特性,每個小點算一個,不分權重。

 

特性相容性查詢網站https://caniuse.com/HTML5所有特性(包括CSS3新屬性,選擇器)都能夠進行查詢,可以精確的告訴你什麼瀏覽器相容,什麼不相容。

 

統計研究院:

http://tongji.baidu.com/  

http://tongji.baidu.com/data/ 

 


二、HTML5骨架和語法改變

2.1HTML5新骨架

<!DOCTYPE html>  →DTD極大簡化DTD的書寫
<html>
<head>
    <meta charset="UTF-8" />   →字元集設置
    <title>Document</title>
</head>
<body>

</body>
</html>

 這個DTD是IE67不支持,IE8開始支持。

 <!DOCTYPE html>

 

 IE8開始支持,如果為了更大用戶相容,還要寫以前的寫法

 <meta charset="UTF-8" />

 


 

2.2HTML5新的語言規定

1HTML5中,屬性的引號可以省略(除了有很多屬性的)

  <div title=你好 id=box  class="box1 box2"></div>

2HTML5中標簽不分大小寫

 <DiV>標簽不分大小寫</dIv>

3HTML5中,自封閉標簽可以省略“/”關閉符號

 <img src="" alt="" >

 <input type="" name="">

 <br>

4HTML5中,type類型可以不寫

 <style></style>

 <link rel="stylesheet" href="">

 <script></script>

XHTML系列,在HTML5誕生之後就停止維護了,在HTML5中規範都放寬了標準,但是IE678對上面的支持不好。

作為老一代前端工程師,我們要保持風骨,在HTML5中也要以XHTML1.0的規範嚴格要求自己。

 


三、HTML5新增語義化標簽

3.1新佈局標簽

傳統佈局風格:

<div class="header"></div>
<div class="nav"></div>
<div class="main"></div>
<div class="footer"></div>

 

HTML5推出了新的大綱標簽,都是雙標簽,都有div的性質,塊級元素,是容器 

以下是HTML5新的佈局標簽:

<header></header>   頭部的語義
<footer></footer>   尾部的意義
<nav></nav>         導航語義
<main></main>       主體內容
<article></article> 文章語義
<section></section> 區域語義,代替div
<aside></aside>     側邊語義

 

上面這些標簽,都是塊級元素,沒有任何預設樣式,容器級標簽,可以包裹任何東西,在語義上都比div大,它們能包裹div,但是div不能包裹它們。

新的提綱標簽,IE9開始相容,IE8還是不能用這些標簽,移動端中可以嗷嗷用,因為手機沒有IE

 

<header class="header">
    <h1 class="logo"></h1>
    <section class="right">
    </section>
</header>
<nav>
    <ul>
        <li>導航</li>
        <li>導航</li>
        <li>導航</li>
        <li>導航</li>
    </ul>
</nav>
<section class="content">
    <aside>側邊欄</aside>
    <main>
        <article>
            <header><h2>文章標題</h2></header>
            <section>
                文章內容
            </section>
        </article>
    </main>
</section>
<footer>
    底部
</footer>

 


3.2新的小語義標簽

之前XHTML1.0中語義標簽只有:puloldltable等,HTML5極大豐富了語義標簽

 

● 地址Address

 <address>廣州市天河區棠東東路御富科貿園D108 點擊查看百度地圖</address>

 

縮寫詞語義 abbr

 <p>咱們出去玩的時候,記得帶有<abbr title="GPS是英文Global Positioning System(全球定位系統)">GPS</abbr>的手機哈!</p>

 

引用語義 cite

 <p>程式員一般不會老年痴呆,因為程式員都死得早,沒有老年。<cite>中科院社會調查局2017年報告</cite></p>

 

 

程式語義:code

<code>
    for(var i = 0;i < 100;i++){
        if(i % 2 == 0){
            while(){
                console.log()
            }
        }
    }
</code>

 

● 數據和數據標題,figurefigcaption

數據就是數據圖片、表格。其實普通圖片也可以稱為數據。

<figure>定義媒介內容的分組,以及它們的標題

<figcaption>定義 figure 元素的標題。

<figure>
    <img src="images/1.jpg" >
    <figcaption>這個是我最喜歡的明星,但是有人了</figcaption>
</figure>

 

<details> 標簽用於描述文檔或文檔某個部分的細節。

<summary> 標簽 配合使用可以為 details 定義標題。標題是可見的,用戶點擊標題時會顯示出 details

open 屬性規定 details 是可見的。

<details open="open">
    <summary>中南海</summary>
    <address>北京市西城區南長街81號</address>
    <img src="img/znh.jpg" alt="">
</details>

 

對話框語義 dialog

規定 dialog 元素是活動的,用戶可與之交互。

<dialog open>
    <p>您好</p>
    <p>我很好</p>
</dialog>

 

保留格式語義 pre

沒有空白摺疊現象了

<pre>
    for(var i = 0 ; i < 100 ; i ++){
        if(i % 2 == 0){
            while(true){

            }
        }
    }
</pre>

 

定義語義dfn

 <p><dfn>什麼是浮雲</dfn>一般暗指游子,浮雲游子意,落日故人情。</p>

 

 

鍵盤按鍵語義 kbd

定義鍵盤文本。它表示文本是從鍵盤上鍵入的。它經常用在與電腦相關的文檔或手冊中

 p>QQ中,截圖的快捷鍵 是<kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>A</kbd></p>

 

 

高亮語義 mark

<mark> 標簽定義帶有記號的文本突出顯示

<p>明天天氣很熱,註意<mark>保暖</mark></p>

 

 

引用語義 q

 <p>我們學生必須<q>好好學習,天天向上</q></p>

瀏覽器在引用的周圍插入了引號

 

註釋語義,拼音語義:ruby rprt

<ruby>定義 ruby 註釋。

<rt>定義 ruby 註釋的解釋。

<rp>定義若瀏覽器不支持 ruby 元素顯示的內容(可選)

<ruby><rp>(</rp><rt>hàn</rt><rp>)</rp><rp>(</rp><rt></rt><rp>)</rp>
</ruby>

 

定義樣本文本 samp

<p>
    有錢人基本長得醜 <samp>馬雲</samp>
    不過張的醜的不一定是有錢人<samp></samp>
</p>

 

小號文本 small

 <p>極品雷事利驅使,淡定繼續做<small>獵奴</small></p>

 

 

時間 time

 <p>每天<time datetime="201741417:22:22">9點整</time>上課</p>

 

●變數語義 var

 <p>二元一次方程:<var>x</var> = <var>y</var>+ 2</p>

 

 

換行機會 wbr

 <p>On the second Friday of term Anthony Bevan, whom all his world called "Bruiser Bevan," House<wbr>master of "B. House" in Hamchester College, sat at dessert with three of his prefects.</p>

 

菜單語義 menu

<menu type="context">
    <menuitem>西紅柿炒番茄</menuitem>
    <menuitem>土豆炒馬鈴薯</menuitem>
    <menuitem>番薯煮地瓜</menuitem>
</menu>

 

<meter>標簽定義已知範圍或分數值內的標量測量。也被稱為尺度

帶有當前值以及 minmaxhighlow 屬性的測量範圍:

<h1>顯示度量:</h1>
<p>張三的分數:<meter min="0" low="40" high="90" max="100" value="95"></meter></p>
<p>李四的成績:<meter min="0" low="40" high="90" max="100" value="65"></meter></p>
<p>王五的成績:<meter min="0" low="40" high="90" max="100" value="35"></meter></p>

 

<progress>標簽標示任務的進度(進程)

請結合 <progress> 標簽與 JavaScript 使用,來顯示任務的進度。

 下載進度:<progress value="22" max="100"></progress>

 

●模版存放盒子  template

<template>
    <p><%p%></p>
    <span><%sp%></span>
</template>

就是<script type="text/template"></script>瀏覽器自動給這個標簽隱藏:

 


3.3選項列表分組標簽

<select>
    <optgroup label="明星">
        <option>張學友</option>
        <option>劉德華</option>
        <option>黎明</option>
        <option>郭富城</option>
    </optgroup>
    <optgroup label="汽車">
        <option>奧拓</option>
        <option>比亞迪</option>
        <option>眾泰</option>
    </optgroup>
</select>

四、HTML5新表單元素

4.1HTML5表單輸入類型

 

類型

說明

type="email"

限制用戶輸入必須為Email格式

type="url"

限制用戶輸入必須為網址格式

type="date"

限制類型為日期

type="time"

限制類型為時間

type="month"

限制類型為月份

type="week"

限制類型為星期

type="number"

限制用戶輸入必須為數字

type="range"

滑動條表單,value滑動條的值,min=’0’ max=’100’屬性限制範圍

type="color"

顏色選擇表單 value的值必須為完整的16進位 value="#ffffff"

type="datetime-local"

本地時間

type="search"

搜索

 

以上大部分表單元素類型,在手機瀏覽器顯示效果都不一樣,在觸摸屏鍵盤顯示效果也不一樣。


4.2 HTML5表單屬性

autofocus屬性

autofocus 屬性規定在頁面載入時,域自動地獲得焦點。

註釋:autofocus 屬性適用於所有 <input> 標簽的類型。

 <input type="text" autofocus>

 

required屬性

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

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

實例:

 <input type="text" required>

 

placeholder屬性

placeholder 屬性提供一種提示,描述輸入域所期待的值。

註釋:placeholder 屬性適用於以下類型的 <input> 標簽:text, search, url, telephone, email 以及 password

提示文本會在輸入域為空時顯示出現,會在輸入域獲得焦點時消失:

 <input type="text" placeholder="請輸入內容">

autocomplete 屬性

autocomplete 屬性規定 form input 域應該擁有自動完成功能。

註釋:適用於 <form> 標簽,以及以下類型的 <input> 標簽:text, search, url, telephone, email, password, datepickers, range 以及 color

當用戶在自動完成域中開始輸入時,瀏覽器應該在該域中顯示填寫的選項:

<form action="http://www.baidu.com" autocomplete="on">
    <p><input type="text" name="user1" ></p>
    <p><input type="text" name="user2" ></p>
    <p><	   

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

-Advertisement-
Play Games
更多相關文章
  • 本文主要講解Andriod開發中Sqlite的簡單應用(增刪改查),僅供學習分享使用 ...
  • 一、CSS3選擇器 CSS3是CSS的第三代版本,新增了很多功能,例如:強大的選擇器、盒模型、圓角、漸變、動畫、2D/3D轉換、文字特效等。 CSS3和HTML5沒有任何關係!HTML5骨架中,可以用CSS2.1也可以用CSS3。XHTML骨架中可以用CSS3的樣式。 在學習CSS之前都是學習選擇器 ...
  • 4 流程式控制制 4.1 順序結構 順序結構是程式中最簡單、最基本的流程式控制制,他沒有特定的語法結構,程式會按照代碼的先後順序執行,程式中大多數的代碼都是這樣執行的; 4.2 分支結構 if 分支結構 註意:if 適用於範圍判斷; 執行程式是按照從上到下依次執行; 單分支 if ( 條件表達式 ) { / ...
  • 簡介: 倒計時秒殺組件在電商網站中層出不窮 不過思路萬變不離其蹤,我自己根據其他資料設計了一個vue版的 核心思路:1、時間不能是本地客戶端的時間 必須是伺服器的時間這裡用一個settimeout代替 以為時間必須統一 2、開始時間,結束時間通過父組件傳入,當伺服器時間在這個開始時間和結束時間的範圍 ...
  • 不要慌!下麵開始幫你找到,很簡單! ...
  • emmmmm.....標題我就覺得起的很變態。閑話不多說,先說出現的背景吧~~。 因為業務上的需求,跟一個硬體對接,要做大屏展示大廳客流熱力圖分佈(背景圖是客戶那邊給的)。然後這個機子傳過來的數據就可能20來條。如果用最新的echarts4來做,但是數據太小不足以畫出圖來,但是如果數據太大傳輸也是一 ...
  • "官方文檔" 前言 所謂視頻上傳,是指開發者或其用戶將視頻文件上傳到點播的視頻存儲中,以便進行視頻處理、分發等。 一、簡介 騰訊雲點播支持如下幾種視頻上傳方式: 1. 控制臺上傳:在點播控制臺上進行操作,將本地視頻上傳到雲點播,適用於直接管理少量視頻的場景,具有方便快捷、無技術門檻的優點; 2. 服 ...
  • 數組方法: 1、Array.join([param]) 方法:將數組中所有的元素都轉換為字元串並連接起來,通過字元 param 連接,預設使用逗號,返回最後生成的字元串 2、Array.reverse() 方法:將數組中的元素顛倒順序(在原數組中重新排列它們),返回逆序數組 3、Array.sort ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...