CSSer课堂

我们是师徒六人组,以Design, CSS, JS, web标准化为爱好。

Archive for the "Web Standard" Category


WML2.0经验交流之开发利器

手机浏览器的页面适配是个挑剔的活,需要适配的手机浏览器千奇百怪.所以,我们必须精细的对待页面代码,只有这样才能让我们的页面顺利的被浏览器所解析并正常显示.

这里便引出一个页面书写基本要求:
1.单个标签必须闭合
2.成对标签必须闭合
3.成对标签不允许无内容出现
4.嵌套规则必须遵循

而需要做到以上几点,对于在书写页面以及调试过程中,便需要借助一些验证插件来调试我们所写的页面,那谁谁说:”科学技术是第一生产力”.我得瑟下”懂得借助工具可以提升生产力”.不废话,推荐的页面调试及组合:
Fire Fox① +WMLbrowser② + HTML VALIDATOR③ + Fire Bug④
1) Fire Fox不用介绍了
2) WMLbrowser 用来使用Fire Fox浏览wml格式手机网页
3) HTML Validator 主要用来验证页面标签,网址 http://users.skynet.be/mgueury/mozilla/
4) Fire Bug 这个工具很强大.具体查看http://getfirebug.com/

以上浏览器以及三个组件便是网页调试的组合利器.点击下载wml20_Development-weapon.DOC

Tags: , ,

WML2.0确保通行的CSS验证标准

细节决定成本,确实,你不服,就是不行!

手机测试页面时候遇到非常刁难的问题,然后百思不得其解,去使用CSS验证了下。
如图:
wmlcss

验证结果发现,使用手机网页格式的DTD声明,不支持定义【a:hover】,从而导致异常错误。

提示:你可以先修改部分代码再运行。

得出一个结论:

  1. DTD声明是有用的
  2. CSS应根据DTD声明类型去验证(必须的)
  3. 手机字体大小建议使用相对字体(否则页面适配很麻烦)
  4. 手机网页最好内嵌style(不要使用外链)
  5. 结合HTML Validator对页面进行验证,见WML2.0经验交流之开发利器

解释:UTF-8编码下导致的空行问题

文章来源:UTF-8空行产生的原因

UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记。
如果多个文件设置了签名,在二进制流中就会包含多个UTF-8签名,而IE是无法识别多个UTF-8签名的,所以用一个空行来代替,在某些程序处理中还会出现一个类似“诺”的字符。

在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是 FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little- Endian的。

因此字符[ZERO WIDTH NO-BREAK SPACE]又被称作BOM。
详情: W3C官方关于这个问题的说明

解决方法:
去掉UTF-8文件的签名,EditPlus和Dreamweaver中均有相应的选项。

以EditPlus为例:
进入 Tools->Preferences->Files,在UTF-8 signature选项中选择“Always remove signature”,重新保存文件即可。

如果模板采用包含的方法包含多个utf8文件需要用ultraedit保存时另存为功能,选择utf8 无bom格式保存即可。

另外,如果中文页面在html head标记中将title标记放在前面会导致页面空白。
所以utf8页面应该使用标准顺序