共 32 页, « 第一页 ... « 12 13 14 [15] 16 17 18 » ... 最后一页 »
原文在这里, 对于初学CSS布局的人也许会有很大的帮助。有经验的开发者在调试CSS布局时也能得到些启发。
1. 检查HTML元素是否有拼写错误、是否忘记结束标记
即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一下有无错误。
2. 检查CSS是否正确
检查一下有无拼写错误、是否忘记结尾的 } 等。可以利用CleanCSS来检查 CSS的拼写错误。CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误。
3. 确定错误发生的位置
如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常, 即可确定错误发生的位置。
4. 利用border属性确定出错元素的布局特性
使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界, 错误原因即水落石出。
5. float元素的父元素不能指定clear属性
MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。 这是MacIE的著名的bug,倘若不知道就会走弯路。
6. float元素务必指定width属性
很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何, 一定要为其指定width属性。
另外指定元素时尽量使用em而不是px做单位。
7. float元素不能指定margin和padding等属性
IE在显示指定了margin和padding的float元素时有bug。 因此不要对float元素指定margin和padding属性 (可以在float元素内部嵌套一个div来设置margin和padding)。 也可以使用hack方法为IE指定特别的值。
8. float元素的宽度之和要小于100%
如果float元素的宽度之和正好是100%,某些古老的浏览器将不能正常显示。 因此请保证宽度之和小于99%。
9. 是否重设了默认的样式?
某些属性如margin、padding等,不同浏览器会有不同的解释。 因此最好在开发前首先将全体的margin、padding设置为0、列表样式设置为none等。
10. 是否忘记了写DTD?
如果无论怎样调整不同浏览器显示结果还是不一样,那么可以检查一下页面开头是不是忘了写下面这行DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
PayPal的付款请求可以直接发到客户的电子邮件,即使客户没有PayPal帐户, 也可以直接通过信用卡付款。今天试着用PayPal发了一次,结果出现了下面的错误。

想了半天百思不得其解,后来才明白,原来付款人的邮件地址注册了贝宝(PayPal中文版)帐户, 因此系统认为该邮件地址仅能发送人民币,而我要求的是日元,自然就出现了上面的错误。 解决方法很简单,换个其他的邮件地址即可。
发送付款请求的具体方法如下。
阅读全文 »最近一直在开发Ajax应用程序。众所周知Ajax的特点是客户端和服务器分离, 客户端通常由纯Javascript组成,通过XMLHttpRequest对象与服务器通信。 在调试客户端代码时,如果服务器开在本地,尚可通过samba等方式直接编辑 服务器上的客户端js代码,倘若服务器在异地,那么每次修改js代码后通过FTP等 方式上传之后再调试就十分费事。说到这里自然会想到将js代码放到本地, 然而XMLHttpRequest却只能访问同一域名下的URL,本地的js代码无法直接使用 远程服务器上的服务。
迷茫之际,同事介绍了delegate这款软件,利用它即可实现本地调试客户端代码。
delegate可以在这里下载。 delegate实际上是一个功能强大的代理服务器,它有个类似于Linux的mount功能, 能够将Internet上的URL映射到本地。利用这个功能, 即可将远程的服务器端和本地的客户端集成到同一个域名下, 实现客户端代码的本地调试。
方法如下:
- 将Apache配置到本机的8080端口,然后将客户端代码放在htdocs下, 使之能够通过 http://localhost:8080/client/ 访问。
- 下载delegate并解压缩。
- 编辑以下的配置文件 delegate.cfg。
-P80 ADMIN="yourname@yourmail.com" MOUNT="/client/* http://localhost:8080/client/*" MOUNT="/cgi-bin/* http://server-address/cgi-bin/*"
第一行的 -P80 指定delegate使用80端口;第二行的ADMIN指定管理员邮件地址, 可以随意设置;第三行将客户端映射到 delegate 的 /client/ 路径下; 第四行将远程服务器目录映射到 delegate 的 /cgi-bin/ 路径下。
另外,如果你需要通过代理服务器访问远程服务器,可以这样设置:MOUNT="/cgi-bin/* http://server-address/cgi-bin/*" PROXY="代理服务器地址:端口"
- 在命令行输入以下命令安装delegate。注意不同版本的delegate的可执行文件名不同。
dg9.4.1.exe +=delegate.cfg
- 打开浏览器,访问 http://localhost/client/。这样即可随时看到对js代码的修改。
实际上,用好这个方法还可以“盗用”许多网站的服务,即自己开发客户端, 再通过 delegate 将请求转发给服务器。其方法不再详述。
今天打开Opera发现Opera又升级了。不过这次版本号跳得好快啊,实在是钦佩Opera的开发者们。原来的版本是9.02,这次居然是……

取消之后再次检查更新,还好这次版本号正常了。

