firefox和 ie下的 css

2008年6月23日 – 09:22
我在项目开发的过程中遇到CSS的问题,特意的整理了一下. 下面是IE和火狐的css兼容性问题 1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width 5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上 6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以 8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。 9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;} 注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30px;margin:28px} 重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important; 10.IE5 和IE6的BOX解释不一致 IE5下div{width:300px;margin:0 10px 0 10px;} div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以 300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改div{width:300px! important;width /**/:340px;margin:0 10px 0 10px} 关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:) 11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义ul{margin:0;padding:0;} 就能解决大部分问题    注意事项: 1、float的div一定要闭合。 例如:(其中floatA、floatB的属性已经设置为float:left;)<#div id=\”floatA\” > <#div id=\”floatB\” > <#div id=\”NOTfloatC\” > 这里的NOTfloatC并不希望继续平移,而是希望往下排。 这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。 在<#div class=\”floatB\”> <#div class=\”NOTfloatC\”> 之间加上<#div class=\”clear\”> 这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。 并且将clear这种样式定义为为如下即可:.clear{ clear:both;}   此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。 例如某一个wrapper如下定义:.colwrapper{ overflow:hidden; zoom:1; margin:5px auto;} 2、margin加倍的问题。   设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。 解决方案是在这个div里面加上display:inline; 例如: <#div id=\”imfloat\”> 相应的css为 #IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/} 3、关于容器的包涵关系   很多时候,尤其是容器内有平行布局,例如两、三个float的div时,宽度很容易出现问题。在IE中,外层的宽度会被内层更宽的div挤破。一定要用Photoshop或者Firework量取像素级的精度。 4、关于高度的问题   如果是动态地添加内容,高度最好不要定义。浏览器可以自动伸缩,然而如果是静态的内容,高度最好定好。(似乎有时候不会自动往下撑开,不知道具体怎么回事) 5、最狠的手段 - !important;   如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下.tabd1{ background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/ background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */} 值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过 IE7.0出来了,对CSS的支持又有新问题。浏览器多了,网页兼容性更差了,疲于奔命的还是我们 ,为解决IE7.0的兼容问题,找来了下面这篇文章: 现在我大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解 释,会导致页面没按要求显示!搜索了一下,找到一个针对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了。 现在写一个CSS可以这样: #example { color: #333; } /* Moz */ * html #example { color: #666; } /* IE6 */ *+html #example { color: #999; } /* IE7 ...

drupal6手册:CRON任务

2008年6月21日 – 09:51
许多drupal模块有定期的任务,必须所引发的一克朗的维修任务,包括搜索模块(建立和更新索引用于关键字搜索) ,汇集模块(检索信息从其他网站) ,平模块(通知其他网站关于新的或更新的内容) ,以及系统模块(以执行例行维修和修剪对系统表) 。要激活这些任务,调用的CRON网页访问http://www.example.com/cron.php ,这反过来,执行任务的名义安装的模块。 大多数的系统支持crontab实用工具调度任务,这样的。下面的例子crontab线将启动的CRON任务就自动小时: 0 * * * * wget -O - -q -t 1 http://www.drupalchina.net.cn/cron.php 对Windows系统,您可以完成相同的事,与预定的任务,以启动Internet Explorer指出,该网址。    

drupal6手册:文件系统

2008年6月21日 – 09:42
在该文件的目录中创建初始安装是默认的文件系统路径用来存放所有上传的文件,以及一些临时文件所造成的drupal 。安装完成后,设置为文件系统路径可能会对其进行修改存储上传 这是没有必要修改此路径,但您可能希望改变它,如果: 1.您的网站运行多个drupal装置从一个单一的CODEBASE (修改文件系统路径的每一个安装到不同的目录,以便上传不重叠之间的装置) ;或, 2.您的网站运行了一些Web服务器前端的背后负载平衡器或反向代理(修改文件系统路径在每台服务器上,以指向一个共享文件存放处) 。 修改文件系统路径: 1.确保新位置的路径存在或创建它,如果必要的。创建一个新的目录名为上载,例如,使用下面的命令从一个壳或系统提示(而在安装目录) : mkdir uploads 2.确保新位置的路径是写在Web服务器进程。给予写权限的目录名为上传,您可能需要使用下面的命令从一个壳或系统提示(而在安装目录) : chmod o+w uploads 3.访问文件系统路径设置在drupal选择这些菜单项从导航菜单: Administer > Site configuration > File system 4.输入的路径到新的位置(如:上传)在文件系统路径提示。 改变文件系统路径后的文件已上载可能会导致意想不到的问题就现有的网站。如果您修改文件系统路径对现有的网站,请记得先复制所有文件从原来的位置到新的位置。 一些管理者建议,使文档文件,特别是changelog.txt ,非可读,以便确切版本drupal您正在运行的略多,很难确定。如果你想执行这项任择保安措施,请使用下列命令从一个壳或系统提示(而在安装目录) : chmod a-r CHANGELOG.txt 注意的例子,不仅影响changelog.txt 。完全隐藏所有的文档文件从公众视野中,重复此命令的每一项drupal文档文件在安装目录,而代以的名称,每个文件changelog.txt在例子。    

