您当前位置: 主页 / Dog 博客 / 存档

移动 CSS 成为现实

2004年6月15日,星期二 (格林威治标准时间下午5:18)

移动 CSS 支持测试的响应非常热烈——感谢所有提供帮助的人。希望我不是唯一一个觉得这些结果有帮助的人。

总的来说,我认为结果是令人鼓舞的。看起来 `handheld` 媒体类型(支持程度远超我的预期)有足够的支撑,可以像打印一样使用特定于媒体的样式表。随着移动市场的规模和技术能力的增长,这似乎是至少值得考虑(真的有人怀疑移动互联网在未来会扮演重要角色吗?)甚至是已经在实践的事情(未来已来!)。

那些支持 `screen` 媒体类型的设备(该类型用于大屏幕——台式机或笔记本电脑显示器)会带来问题,但这些设备似乎越来越少,而且根据我的了解,随着新机型不断淘汰这种错误的表现,它们正迅速成为过去。

就我个人而言,我并不太在意那些根本不支持 CSS 的设备——结构良好的 HTML 默认应该能够很好地呈现,并且内容相当易于访问。再说,对此也无能为力。而且,我真心认为这种缺乏支持的情况不会持续太久。是的,HTML 浏览是一个很好的第一步,但还有很多正在飞速进步的...

来自微软和 Opera 的尖端 PDA 浏览器(我可能低估了后者的人气)正在进入手机领域,并且随着事态的发展,全面的移动 CSS 已经成为现实。它已经出现在一些流行的设备上,随着技术的进步和成本的降低,我看不出其他出路,只会朝着支持 CSS 的方向发展。

因此,从实际角度来看,一个移动特定样式表确实是一个可行的选择,但您需要考虑到,目前,看似相当一部分的移动浏览器份额(Pocket IE)也应用了本应特定于“screen”媒体类型的样式。这意味着您无法区分 `screen` 和 `handheld`(如果您认为仅使用 `screen` 样式表就可以隐藏这些设备上的样式,那就大错特错了),您必须考虑到层叠性,并覆盖您不希望出现在手持设备设计中的任何屏幕特定样式。

就像桌面网络一样,用户已经开始要求更多,并期望更好的功能。小屏幕设计在表格和间隔 GIF 方面存在明显的实际问题,并且非常适合 Web 标准和 CSS。设备制造商正在意识到这一点,现在是网页设计师跟上并利用这个蓬勃发展的市场的时候了。

评论

评论1

我在我的索尼爱立信 T230 上尝试了您的测试,结果让我有些惊讶——所有项目都列为未应用。

根据我在 SE 的开发者页面上找到的规格,在我刚购买手机时,它应该能够愉快地理解 XHTML 和 CSS。但是,据我所知,它需要 `` 头部才能将其识别为 xhtml。如果 xml-prolog 不存在,我相信它会尝试将页面渲染为一种名为 iHTML 的东西,这很像一种简化的老式标签汤。

它应该理解的特定 XHTML 版本是 XHTML Mobile Profile,它是 XHTML Basic 的一个稍加增强的版本。

Ole Hansen 于 2004 年 6 月 15 日星期二下午 6:28 GMT 如是说。

评论2

我再问一次这个问题,因为我真的很想知道。手机是否支持 XHTML?即“application/xhtml+xml”,即解析错误?

还是它们只渲染“text/html”,因此只渲染无效的 HTML(当您使用 XHTML 语法时)?

Anne 于 2004 年 6 月 15 日星期二下午 7:10 GMT 如是说。

评论3

Anne - 我认为 Opera 浏览器会支持该 MIME 类型。我认为大多数其他浏览器不会。我对此没有任何证据,但总的来说,我认为可以肯定地说,由于在各种支持方面存在巨大差异,有些会支持,有些则不会。

虽然这是首选,但只要您不声明 XHTML1.1,“text/html”仍然是 XHTML 的有效 MIME 类型。

Patrick 于 2004 年 6 月 15 日星期二下午 7:15 GMT 如是说。

评论4

我的 SE T230 接受 application/xhtml+xml,但会忽略一个小型测试文档(没有 CSS)中的解析错误。这是损坏页面的源代码,我尝试了

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title>Testing</title>
</head>
<body>
<p>This page should be served as application/xhtml+xml
</body>
</html>

Ole Hansen 于 2004 年 6 月 15 日星期二下午 10:24 GMT 如是说。

评论5

干得好,伙计。下一步,做一个 CSS 支持图表,看看各种手机支持哪些规则。周二之前送到我桌上 :-)

Andy Budd 于 2004 年 6 月 16 日星期三上午 10:14 GMT 如是说。

评论6

干得好。那么,如何为手持设备和手机设计呢?

Bill Creswell 于 2004 年 6 月 16 日星期三上午 11:40 GMT 如是说。

评论7

Patrick,信息很棒。我同意 Andy 的观点:我们能否将结果以某种图表的形式发布在这个网站上?很高兴能继续添加手机及其支持情况!

GeeBee 于 2004 年 6 月 16 日星期三晚上 9:16 GMT 如是说。

评论8

是的,我同意这是一个好主意。只是需要找到时间(我现在有太多啤酒和足球比赛要看)。

至于让它在 Budd 先生的桌子上,周二之前……嗯……当然……19 号星期二?11 月?2005 年?

Patrick 于 2004 年 6 月 16 日星期三晚上 9:53 GMT 如是说。

评论9

诺基亚自己的 XHTML 浏览器在许多手机中都能读取 screen 和 handheld CSS,所以如果您使用 display:none 技术来提供移动特定内容,您最终会得到一个空白页面。将诺基亚 XHTML 手机指向 http://pukupi.com/big/ 即可看到我的意思。

还有 DoCoMo 的 FOMA (3G) 手机...

移动浏览器对 Web 标准的支持简直是糟糕透顶!

Kyle Barrow 于 2004 年 6 月 18 日星期五凌晨 4:55 GMT 如是说。

评论10

虽然我非常看好这项调查所预示的可能性,但我认为有些事情需要指出。
涉及的人群几乎全是网络专业人士——而且是标准倡导者。那些通过原始帖子和 WSG 列表响应您呼吁的人,是那种认为自己在购买手机时拥有最新最好浏览器是责任的人。这些人很可能在购买时也研究过这一点。
这绝不是为了贬低这件事,恰恰相反;但如果我们能将这项测试扩展到现实世界就好了……

Andrew Krespanis 于 2004 年 6 月 18 日星期五上午 9:57 GMT 如是说。

评论11

Andrew - 我同意。在某种程度上。

我认为,例如,选择在他们的设备上安装 Opera 浏览器的用户数量并不具有代表性——我们太清楚说服大众使用预装浏览器以外的浏览器(甚至让他们意识到这类东西的存在)有多难了。

然而,许多结果来自日常手机的内置浏览器(例如,我对摩托罗拉手机的浏览器支持程度印象深刻)。

显然,我们只能关注具有此类网络功能的手机(或 PDA),但那些为允许安装其他浏览器的设备提供结果的人,也倾向于为内置浏览器以及他们添加的任何其他浏览器提供结果。

对于技术精通的人来说,CSS 支持很可能在他们的设备上更高(他们要么安装 Opera 等浏览器,要么从一开始就做出明智的设备选择),但结果仅限于设备及其平台/操作系统/浏览器的结果。此外,我们需要的是关于更广泛世界中设备普及率的统计数据。我感到鼓舞的是,许多明显受欢迎的机型(至少在欧洲/美洲)已被包含在测试结果中——诺基亚、爱立信、摩托罗拉、基于 Windows 的 PDA 等。

Patrick 于 2004 年 6 月 18 日星期五下午 10:15 GMT 如是说。

评论12

同样,有传言说诺基亚投资了 Mozilla:http://www.theregister.co.uk/2004/06/19/nokia_mozilla_browser/
这只会是好事!:D

Andrew 于 2004 年 6 月 19 日星期六上午 10:30 GMT 如是说。

评论13

我希望看到一些不错的模拟器用于手持设备和其他媒体,这些模拟器内置于或扩展于像 Mozilla 这样的浏览器(大多数桌面浏览器已经模拟打印),可以在桌面上运行,从而使这些设备的样式表开发变得更容易、更便宜。将文件上传到 Web 服务器以在我的手机/PDA 上进行测试成本很高(至少对我而言,2.2c/KB,如果我的计算正确的话,相当于 22 澳元/MB)。我很确定我花了不少钱仅仅是为了让我的手机通过 GPRS 连接并下载我开发的每个测试[1](正如我在“HTML 和 CSS for Mobiles”帖子中评论的那样),如果我能在本地测试(找出错误)然后再进行一次测试以获得最终结果,这些钱都可以节省下来。

[1] http://www.lachy.id.au/css/tests/media/

Lachlan Hunt 于 2004 年 6 月 20 日星期日下午 4:08 GMT 如是说。

评论14

在我看来,W3C DOM 应该有一个属性来提示媒体类型。

Dante 于 2004 年 6 月 20 日星期日下午 8:33 GMT 如是说。

评论15

这是诺基亚表现不佳的原因吗?一个不同的 DTD?

http://www.forum.nokia.com/main/0,6566,1_1_25_30,00.html#19

Ryan 于 2004 年 6 月 21 日星期一上午 9:55 GMT 如是说。

评论16

在我看来,这个 DTD 看起来是标准的 XHTML MP。诺基亚手机有个恼人的习惯,会同时读取 handheld 和 screen CSS。

Kyle Barrow 于 2004 年 6 月 21 日星期一晚上 9:40 GMT 如是说。

评论17

我可能错了,但我刚刚遇到了一个问题。如果我有

<style type="text/css" media="screen, tv, projection"> @import "main.css"; </style>

<style type="text/css" media="handheld"> @import "handheld.css"; </style>

