wap.css
一、总结
1、官方有教程:英语的 http://www.developershome.com/wap/wcss/
2、wap.css :就是控制页面在手机端样式的
3、DOCTYPE 声明:手机页面含有DOCTYPE 声明 自己的项目中的样例<!doctype html>
4、wap.css地位:只是css2的一个子集,是移动版本的CSS样式表
二、wap手机网页css(wap css)
wap手机网页css(wap css)
大部分手机现在都支持XHTML浏览器,这意味着我们只需在stylesheets的类型设置成“handheld”即
* {
position: static !important;
float: none !important;
}
因为现行的手机的屏幕限制,没有太多的空间去漂移,故提倡用静态布局和尽量少的用float(ucweb6.0目前还不支持float)
为了手机的流量,提倡尽量少用背景图
background: none !important;
另外,有背景色的白字在部分手机上也是不支持的,故少用此效果(ucweb6.0目前也不支持)
解决Pocket PC 2003的Pocket IE内自动缩小
Pocket IE到了Pocket PC 2003之后,读取页面的速度提升不少,终于到了实用阶段。新版的Pocket IE对于超过萤幕宽度的图形也会自动缩小,避免横向卷轴的出现。
自动缩图的功能很不错,但是却没有提供关闭的功能,造成原先在Pocket PC 2002上能够全萤幕显示的Flash影片(240×320),到了Pocket PC2003之后,自动会缩小。这个问题现在有解了,只要在html页面上加上〈meta name="MobileOptimized" content="240"〉就可以了。
XHTML MP 常用的 Meta 信息
你可以用 标签为你的 XHTML MP 文件指定一些常用的 meta 信息. 标签应当被包含在 标签之间. WAP 浏览器会忽略它不能理解的 meta 信息. 你可以在一个 XHTML MP 文件中指定任何种类的 meta 信息而不影响页面的显示效果.
例如, 你或许想在你的 XHTML MP 文件中加入作者的名字而不在屏幕上显示它.
〈meta name="author" content="linlin"/〉
XHTML MP 的缓存控制
标签的用途之一是控制缓存中一个 XHTML MP 文件的过期时间. 缓存是无线设备中的一些内存空间, 这些空间临时存储着从服务器上下载下来的 XHTML MP 文件. 如果 WAP 浏览器发现所请求的某个 XHTML MP 文件位于缓存中并且还没有过期, WAP 浏览器将显示缓存中的文件以最小化加载延迟. 如果你的 XHTML MP 页面有对时间敏感的内容, 如财务数据, 你或许想把过期时间设置为一个较小的值甚至为 0, 以不至于使用户稍后看到过期的 XHTML MP 页面. 下面的 XHTML MP 例子展示了如何用 标签将一个 XHTML MP 页面的过期日期设置为 0.
〈meta http-equiv="Cache-Control" content="no-cache"/〉
或者是〈meta http-equiv="Cache-Control" content="max-age=0"/〉
将一个 XHTML MP 文件的过期日期设置为 300 秒
〈meta http-equiv="Cache-Control" content="max-age=300"/〉
XHTML MP 中的间歇性刷新
在 XHTML MP 中, HTTP 刷新可用于通知 WAP 浏览器间歇性刷新当前页. 对于提供实时信息的移动互联网浏览应用来说, 这是一个非常有用的功能. 在下面的 XHTML MP 代码中, 页面每 15 秒钟自动被刷新一次. 要注意的是这个 XHTML MP 例子中需要 . 如果上述代码没被包含, WAP 浏览器将仅仅显示缓存中的文档的复本, 而不需要每次刷新都连接服务器.
〈meta http-equiv="Cache-Control" content="no-cache"/〉
〈meta http-equiv="refresh" content="15"/〉
HTTP 刷新可用于通知 WAP 浏览器在一定时间后去另一个 URL. 你可以利用此特征把用户重定向到另一个 XHTML MP 页面或者创建一个幻灯片,如下例子15 秒钟后把用户重定向到 "hello_world_example1.xhtml".
〈meta http-equiv="refresh" content="15;URL=hello_world_example1.xhtml"/〉
但注意, 某些 WAP 浏览器是不支持 HTTP 刷新的.
例外,几个有用的meta信息
〈meta id="viewport" name="viewport" content="width=240; user-scalable=0;" /〉
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8" /〉
〈meta name="MobileOptimized" content="240" /〉
viewport的meta标签
网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放。
〈meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"〉
其中:
width - viewport的宽度 height - viewport的高度
initial-scale - 初始的缩放比例
minimum-scale - 允许用户缩放到的最小比例
maximum-scale - 允许用户缩放到的最大比例
user-scalable - 用户是否可以手动缩放
wap2.0手机网页的语言 XHTML MP 文档的典型结构
〈?xml version="1.0"?〉
〈!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"〉
〈html xmlns="http://www.w3.org/1999/xhtml"〉
〈head〉
〈title>第一个手机页面例子〈/title〉
〈/head〉
〈body〉
〈p〉你好. 欢迎来第一个手机页面例子.〈/p〉
〈/body〉
〈/html〉
XHTML MP 以序言 (prolog) 开头, 该序言中含有 XML 声明和 DOCTYPE 声明.
该序言组件并非 XHTML MP 的元素, 因此不应该把它关闭, 也就是, 你不应该给它们加结束标签或用 /〉 结束它们.
文档的其余部分, 除了 HTML 中的 〈html〉 标签不应该有 xmlns 属性外, 与普通的 HTML 文档相同.
XHTML MP 必须包含 〈html〉,〈head〉, 〈title〉, 和 〈body〉 元素.
XML 声明与字符编码格式:
所有 XHTML MP 都是 XML 文档. 因此, 文档的开始总会有 XML 声明. XML 声明指定了文档的 XML 版本. 文档的字符编码也可以在这里指定, 像这样:
〈?xml version="1.0" encoding="UTF-8"?〉
上面一行表述了 XHTML MP 文档的 XML 版本为 1.0, 字符编码格式为 UTF-8. 如果 XHTML MP 文档的编码格式为 UTF-8 或 UTF-16, encoding 属性可以省略.
在XHTML MP 中, XML 声明并非必需的组件. 然而, 如果 XML 声明被省略的话, 将会导致一些 WAP 浏览器出问题. 例如, 一些 Sony Ericsson 的 WAP 浏览器, 当接收到的 MIME 类型为 text/html 时, 会利用 XML 声明来区分 XHTML MP 和 IHTML (一个 NTT DoCoMo 定义的有专利的标记语言) 文档: 如果文档包含 XML 声明, 它就是一个 XHTML MP 文档, 否则它就是一个 IHTML 文档.
DOCTYPE 声明:
所有 XHTML MP 文档都必须有 DOCTYPE 声明. 该声明应该放在 XML 声明与 元素之间. 下面是 XHTML MP 的 DOCTYPE 声明. 你可以直接将其复制并粘贴到你的 XHTML MP 中.
〈!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"〉
DOCTYPE 指定了 DTD (文档类型定义) 的名字 和链接到 DTD 的 URL. DTD 包含了关于标记语言的语法信息. 它定义了什么元素和属性可以在标记中使用和使用它们的规则. 验证工具, 通过把你的 XHTML MP 文档与 DOCTYPE 声明中指定的 DTD 进行比较, 可用于检查你的 XHTML MP 文档是否遵守了 XHTML MP 语言的规则. 一些 IDE 集成了类似的审核工具.
〈body〉 元素:
〈body〉 元素用于实际内容的容器. 一个 XHTML MP 文件只能包含一个 〈body〉 元素, 文本不可直接被包含在 〈body〉〈/body〉 标签对中. 例如, 下面的标记代码在 XHTML MP 中是不正确的:
〈body〉 你好. 〈/body〉
要纠正上面的 XHTML MP 标记代码, 文档 body 中的文本必须被包含在其它元素, 如段落 (〈p〉〈/p〉), 列表 (〈ul〉〈li〉〈/li〉〈/ul〉 或 〈ol〉〈li〉〈/li〉〈/ol〉), 标题 (〈h1〉〈/h1〉, 〈h2〉〈/h2〉...), 等等, 之间. 下面的标记代码在 XHTML MP 中是正确的:
〈body〉〈p〉你好.〈/p〉〈/body〉
# 手机网页编码需要遵循什么规范?
遵循XHTML Mobile Profile规范,简称为XHTML MP,也就是通常说的WAP2.0规范。 XHTMLMP 是为不支持XHTML的全部特性且资源有限的客户端所设计的。它以XHTML Basic为基础,加入了一些来自XHTML 1.0的元素和属性。这些内容包括一些其他元素和对内部样式表的支持。和XHTML Basic相同,XHTML MP是严格的XHTML 1.0子集。
# 网页文档推荐使用扩展名?
推荐命名为xhtml,按WAP2.0的规范标准写成html/htm等也是可以的。但少数手机对html支持的不好。
# 为什么现今大多数的网站一行字数上限为14个中文字符?
由于手持设备的特殊性,其页面中实际文字大小未必是我们在CSS中设定的文字大小,尤其是在第三方浏览器中。例如Nokia5310,其内置浏览器页面内 文字大小与CSS设定相符,但是第三方浏览器OperaMini与UCWEB页面内文字大小却大于CSS设定。经测试,其文本大概在16px左右。假如屏 幕分辨率宽度为240px,去除外边距,那么其一行显示14个字以内,是比较保险(避免文本换行)的做法。
# 使用WCSS还是CSS?
WCSS (WAP Cascading Style Sheet 或称 WAP CSS)是移动版本的CSS样式表。它是CSS2的一个子集,去掉了一些不适于移动互联网特性的属性,并加入一些具有WAP特性的扩展(如-wap- input-format/-wap-input-required/display:-wap-marquee等)。需要留意的是,这些特殊的属性扩展 并不是很实用,所以在实际的项目开发当中,不推荐使用WCSS特有的属性。
# 避免空值属性
如果属性值为空,在web页面中是完全没有问题的,但是在大部分手机网页上会报错。
# 网页大小限制
建议低版本页面不超过15k,高版本页面不超过60k。
三、官网教程
WAP CSS/WCSS Tutorial - Learn Cascading Style Sheets for WAP Sites with the Help of Examples
http://www.developershome.com/wap/wcss/