在你构建网站的所有努力中,对于你的用户来说,最重要的就是站点的外观了。为了使你的drupal主题对于每个浏览器,每个模块,用户所选的主题都兼容的话,你需要花费很大的功夫。
首先你需要熟悉基本的CSS概念(Cascading Style Sheets)。关于Css的资源可参看CSS Discuss 或者HTML dog 。在CSS Zen Garden有一篇非常好的概述文章,介绍了Css的强大。
现在有很多品牌的浏览器,而每个品牌的浏览器又有多个版本,而每种浏览器都有特定厂商维护的,所以你很难掌握一个浏览器在特殊的情况下会干些什么。这就带来了不兼容问题。如果你把注意力放到了这些不兼容性上,就会把问题复杂化,也使得你很难获得他人的帮助。只有当你使用通过验证的XHTML和CSS,并且它在符合标准的浏览器上能够正常工作的情况下,你才可以开始调试。人们经常听到设计者抱怨“但是但是但是,如果我让它通过合法性验证以后,那么外观就会再次变得丑陋起来,我不想再干第2遍这样枯燥无味的工作了”。在这种情况下,设计者得到的漂亮的外观,是建立在错误(bug)之上的!而在错误之上再进行调试,是理应被禁止的。
而事实上:一个经过验证、干净的布局在90%的情况下都能正常工作。在剩下的10%中,9%的问题很容易就得到了修复,而只有1%的情况需要更多的努力。真的!
如果你想验证你的整个站点,你可以使用这些工具。
你的页面不可能在所有的地方看起来都一样
另一个需要重点注意的地方是,HTML和CSS的本质。它们意味着在不同的地方有着不同的外观。比如,我的移动手机不能为你显示基于javascript的6栏布局。而且它也不应该能够。Safari 和Konqueror决定不支持表单中的特定样式(出于安全性和桌面兼容性考虑)。大的屏幕将对你的字体重新调整大小,这将破坏你的固定布局。而旧式的显示器则使用的是更大一些的字体大小集。而网络较慢的用户常常看不到图片。或者甚至是CSS。
所以你要记住,你的样式对于浏览器来说仅仅是一个建议,建议它以特定方式显示。而它不是一个命令。
管理drupal主题不兼容性的工具
原文:http://drupal.org/node/37156
跨浏览器兼容性(FireFox, Internet Explorer, Opera, Safari)
很难在所有的浏览器下检查你的主题。这里有一些工具,能够帮助你在多个浏览器下检查你的主题。
在Windows上,你可以使用Internet Explorer,还可以下载Firefox 或者Opera。在Linux上,你可以使用Konqueror,一个基于KHTML的浏览器,而Safari用在MacOS上,Opera, Firefox可在Linux上使用,而IE也可运行在WINE。在Mac OSX上,你可以使用Safari,下载Firefox 或者Opera。
颜色和图形问题
选择一个基主题
如果你要选择一个主题作为起点的话,对于基于CSS的主题来说,Zen 或 Foundation是不错的选择。如果你想使用表格来管理布局的话,可以使用BlueMarine。
特定于模块的CSS
一些Drupal模块自带了一个默认的CSS文件。你应该使用一个工具,比如开发者的工具栏,来检查模块的CSS是否对你的元素起作用,以及所引起的问题。当你安装一个新的模块时,你可以到模块所在的文件夹中看一看,它是不是包含了一个CSS文件。
你主题中的实际调试问题
对主题的调试没有简单的方案可行。如果你遇到了问题,那么你最好选用简单的基主题,或者尽可能的选择一个接近你最终目标的能够工作的主题。学习你主题中的CSS类,对于理解在哪里修改CSS至关重要。通过IRC可以找到其他的主题开发者,你可以把你做过的写成文当,简明教程。把你的主题提交到Drupal.org,这样他人可以对你的工作进行检查并提出反馈意见。和PHP程序员交朋友,他们能够帮你理解底层的PHP主题模块是如何工作的,这对你的工作也很有帮助。考虑相互帮助,以提高自己的技能。
本页的作者为来自于CivicSpace Labs和Theodore Serbinski的Kieran Lal, 和Trae McCombs。如果你想贡献自己的力量,或者让Drupal的主题制作更简单的话,可以加入主题邮件列表,或者直接联系Kieran。
drupal主题目标
对你站点drupal主题的改进,可以帮助你完成许多目标.特别是,对drupal主题的改进可以帮你完成以下业务目标:
本文的目的是,帮助你实现下列的主题开发目标:
改进Drupal中的主题帮助
在最近的一个Drupal管理员用户体验的调查显示,制作主题是最难的一个Drupal管理任务.我们做了一系列的采访,更好的了解到了主题制作者在开发主题时,需要完成的目标和任务.
基本Drupal主题任务
无论你使用的是什么样的主题,下面的这些基本的主题任务,都是你必须掌握的.
我们推荐你使用Firefox,再装上两个扩展插件,开发者工具栏和查看格式化源文件.我们还建议你使用标准的CSS ID名,与Andy Clarke 和 Eric Meyer建议的一样.
困难的主drupal题任务
我们给出了一些需要详细解释的困难的主题任务.一些任务既是基本的任务也是困难的任务,我们需要为其花费更多的墨水,以解释这些任务的难点.
我们在项目模块(project module)添加了分类功能,这样就允许了对主题所进行的分类.
我们推荐你使用Firefox,再装上两个扩展插件,开发者工具栏和查看格式化源文件.我们还建议你使用Eric Meyer的标准CSS类名.
应该向该模块提交一个问题。里面要包含一个展示冲突页面的图片,以及它在一个基本主题下是如何显示的。从模块中摘出相应的XHTML代码片断,并指出期望的XHTML应该是什么样的。
原文:http://drupal.org/node/39451