那么 Win IE5.x 将会在桌面浏览器中渲染这两个(使用 media="print" 时不会发生这种情况)。IE6 没问题。同样,PocketPC 2003 也会渲染这两个样式。非常不幸。:(

Aleksandar 于 2004 年 7 月 3 日星期六晚上 10:22 GMT 如是说。

评论18

请参阅 http://my.opera.com,这是一个广泛使用 media handheld 的网站。在 Opera 的移动版本中运行效果很好。并且 display:none 的元素将不会被下载。

Lachlan Hunt 写道
> 我希望看到一些不错的模拟器用于手持设备和其他
> 媒体内置于或扩展于像 Mozilla 这样的浏览器(大多数桌面浏览器
> 已经模拟打印),这些模拟器可以在桌面上运行,从而使
> 这些设备的样式表开发变得更容易、更便宜。

Opera 桌面版本支持这一点。使用 Opera 7.x 并按 SHIFT-F11 触发手持模式(或菜单中的 View -> Small Screen)。

Robert Parker 于 2004 年 7 月 4 日星期日下午 3:13 GMT 如是说。

评论19

前几天我还在别处读到(molly.com?photomatt.net?)指向 Heidi Pollack 在三月份的 webmonkey 文章“小型屏幕 Web 开发的终极指南”,建议在 Lycos 彻底删除所有那些可爱的猴子内容之前打印出来。 http://hotwired.lycos.com/webmonkey/04/12/index4a.html

我很有兴趣听听一些更懂规范的人对这篇文章的反应。我认为这是我见过的最好的总结,但正如她在第一段中提到的,我一直饱受开发者绝望的困扰。

特别是,人们对她关于专注于 XHTML 而非 WML 的结论有何看法?

Dinah Sanders 于 2004 年 7 月 13 日星期二下午 6:30 GMT 如是说。

评论20

信息很棒!基于以上所有信息,我对移动市场的看法是:W3C 显然正在为大多数设备推广 XHTML-basic(XHTML 和 HTML 的一个子集),从我所见,这满足了许多新旧代理商充分显示大多数在线网站的需求。我完全理解一些设备和浏览器(如 Pocket PC)最初的推动力,即尝试构建能够读取任何在线网页的软件,即使那些网页不是为手持式样式表或布局设计的。毕竟,在屏幕更大的大型移动设备上,如果它不能帮助我查看任何在线网站,为什么我还要购买它(因此,存在一些代理使用 media="screen" 的问题,这是不正确的)。我认为这才是某些微型浏览器的终极梦想;即使在不得不裁剪、代理和过滤数据的情况下,也能查看任何网站。我不认为这在更大的设备上会有所改变……但是……许多较小的设备似乎正在放弃 WML、cHTML、iHTML 和其他语言,转而使用一种新语言(XHTML-Basic)。但这告诉我,W3C 正在推动您为桌面构建一个版本的网站,为移动设备构建另一个版本,并完全将它们分开,除非您准备好构建一个服务器端检测系统来输出正确的 xhtml-basic DOCTYPE。
因此,解决方案似乎是两管齐下:首先,它是迁移到一个带有移动支持的单一网站,并使用“handheld”作为媒体类型,以及该网站的全新 Web 门户版本,使用 xhtml-basic,而这只是 xhtml/html 的一个子集。如果您使用 XHTML-basic,我认为您会看到非常好的跨设备显示,因为它被许多新设备识别,并解决了确定哪些标签被接受的问题。CSS 是另一回事,您将无法完全摆脱 screen 与 handheld 的问题,也无法100%地将它们分开,我认为您也不想这样做,因为其中一些设备确实希望显示完整页面格式,但无法充分显示,并且正如 webmonkey 文章所阐述的,许多设备会重新格式化您精心设计的页面以适应它们的屏幕,使用运营商的代理 wap 2 服务器或使用供应商在设备上预配置的浏览器设置。我亲身经历过,即使是尝试在 Sprint 运营商的手机上设置字体大小或字体系列,也无法修改在该运营商的手机上查看的任何页面的这两个属性。代理保留了您无法预测的各种程度的显示控制。
因此,解决方案是首先使用“screen”为桌面查看设计您的主要网站,设计一个子网站 CSS 表格并使用“handheld”为移动设备设计,并围绕 W3C 支持的 XHTML 标准来设计这些页面。这将涵盖广泛的用户,以及许多移动用户,特别是那些对 screen/handheld 混淆以及屏幕较大的用户。这些人大多数情况下希望看到您网站的原始形式,并且无论如何都会代理您的代码。那些需要特殊限制布局和内容的移动门户显然需要 xhtml-basic doctype,因此需要一个带有该 doctype 的单独子网站,这使您可以附加一个链接的“任何设备”样式表,使用“all”或您喜欢的任何内容,从而解决该问题。我认为这就是我们前进的方向。第一个解决方案允许所有桌面和大型设备获得完整网站,并根据设备调整您的布局,同时为其他移动代理应用可选的 handheld 表格以获得替代视图,如果支持“handheld”的话。第二个解决方案似乎是纯移动子网站解决方案,使用 xhtml-basic 和一个专为移动设备设计的简单样式表,但它被应用以便任何设备,无论支持什么规则,都可以访问该网站,当他们访问这个二级门户时。这不太浪漫,但 W3C 在 xhtml-basic 方面到底在建议什么?

我认为随着时间的推移,各种代理访问和使用信息的方式将继续使问题更加混淆,新的“xml 数据”代理家族将加入进来,它们将使用未格式化的 RSS、文本聊天和其他简单的文本数据来填充自己,这无疑将使为所有设备设计单一网站解决方案变得更加愚蠢(和复杂),使我们进一步朝着专门的移动 Web 门户、移动网站和 xhtml-basic 的方向发展。希望这有帮助!

- Mitchell

mitchell 于 2004 年 10 月 4 日星期一上午 8:23 GMT 如是说。

评论21

在我看来,W3C DOM 应该有一个属性来提示媒体类型。

alex 于 2005 年 8 月 1 日星期一下午 3:51 GMT 如是说。

另请参阅

^ 顶部

SiteGround: Fast, reliable, recommended hosting.