或许很多人已经知道这个插件了吧,Tab Effect。它能让你的Firefox在切换标签时使用类似于Linux下的Compiz的3D效果。看看下面的截图。
装上以后感觉原来的设置切换速度有点慢,打开插件目录下 content/javascript.js,寻找这一段代码:
if(TabEffect.currentTab != gBrowser.selectedTab){
var back = currentTabIndex > gBrowser.mTabContainer.selectedIndex || currentTabIndex == -1;
TabEffect.xpcomObj.translateToNextTab(back, 24);
TabEffect.currentTab = gBrowser.selectedTab;
}
将 translateToNextTab(back, 24)中的24改成12,重新启动Firefox,可以看到旋转速度快了许多。不过在切换页面时有明显的延迟,使这个插件减色不少。不过总的来说,这个插件还是值得推荐的,它带来了插件开发的一个新思路。
该最新版本为1.1,仅有Windows版,需要DirectX 8支持。
ps. 如何找到插件目录?我使用的是Mr Tech Local Install,安装该插件之后,在插件管理面板上选中想要查看的插件点右键,选择浏览安装目录就可以了。要是没有安装该插件,那就在 C:\Documents and Settings\用户名\Application Data\Mozilla\Firefox\Profiles\nnnnnn.default\extensions 目录下一个个找吧。
花了一个小时时间做了这个新的网站主题。本以为能很快搞定的,结果在细节部分用了比较多的时间。侧边栏的颜色有些不协调,没时间改了。
不多说了,先上图看看效果吧。具体能不能用CSS实现以后再说吧。
感谢frank提供背景照片,我先用着了,回头跟你打招呼
我从大学时使用电脑到现在已有将近八年的历史了,期间病毒也遇到过不少,但从来没遇到什么麻烦。 总结一下经验,下面的十条可以让你远离病毒的烦恼。
系统安装盘多多益善
不管你是用Windows XP,还是Windows 2000,甚至更老的Win98, 安装盘至少要有两张以上。仅有一张盘则很容易坏掉或丢掉。
系统崩溃时要有办法恢复数据
我通常用CDLinux作为启动盘,即使Windows系统崩溃了,使用CDLinux启动系统也能将里面的数据复制出来。 如果你不会用Linux,就把重要数据都放在FAT32分区上,崩溃时用Win98的启动盘恢复数据。 据说ntfsdos能读取NTFS分区,不过我从来没成功过。不要用WindowsXP的恢复控制台, 因为(1)功能太弱 (2)不支持网络,即使能恢复数据也没法拷出来 (3)登录时需要管理员密码, 如果Windows的用户数据库损坏就无法登录了 (4)太脆弱,注册表坏掉就无法登录。
阅读全文 »眼看Windows Vista就要正式发布了,趁着这个机会咱也赶赶时髦。这是Vista的黑色任务栏按钮。所用软件为Photoshop 7。
- 新建一张图,前景色选灰色(作为辅助色,可随意选一种较淡的颜色),用圆角矩形工具,
设置圆角半径为 3 像素,画一个高 30 左右的矩形。

- 新建图层,用矩形选择工具在按钮上部约50%的地方选择一个矩形。选区越靠上,按钮就越显得凸起。
然后按住Ctrl+Alt+Shift,单击图层面板中第一步建立的形状图层,以选中按钮的上半部。

- 选择前景色 rgb(200,200,200),背景色 rgb(90,90,90),使用渐变工具由上至下在选区中填充渐变色。

- 按Ctrl+Shift+I反选,再按住Ctrl+Alt+Shift单击图层面板中第一步建立的形状图层,选择按钮下半部分。
- 设置前景色为 rgb(24,24,24),按Alt+Del填充选区。

- 按Ctrl键单击图层面板中的形状图层,然后选择减淡工具,宽度5像素,曝光度设置为50%,加亮按钮的边缘。
特别是圆角部分可以适当加大高光区。

- 保持前景色为 rgb(24,24,24),选择主菜单编辑->描边,居中1像素。
然后选择前景色为rgb(200,200,200),再次选择主菜单编辑->描边,居外1像素。最后按Ctrl+D取消选区。

效果还不错吧?最后可根据需要隐藏背景层和形状图层,输出成png格式,便于在网页上使用。
昨天晚上上网发现,原来几乎很慢的国内网站已经能打开了,今天又发现原来一直连不上的抓虾也能正常使用了,虽然速度稍稍慢一点。难道海底光缆已经修好了吗?
查了一下发现新浪今天凌晨发出了首期光缆修复昨日完成 20日有望连接的报道,看来的确是这条修复的光缆起了作用。另据报道,全部修复可能要到一月底,和当初的预想一样。看来工作进展不是很顺利。
Wordpress的官方文档对数据库的结构描述得并不充分,索性自己来分析一下。首先从整体结构入手。 下面是2.0.5版的数据库结构图(E-R图)。为了节约篇幅,这里仅列出了主键和外键。 图中菱形表示1:n的关系,白色部分为1,黑色部分为n。

Wordpress共有10个表,按照功能大致分为四类。
- user: 用户信息,包括wp_users表和wp_usermeta表。
- post: 文章及评论信息,包括wp_posts、wp_postmeta、wp_comments、wp_post2cat以及wp_categories五个表。
- link: 链接信息,包括wp_links表和wp_linkcategories表。
- option: 全局设置信息,包括wp_options表。
个人认为这个数据库有两个冗余的地方。一个是wp_post2cat表中的主键rel_id,其实可以不要rel_id,而使用post_id和category_id两列作为主键; 另一个是wp_options表,option_id列为自动增长列,仅使用该列即可作为主键,而不需要option_id、blog_id、option_name三列联合做主键。
另外,表的命名规则也很有意思。基本规则总结如下:
- 保存对象的基本属性,命名为 wp_objects,使用复数(如 wp_posts,wp_comments);
- 保存对象的扩展属性,命名为 wp_objectmeta,使用单数(如wp_postmeta,wp_usermeta);
- 多对多关系,命名为 wp_a2b,其中a和b分别为多对多关系两端的对象名的缩写(如wp_post2cat)。
