設計手機版網頁,不是等比例縮小就好

转自:http://www.techbang.com/posts/3928-moving-a-label-is-working-on-mobile-version-of-website

用手機上網正夯,但是有些網站會無法正常顯示,因為這些網頁是設計給電腦上觀看,如果網頁開發者沒有考慮到手機的裝置特性以及人們的閱讀習慣,就無法設計出手機上方便閱讀的網頁。說的簡單,但是要把既有網頁砍掉重練、再移植到手機上是一門大工程, 筆者歸類四大方向給網頁開發人員參考。

 

▲供手機瀏覽的網頁可不只是「把版面縮小就好」那麼簡單,瀏覽器版本跟CSS語法也有大不同。

一、與電腦共用同一套網頁

這裡的與電腦共用網頁,指的是電腦用的網頁完全不經修改、就直接給手機瀏覽。前提是網站本身的元素要夠簡單、版面不能太複雜。

二、製作手機專用網頁

這個做法在90年代非常盛行,當時電信業者的GPRS/WAP廣告打得正火熱,手機能瀏覽的網站都是WAP網站,也就是用WML編寫的手機網,WML是很簡陋的HTML,內容通常只有文字跟選單。

▲用這個方法的好處是,WAP可以在所有的手機上正常顯示,不過要同時維護手機版和桌面版的網頁會很困難,使得資訊常常無法同步。

三、用瀏覽器來判斷裝置

Opera有桌面版和手機版,同樣的Chrome、Safari、Firefox也是。有的網站會使用瀏覽器嗅探機制(browsersniffing)來判斷你是用哪一種、什麼裝置的瀏覽器,不過browsersniffing的設定很繁瑣,而且經常出差錯。最快的方法是在網頁上加入各種版本的連結,讓瀏覽者可以自由選擇格式。

四、開發複合型網站

複合版網站就是能同時給桌面和手機使用的網站,它跟剛談到的「與電腦共用」並不一樣,複合版網站雖然內容相同,但是它會根據螢幕大小來呈現版面。要做複雜合型網站其實並不難,只要用CSS與HTML標籤來調整就行,比如HTML的viewport以及CSS的media queries。

何謂viewport

Viewport指的是「畫面視圖」,它是一堆數值的組合,白話一點的解釋就是你可以在畫面上看到的範圍,可以分成顯示畫面視圖(display viewport)以及實際畫面視圖(actual viewport)二種。對於電腦瀏覽器來說,viewport比較不重要,因為顯示畫面視圖跟實際畫面視圖是一樣的。

如果我們在CSS裡寫width=200px,表示在顯示器上這個物件寬200px,但在手機上卻不是。CSS規範中鼓勵製造商可以自行決定硬體像素要對應到多少顯示像素,比如手機業者可能因為螢幕比較小,會把比例設定成1:0.5,所以手機畫面會比實際畫面小了一半。

怎麼調整呢?只要在HTML的語法中嵌入<meta name=”viewport” content=”width=device-width”>,把actual viewport的值給visual viewport,這樣網頁就可以完整放入手機的小螢幕。至於CSS的部分,Opera在今年的W3C CSS會議中提出了要把viewport標籤加入CSS。如果最後順利通過,以後viewport就可以直接在CSS語法裡設定。

▲左圖是我們所看到的visual viewport,也就是顯示畫面視圖,右圖則是actual viewport。這兩張圖解釋了為什麼我們在手機上看的網站只有一小部分,因為網頁以為手機的螢幕跟電腦的一樣大。

▲讓actual viewport的數值等於visual viewport,就可以讓完整的網頁植入手機。

何謂media queries

Media queries是CSS3的新功能,它整合了media type和max min-width/max min-height media type這兩個屬性,可以在不同的裝置下顯示不同的CSS版面。比如給screen的版面是一般的顯示畫面,給print的就是印表機的輸出格式。

以印表機為例,如果我們不想印出網站的選單列,可以在media type下選擇不同的CSS呈現方式。

以下的範例裡頭有兩種CSS media queries的顯示版面,它們是根據螢幕的大小來提供顯示內容,當寬度小於480px,網頁版面就會改變,比如sidebar會移到畫面下方而不是跟著主畫面浮在左邊(float: left)。閱動動向同時也會改變成由上到下,比較適合手機的垂直式閱讀,免得讀者還要吃力地在小螢幕上左右移動。

@media all and (min-width: 480px) and (max-width: 800px) {
        #container {width: auto; max-width: 800px;}
        #main {width: 70%; float: left;}
        #sidebar {width: 30%; float: left; margin-bottom: 10px;}
        #pub {width: 30%; margin-left: 70%; float: none;} } @media all and (min-width: 400px) and (max-width: 480px) {
        #container {width: auto; max-width: 480px;}
        #main, #sidebar, #pub {width: 100%; float: none;}
        h1 {position: absolute; top: 0; height: 30px; width: 100%;}
        #sidebar {position: absolute; top: 40px; height: 40px;}
        #sidebar p {display: none;}
        #sidebar ul {padding: 0; margin-top: 10px; overflow: hidden;}
        #sidebar ul li {display: inline; font-size: 15px;}
        #main {position: absolute; top: 80px;}
        #pub, #footer {display: none;}
}

▲這張圖使用Opera Mobile Emulator來顯示viewport的兩個Media queries,它們是按照寬度來改變CSS的呈現。

转载于:https://www.cnblogs.com/vivianlai/archive/2012/04/16/2451293.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值