关于drupal6中如何写模块hook_menu

2008年6月15日 – 15:27
定义 hook_menu ( ) developer/hooks/core.php ,第928 行 描述 确定菜单项和页回调。 这钩,使模块登记的路径,它决定了他们的要求是要处理。视乎有关的注册类型所要求的每个路径,一个链接被放置在导航座和/或一个项目会出现在菜单上(q=admin/menu). 这个钩子很少调用-例如,当模块启用。 “title” :要求。该翻译的标题菜单项。 “description” :翻译描述的菜单项。 “page callback” :函数调用来显示一个网页,当用户访问的路径。如果省略,父菜单项的回调将被用于代替。  "page arguments": 一个数组的论据通过该网页的回调函数。整数价值观,通过相应的网址组成(见arg()).  "access callback": 一个函数返回一个布尔值,决定用户是否有访问权限,这菜单项。默认为user_access ( ) ,除非值是继承自父菜单项..  "access arguments":一个数组的论据传递给进入回调函数。整数价值观,通过相应的URL的组成部分。  "weight": 一个整数,决定了相对位置的项目在菜单中;较高的加权项目下沉。默认为0 。如有疑问,离开这个单;默认按字母顺序排列通常是最好的。  "type": 一个位掩码的旗帜描述性能的菜单项。许多位掩码是menu.inc 提供的常量; 。menu_normal_item :正常的菜单项显示在菜单中树和可移动/隐藏管理员。 。menu_callback :回调只需注册一个路径,使正确的功能是发射时的网址是访问。 。menu_suggested_item :模块的名称可能“建议”菜单项管理员可以启用. 。menu_local_task :当地的任务是提供作为标签,默认情况下。 。menu_default_local_task :每一套本地的任务应提供一个“默认”的任务,链接到相同的路径,作为其母公司当按下。 如果“类型” ,关键是省略, menu_normal_item是假设。 一项详细的使用范例,请参阅page_example.module 。 为全面的文件目录系统,见http://drupal.org/node/102338 。 返回值 一个数组的菜单项。每个菜单项有一个键对应到drupal路径被注册。该项目是一个关联数组可能包含以下关键值对: 相关主题 名称            描述 Hooks        让模块互动与drupal的核心。 代码: <?php function hook_menu() {   $items = array();   $items['blog'] = array(     'title' => 'blogs',     'page callback' => 'blog_page',     'access arguments' => array('access content'),     'type' => MENU_SUGGESTED_ITEM,   );   $items['blog/feed'] = array(     'title' => t('RSS feed'),     'page callback' => 'blog_feed',     'access arguments' => array('access content'),     'type' => MENU_CALLBACK,   );   return $items; } ?>

drupal6手册:运行drupal安装脚本

