HTML5和CSS3的新特性


html5的新特性

  • 添加了用於媒介回放的 <video><audio> 元素
  • 添加了語義標簽譬如 headerfooternav 等等元素
  • 添加了用於繪畫的 canvas 元素和svg繪圖
  • 擴充了input的輸入類型,如下
輸入類型 描述
color 主要用於選取顏色
date 從一個日期選擇器選擇一個日期
datetime 選擇一個日期(UTC 時間)
datetime-local 選擇一個日期和時間 (無時區)
email 包含 e-mail 地址的輸入域
month 選擇一個月份
number 數值的輸入域
range 一定范圍內數字值的輸入域
search 用於搜索域
tel 定義輸入電話號碼字段
time 選擇一個時間
url URL 地址的輸入域
week 選擇周和年
  • 添加了地理位置定位功能Geolocation(地理定位)
window.navigator.geolocation {
    getCurrentPosition:  fn  用於獲取當前的位置數據
    watchPosition: fn  監視用戶位置的改變
    clearWatch: fn  清除定位監視
} 

下面是獲取用戶定位信息示例

navigator.geolocation.getCurrentPosition(
    function(pos){
    console.log('用戶定位數據獲取成功')
          //console.log(arguments);
          console.log('定位時間:',pos.timestamp)
          console.log('經度:',pos.coords.longitude)
          console.log('緯度:',pos.coords.latitude)
          console.log('海拔:',pos.coords.altitude)
          console.log('速度:',pos.coords.speed)
},    //定位成功的回調
function(err){ 
     console.log('用戶定位數據獲取失敗')
          //console.log(arguments);
}        //定位失敗的回調
)
  • 添加了web存儲功能,localStoragesessionStorage
  • 使用 HTML5,通過創建cache manifest文件,可以輕松地創建 web 應用的離線版本

manifest 文件可分為三個部分:
CACHE MANIFEST - 在此標題下列出的文件將在首次下載后進行緩存
NETWORK - 在此標題下列出的文件需要與服務器的連接,且不會被緩存
FALLBACK - 在此標題下列出的文件規定當頁面無法訪問時的回退頁面(比如 404 頁面

  • web worker

web worker是運行在后台的 JavaScript,獨立於其他腳本,不會影響頁面的性能。您可以繼續做任何願意做的事情:點擊、選取內容等等,而此時 web worker 在后台運行(相當於實現多線程並發)。

  • 服務端事件推送,所有主流瀏覽器均支持服務器發送事件,除了 Internet Explorer
    EventSource 對象用於接收服務器發送事件通知:
var source=newEventSource("demo_sse.php");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data +"<br>";
};

為了讓上面的例子可以運行,您還需要能夠發送數據更新的服務器(比如 PHP 和 ASP)。

header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}nn";
flush();
?>

CSS3的新特性

  • 媒體查詢

從 CSS 版本 2 開始,就可以通過媒體類型在 CSS 中獲得媒體支持。如果您曾經使用過打印樣式表,那么您可能已經使用過媒體類型。清單 1 展示了一個示例。

清單 1. 使用媒體類型

<linkrel="stylesheet"type="text/css"href="site.css"media="screen"/>
<linkrel="stylesheet"type="text/css"href="print.css"media="print"/>

清單 2. 媒體查詢規則

@media all and(min-width:800px){...}

@media all 是媒體類型,也就是說,將此 CSS 應用於所有媒體類型。
(min-width:800px) 是包含媒體查詢的表達式,如果瀏覽器的最小寬度為 800 像素,則會告訴瀏覽器只運用下列 CSS。

清單 3. and 條件

@media(min-width:800px)and(max-width:1200px)and(orientation:portrait){...}

清單 4. or 關鍵詞

@media(min-width:800px)or(orientation:portrait){...}

清單 5. 使用 not

@media(not min-width:800px){...}
  • 選擇器
  • transform,transition,translate,scale,skelw,rotate等相關動畫效果
屬性 描述 CSS
transition 簡寫屬性,用於在一個屬性中設置四個過渡屬性。 3
transition-property 規定應用過渡的 CSS 屬性的名稱。 3
transition-duration 定義過渡效果花費的時間。默認是 0。 3
transition-timing-function 規定過渡效果的時間曲線。默認是 "ease"。 3
transition-delay 規定過渡效果何時開始。默認是 0。 3
div
{
transition-property: width;
transition-duration:1s;
transition-timing-function: linear;
transition-delay:2s;
/* Safari */
-webkit-transition-property:width;
-webkit-transition-duration:1s;
-webkit-transition-timing-function:linear;
-webkit-transition-delay:2s;
}
  • box-shadow,text-shadow等特效
  • 添加了border-radius,border-image等屬性
屬性 說明 CSS
border-image 設置所有邊框圖像的速記屬性。 3
border-radius 一個用於設置所有四個邊框- *-半徑屬性的速記屬性 3
box-shadow 附加一個或多個下拉框的陰影 3
  • CSS3 @font-face 規則,可以引入任意的字體了

  • CSS3 @keyframes 規則,可以自己創建一些動畫等

  • 2D、3D轉換

  • CSS3 創建多列(column-count規定文本可以以幾列的方式布局)

  • CSS3 用戶界面(resize,box-sizing,outline-offset)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM