## 一、H5 標簽
有時候不太確定某個 Web API 與瀏覽器、手機瀏覽器能否兼容?`CanIUse(https://www.caniuse.com)`讓你輕松測試 Web API 與瀏覽器的兼容情況。

對于不支持 H5 的瀏覽器,可以引入`html5shiv.js`來達到兼容的效果。
## 二、CSS3

對于某些瀏覽器支持`CSS3`,但是需要添加瀏覽器前綴。同時也可以使用`modernizr.js`來對不支持的瀏覽器做兼容處理。
```
<header>header</header>
<footer>footer</footer>
```
```
.flexbox header {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: center;
-ms-align-items: center;
align-items: center;
}
.no-flexbox header {
text-align: center;
line-height: 50px;
}
```
```
<script src="js/modernizr.js"></script>
```
## 三、JS
在 Web 應用中,實現動畫效果的方法比較多,Javascript 中可以通過定時器 setTimeout 來實現,css3 可以使用?transition 和 animation 來實現,html5 中的 canvas 也可以實現。除此之外,html5 還提供一個專門用于請求動畫的 API,那就是 requestAnimationFrame,顧名思義就是**請求動畫幀。**
```
// 判斷requestAnimationFrame是否可用
if (window.requestAnimationFrame) {
// ...
}
// 或者
var requestAnimationFrame = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function (fn) {
setTimeout(fn, 20)
};
```
- 第一章:移動開發入門
- 第一節:概述
- 第二節:基礎概念
- 第一課時:像素
- 第二課時:視口
- 第二章:Flex 布局
- 第一節:概述
- 第二節:容器屬性
- 第一課時:flex-direction 屬性
- 第二課時:flex-wrap 屬性
- 第三課時:flex-flow 屬性
- 第四課時:justify-content 屬性
- 第五課時:align-items 屬性
- 第六課時:align-content 屬性
- 第三節:項目屬性
- 第一課時:order 屬性
- 第二課時:flex-grow 屬性
- 第三課時:flex-shrink 屬性
- 第四課時:flex-basis 屬性
- 第五課時:flex 屬性
- 第六課時:align-self 屬性
- 第四節:Flex 實例
- 第一課時:常見頁面布局
- 第三章:響應式布局
- 第一節:概述
- 第二節:媒體查詢
- 第一課時:概述
- 第二課時:響應式設計
- 第三節:柵格系統
- 第一課時:概述
- 第二課時:案例分析
- 第三課時:Bootstrap 簡介
- 第四節:響應式案例
- 第一課時:三星首頁
- 第四章:移動端適配
- 第五章:移動端事件
- 第一節:概述
- 第二節:touch 事件
- 第三節:觸摸事件對象
- 第四節:其他事件
- 第五節:移動端幻燈片
- 第六章:移動端常見問題
- 第一節:瀏覽器兼容性
- 第二節:移動端動畫
- 第三節:300ms 延遲
- 第四節:文字溢出省略
- 第五節:水平居中和垂直居中
- 第七章:項目案例
- 第一節:美團外賣
- 第一課時:首頁
- 第二課時:訂單頁面
- 第三課時:我的頁面
- 第四課時:詳情頁面
- 第五課時:購物車頁