移动网站开发标记语言(取其精华版)
精选自原文:移动网站开发——标记语言
一般来说,对于移动网站可以采取两种方式:
- 专门开发一个独立的移动版本
- 使用media type和media query控制网站在移动浏览器的表现
本文和下一篇文章将介绍第一种方案
基于XHTML
XHTML Basic为针对移动网站的标记语言提供基础的模块。与其基础的XML一样,它也被设计用于扩展。而XHTML Mobile Profile(XHTML MP)——它在XHTML Basic的基础上添加了一些在它们之前的版本中有的特性。之后不久W3C就发布了XHTML 1.1版本,吸收了在XHTML MP中加入的一些特性。所以现在看来这两个版本差不多是一样的。这里我们选择XHTML Basic,因为它是W3C推荐的…..
开始使用XHTML Basic
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang=="en"> <head> <title>Hello Mobile</title> </head> <body> </body> </html>
是的,只是加了个 XML 的头声明,然后使用 xhtml basic 的 DTD。
XHTML Basic 支持的模块
模块 | 元素/属性 |
---|---|
结构 | html, head, title, body |
文字 | abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var |
链接 | a |
列表 | dl, dt, dd, ol, ul, li |
表单 | button, fieldset, form, input, label, legend, select, optgroup, option, textarea |
表格 | caption, table, td, th, tr |
图片 | img |
对象 | object, param |
表现 | b, big, hr, i, small, sub, sup, tt |
元信息 | meta |
链接 | link |
base | base |
事件 | onblur, onfocus, onload, onunload, onreset, onsubmit, onchange |
脚本 | script, noscript |
样式 | 支持style元素 |
样式属性 | 支持style属性 |
目标 | 支持target属性 |
不支持的内容:
- 不支持外部CSS文件
- 不支持嵌套table;
- 不支持thead、tbody、tfood等;
- 不支持name属性;
- 不支持框架;
- 不支持del、ins、basefont、center、dir、font、isindex、menu、sstricke、u等元素。
注意事项:
- 对事件的支持依赖具体的浏览器支持,有些浏览器不一定支持这些事件;
- webkit支持更多的事件
- opera mini由于是基于自己的代理服务器,有些事件是不支持的,详见:JavaScript support in Opera Mini 4
XHTML MP
XHTML MP是对XHTML Basic的一个扩展,所以XHTML MP有更好的适用性。而XHTML MP对于Basic最大的优势就是支持外部样式文件——虽然这会导致多一个HTTP请求。
这里是一份关于XHTML MP和XHTML basic的对比表。
PS:事实上,WAP 2.0也就是XHTML MP,也就是说,WAP 2.0与WAP 1.0关系不大。
兼容性与现状
- 根据W3C的统计,现在绝大部分手机都支持WAP 2.0了,使用WAP 1.0的设备已经非常的少了;
- 根据观察,绝大多数网站的移动版本,都是采用XHTML MP规范;
- 大部分网站使用内联样式表,而不是外部样式文件;
- 非常多的Mobile版本页面采用table布局;
- Opera mini可以在所有支持java的手机上使用,而Opera mini支持全部的(X)HTML特性。
所以,如果你想要开发一个移动版的网站,可以放心的使用XHTML Basic 1.1 /MP。
HTML5
Mobile Webkit是目前对标准支持最好的移动浏览器,它支持所有的XHTML特性,同时对HTML5的支持也非常棒。如果你的项目只针对iPhone 和(或) Android,完全可以使用HTML 5来编码。
事实上作为又一个很强劲的趋势,HTML 5众望所归要成为下一代的网页标准,Google、apple、opera和微软等互联网巨头一直在努力推广和推进HTML 5。opera认为HTML 5是统一移动互联网的关键。