2008年6月15日 – 12:25
运行安装脚本,在您的浏览器中输入您的网站网址(例如, http://www.drupalchina.net.cn)。 会引导您通过几个屏幕建立数据库,创建表 添加第一个用户的帐户,并提供基本的网站设置。 注意: 如果您的网站没有设定为清洁URL的,您可以解决此问题。更新通知方块将检查更新版本的drupal和贡献的模块。如果你是无或有限制网路连接您可能会不能选择并且以后简洁连接也不能用. 当安装成功时,您会看到drupal安装完成画面。如果有任何错误讯息,现在审查和更正他们。 安装脚本将尝试建立一个文件存储目录中的默认位置在sites/default/files (位置的档案目录,可改变后, drupal安装) 。在某些情况下,您可能需要创建目录,并修改其权限手动。 使用以下命令(从安装目录)创建档案的目录及批出有关的Web伺服器收件特权: mkdir sites/default/files chmod o+w sites/default/files 安装脚本会尝试写保护的网站/默认目录后,创造了settings.php文件。如果您手动更改到该文件后,一定要保护它后,再次让您的修改。失败,以消除写入权限该文件是一个安全风险。虽然默认位置为settings.php文件是在网站/预设/ settings.php ,它可能在另一个位置如果您使用的多站点设置,下面加以说明。  

drupal6手册:创建数据库

2008年6月15日 – 11:32
drupal需要进入一个数据库,以便进行安装。您的数据库用户将需要足够的特权来运行drupal 。如需有关特权,并指示建立一个数据库,使用命令行可在安装。 要创建一个数据库使用phpmyadmin或基于Web的控制面板谘询文件,或要求您的网页主机服务提供商。 注意该用户名,密码,数据库名称和主机当您建立数据库。你将进入这些项目在安装脚本。 用MySQL创建数据库 这一步是不仅是必要的如果你不已经有一个数据库的设立(如您的主机) 。在下面的例子, '用户名'就是一个例子MySQL用户,其中有创造和给予特权。使用适当的使用者名称为您的系统。 首先,您必须创建一个新数据库,为您的drupal网站在这里, ' databasename '的名称是新的数据库) :mysqladmin -u username -p create databasename MySQL中会提示为' UserName '的资料库密码,然后创建初始数据库文件。接下来,您必须登录,并设置Access数据库的权利: mysql -u username -p 再次,您会被要求为' UserName '的数据库密码。在MySQL的提示符下,输入以下命令: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password'; where ' databasename '的名称是您的database'username @本地'的使用者名称是你的MySQL account'password '是需要密码为用户名 笔记: 除非您的数据库用户的所有特权,在上面列出,您将无法运行drupal 。 如果成功的话,将MySQL的答复: Query OK, 0 rows affected 以启用新的权限,输入以下命令: FLUSH PRIVILEGES; 该数据库应建立与UTF-8( Unicode的)编码。 用PostgreSQL创建数据库 数据库必须建立与-8 ( Unicode的)编码。 1 。创建数据库用户 这一步是不仅是必要的如果你不已经有一个用户设置(例如,通过您的主机)或您要创建新用户使用drupal只。下面的命令 createuser --pwprompt --encrypted --no-adduser --no-createdb username 如果一切运作正常,您会看到一个 “CREATE USER” 的通知。 2 。创建drupal数据库 这一步是不仅是必要的如果你不已经有一个数据库安装程序(如您的主机)或您要创建新数据库使用drupal只。下面的命令创建一个新的数据库名为“ databasename ” ,这是国有由以前创建的“用户名” : createdb --encoding=UNICODE --owner=username databasename 如果一切运作正常,您会看到一个“CREATE DATABASE” 的通知。

参加drupal聚会的一点感受

2008年6月15日 – 01:30
早上,起床后习惯了看了一下drupal中文社区,记忆中好像今天有聚会,所以我特意的看了一下,果然有.于是我就按照上面的安排开始出发. 大雨淋漓,匆匆的赶到北京植物园已经是上午11点,一去就见到了参加的人员,很兴奋,大家一起聊的很好.可惜天公不做美,到下面3点一直在下雨. 由于雨太大,还有其他的事情,多以我撤了. 这次聚会给我的感受: 1.大家都很积极,虽然雨很大,自发组织去了能有10多个人. 2.大家需要交流,见了面就迫不及待的聊上了有关drupal的技术方面的问题 基于这些我有几个小小的建议: 1.组织好聚会,最好能够有个横幅标语,然后又印drupal的帽子或者文化衫,这样更有宣传和纪念意义 2.最好能够有一个比较方面大家交流的地方,可以演讲和演示 3,如果能够大家共享美食就更好了,在饭桌子中体味更多,比如去吃自助,呵呵

热烈祝贺滴水穿石|drupal中文博客正常运行!

2008年6月12日 – 13:43
经过几天的折腾,尤其是和空间商的沟通(很费劲), 开始本打算用drupal 做的,可是我的空间不能装drupal6,所以在众多CMS中我选择了WP。这个博客主要是和大家交流和分享一些drupal中文资料。 热烈祝贺! 欢迎大家光临!

drupal6手册:在配置文件中设定写入权限

2008年6月12日 – 12:22
在sites/default目录下drupal具有default.settings.php文件。安装程序将在相同的目录下创建一个此文件的复制文件,并且包括你在安装过程中提供的细节内容。 用命令通过sites/default 目录给Web服务器写入特权(从安装目录) : chmod o+w sites/default 注意: 对Windows系统,这样将改变权限,并确定该文件是否设定为只读。

drupal6手册:安装Drupal 6.x

2008年6月12日 – 12:18
drupal拥有自动安装脚本会自动填充数据库表,并列出了正确的设定settings.php文件。 尽管我们认识到,有一些图形工具也可以做这些事情,可是我们没有帐户不可能看到整个文件。基于这样的情况,这本手册包括基本方法。一些操作,如下载和移动您的档案复制到您的主机目录和具体的鼠标点击设立您的数据库,通过图形界面更好地涵盖与您的主机或工具文档。 我们知道,很多人跳过前几章,跳过这一节,如果您遇到困难关于术语或者规则的混淆,你就会考虑到返回去重新看前面的章节是最好的做法。