目前,有各類各樣的方法能夠提升網站應用程序的移動體驗。在某些狀況下,咱們只想在小規格上作一些微小的風格變化;另外一些狀況下,咱們可能徹底改變外觀顯示或者一些視圖的內容;最極端的狀況下,咱們可能從新建立一個專門針對移動用戶的 Web 應用程序。針對這些狀況,MVC 4 提供了以下幾種方案:html
MVC 4 默認模板在移動瀏覽器中作了不少處理,顯而易見,頁面智能的根據移動設備屏幕尺寸進行縮放,而不是簡單的縮小頁面尺寸(收縮文本和其餘元素),爲了能在移動設備上使用,頁面進行了重繪。頁面利用的是兩個廣泛支持的瀏覽器功能:jquery
Viewport 元標記:瀏覽器
基於瀏覽器嗅探或用戶選擇,Viewport 標記只在那些專門爲小規格設計的頁面中使用。這種狀況下,咱們按以下方式使用 Viewport 標記:mvc
<meta name="viewport" content="width=320" /> // 不適用於大尺寸頁面app
一個更好的解決方案是把咱們的 CSS 擴展到各類規模,而後告訴瀏覽器支持任意設備!這很容易實現:asp.net
<meta name="viewport" content="width=device-width" />性能
CSS 媒體查詢的自適應樣式:學習
咱們已經告訴瀏覽器頁面足夠智能,能夠自動縮放到當前設備的屏幕尺寸。但如何兌現這一承諾呢?答案是 CSS 媒體查詢。CSS 媒體查詢容許咱們在特定的媒體(顯示)功能指定 CSS 規則,CSS 規則進行自上而下的評估,咱們能夠在 CSS 文件的頂部應用通常的規則,用專門在 CSS 中進行小規格顯示的規則進行重寫,而且媒體查詢環繞這些規則,以使它們不能在大規格顯示的瀏覽器中使用。測試
列舉一個很是簡單的示例,當寬度大於 850px 的屏幕上顯示時,背景是藍色,不然紅色。CSS 以下:優化
body {
background-color: blue;
}
@media only screen and (max-width:850px) {
body {
background-color: red;
}
}
MVC 4 中的視圖邏輯已經改變,添加了基於約定的替代視圖。當瀏覽器用戶代理顯示是一個已知的移動設備時,默認的視圖引擎首先查找名稱以 .Mobile.cshtml 結尾的視圖。例如,桌面瀏覽器請求主頁時,應用程序使用 Views\Home\Index.cshtml 模板,而當移動瀏覽器請求主頁時,程序就會使用 Views\Home\Index.Mobile.cshtml 模板。這些都由約定來處理,咱們沒必要配置或註冊。
(這裏不方便測試就不貼圖了,有興趣的朋友能夠下載移動瀏覽器模擬器來啓動項目自行測試)
若是須要建立只針對移動瀏覽器使用的應用程序,可使用 Mobile Site 模板來建立新應用程序。該模版爲咱們建立的網站預先配置使用 JQuery Mobile 庫,這個庫爲移動 Web 應用程序提供了大量加強功能:
Mobile Project 模板能夠開發強大的 JQuery Mobile ASP.NET MVC 應用程序,但這須要深刻了解 JQuery Mobile。能夠參考一些學習資料: