IE6 | IE7 li底部多出几像素bug

先看2个截图

IE6、IE7

chrome:

图示代码地址:http://jsfiddle.net/baofen14787/tH4YL/1/

会发现在IE6–7下,LI底部会多出几个像素,网上很多人说这是li的3pxbug,实际不然。底部的空隙和字体大小和高度有关。并不一定是3px。

出现这个bug的条件如下
必要条件:
li的子元素设置了浮动(例如:本例中的span设置了左浮动)

充要条件:
(IE6/7)li设置了width、height、zoom 之一 (例如:本文中的li设置了width)

解决方案也很简单:

1、别让li获得layout
2、设置li {vertical-align:middle} (推荐这种方法,简单方便)
3、设置li {font-size:0} li span{font-size:12px}。
4、设置li{float:left;width:100%}

还有其他方法就不一一说了。

其他解决方案也有

(仅IE7)li设置了padding-top、padding-bottom、margin-top、margin-bottom 之一

delicious不再支持yahoo!账户登录

好久没上delicious了,估计至少有3个多月了,今天再次登录,发现网站改版了,yahoo登录方式也没了。

搜索了一下才发现,yahoo!公司已经把delicious卖掉了,可看看月光博客《Delicious被Yahoo卖了》。

这下不得了,里面还有好几百个bookmark呢,现在没账户密码,登录不上。

再次google了下,无果,唯有自己动手将原有delicious账户上的bookmark导入到新账户里。

原理其实也很简单,只是实现起来有些繁琐。我先是通过火车头采集器,写了个采集规则,将原有账户上的bookmark采集入库,然后用pentaho的kettle工具导出成delicious需要的格式。最后把数据导入到新注册的delicious账户上,原有账户就丢弃不用了。

具体实现方法:

1、数据采集

稍后上图更新

2、kettle导出

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

先去pentaho网站下载kettle,解压或安装后,点击Spoon.bat文件即可运行。需要注意的是,kettle需要jdk支持。

整个界面如图:

简要说明:

1、在输入端选择 access input,拖入控件到操作界面,然后设置access的路径之类的,获取字段就可以了。

2、再拖个js模块要输出组装数据,编写js脚本

//Script here

var newVal = '<DT><A HREF="'+ 链接.getString() +'" ADD_DATE="1326716591" TAGS="'+ tag.getString() +'">'+ 标题.getString() +'</A>';

到时就输出newVal这个值即可。

3、最后拖一个文本输出控件到操作界面,填写输出路径之类的,运行一下整个流程,就将数据导出了。

附,delicious导入模板

<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL>
    <DT><A HREF="http://www.didatuan.com/about/10days" ADD_DATE="1322017107" TAG>360度无忧团购</A>
	<DT><A HREF="http://www.didatuan.com/about/10days" ADD_DATE="1322017107" TAG>360度无忧团购</A>
</DL><p>

外部调用zblog最新文章和随机文章

外部调用ZBLOG文章的方法2011-5-15更新代码是网上搜的,经测试可用。

原理是直接从数据库读取数据。不多说 直接上代码


<!-- #include file="../c_option.asp" -->
<!-- #include file="c_system_base.asp" -->
'*********************************************************
' 目的:
' 输入:文章标签
' 返回:HTML
'*********************************************************

Function GetLastInfo()
Dim objRS
Dim html
Dim strDbPath

strDbPath = Server.MapPath("/blog/" &amp; ZC_DATABASE_PATH)
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; strDbPath

Set objRS=Server.CreateObject("ADODB.Recordset")
objRS.open "SELECT top 13 log_ID,log_Title,log_PostTime FROM [blog_Article] order by log_ID DESC",objConn,1,1

do while not objRS.eof
html = html &amp; "
<ul>
	<li><a title="" target=""><span>["&amp; Month(FormatDateTime(objRS("log_PostTime"),2)) &amp; "/" &amp; Day(FormatDateTime(objRS("log_PostTime"),2)) &amp;"]</span>" &amp; objRS("log_Title") &amp; "</a></li>
</ul>
"

objRS.MoveNext
loop

objConn.Close
Set objConn=Nothing

GetLastInfo = html

End Function

FUNCTION GetRandInfo()
Dim objRS
Dim html
Dim strDbPath

strDbPath = Server.MapPath("/blog/" &amp; ZC_DATABASE_PATH)
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &amp; strDbPath

Set objRS=Server.CreateObject("ADODB.Recordset")
objRS.open "SELECT top 13 log_ID,log_Title FROM [blog_Article] order by rnd(time()-log_ID)",objConn,1,1

do while not objRS.eof
html = html &amp; "
<ul>
	<li><a title="" target="">" &amp; objRS("log_Title") &amp; "</a></li>
</ul>
"

objRS.MoveNext
loop

objConn.Close
Set objConn=Nothing

GetRandInfo = html
END FUNCTION
'*********************************************************
%&gt;

将以上代码保存为文件c_html_article.asp。

使用方法:

1、把文件c_html_article.asp放在zblog所在路径下面的FUNCTION文件夹中
2、调用博客文章页面(必须是asp的)头部插入如下代码:
[asp][/asp]
3、在需要展示文章的位置插入调用代码:

调用最新文章:

<div class="article-list"></div>

调用随机文章:

<div class="article-list"></div>

注意:请在c_html_article.asp 文件中修改博客所在目录和调用文章数量.

源码下载:外部调用ZBLOG文章的方法2011-5-15更新

minify:css和js的优化合并工具

Minify 是 PHP5 应用程序,它能合并、压缩 js 和 css 文件,并且能通过 HTTP gzip/deflate 及一些相关头,优化客户端缓存。

它会合并多个CSS或者JavaScript文件,移除一些不必要的空格和注释,进行gzip压缩,并且会设置浏览器的缓存头。Minify 在设计上和Yahoo的 Combo Handler Service非常像,不过Minify可以合并任何你想要合并的JavaScript和CSS文件。

下载地址:http://code.google.com/p/minify/

这个工具安装使用也非常简单。下载后放到网站根目录或任意目录,然后访问。

如放网站根目录,访问地址:http://localhost/min/builder/,则看到如下界面

在项目中的使用方法:

把 js 和 css 文件的路径按 Minify 的方式写,就完成了。

如单个css

<link media="screen" type="text/css" href="/min/f=style.css" rel="stylesheet" />

如果有多个,就用“,”隔开,如

<link media="screen" type="text/css" href="/min/f=style1.css,style2.css" rel="stylesheet" />

js也是一样写法

<script type="text/javascript" src="/min/f=script.js,script2.js"></script>

如果不知道路径怎么写,不要急,可以在http://localhost/min/builder/ 输入你需要合并压缩的 js 或 css 路径,按 Update 按钮后,它会给你生成一个完成的代码,你只需要将代码粘帖到文件中即可。

在wordpress下,也有一个插件,核心也是通过minify进行合并压缩,插件名称是wp-minify,
http://wordpress.org/extend/plugins/wp-minify/

我博客也试用了这个插件,呵呵。

win7 64位系统下安装zblog报数据库连接错误的解决方法

今天闲来无事,搭了个zblog玩玩,结果登陆后台管理页面的时候,页面老是报错“错误原因:数据库连接错误”.

估计和自己系统配置有关,因为之前也用过zblog,没出现过这个问题。百度了一下,找到了解决方案。

其实原因是在64位Windows7操作系统中,IIS7应用程序池默认没有启用32位应用程序,而我们连接ACCESS数据库的驱动程序Microsoft.Jet.OLEDB.4.0是32位的,所以就出错了,要想正常运行,只需启用32位应用程序即可。

方法如下:

1、打开IIS信息服务管理器。点击左侧菜单的“应用程序池”。

2、选中网站的程序池之后,点击右侧菜单的“高级设置”。

3、在弹出的设置框里,把“启用32位应用程序” 这个选项设置为“true”。

4、重启程序池即可。

整个步骤可查看下图: