【问题】
用docbook-xsl-ns-1.77.0版本的docbook的stylesheet中为webhelp生成的内容中,主体内容中,顶部有部分内容不显示,即:
而官网最新的snapshot中正常的显示出来的内容是:
【解决过程】
1.自己之前尝试过手动去根据教程的解释,去修改相关的css文件:
docbook-xsl-ns-1.77.0\webhelp\template\common\css\positioning.css
去自己一点点该配置,看看是否可以解决问题。
结果是修改了很多细节配置的高度等内容,结果还是无法很完美的解决部分内容被遮盖的问题,所以最后放弃手动修改的方法,觉得不应该是这么笨的方法,而应该哟普更好的办法解决此问题才对。
2. 当前所用的docbook的stylesheet版本是docbook-xsl-ns-1.77.0,生成的webhelp页面中,内容的顶部被遮盖无显示。
而最新的docbook的stylesheet的版本是docbook-xsl-ns-1.77.1,所以以为是stylesheet版本所导致的,所以就去升级为docbook-xsl-ns-1.77.1。
结果生成的webhelp中,问题依旧,还是顶部内容无法显示。
3.所有就又去找更新的版本的docbook的stylesheet,然后找到了官网:
http://docbook.sourceforge.net/snapshot/
下载了那个最新的zip的xsl-ns的snapshot,是3.7MB大小:
但是很奇怪的是,竟然结果webhelp无法编译。很是无语。
4.然后对于:
docbook-xsl-ns-1.77.0
docbook-xsl-ns-1.77.1
docbook-xsl-ns-snapshot 3.7MB的
都比较过多次,也试着把新版本的css等有不一样的问题,一点点覆盖,最后都还是没有解决问题。
5.后来无意中又找到了别的地址中的snapshot:
下载了其中的的zip包的xsl-ns的snapshot,但是却是5.9MB的:
而此出的snapshot,本身网址不是docbook的网址,时间也是2012-08-30,也落后于上面官网的那个2012-09-01,但是最后编译测试webhelp的结果,却是正常的,生成的webhelp的网页显示的内容,是完整的,顶部的内容没有被遮盖的。
所以,算是无意中,找到了非官网的,配置正确的webhelp。
然后就去比较到底是哪里的更新改动,解决了此问题的。
后来发现是:
webhelp\xsl\webhelp-common.xsl
中,正确的版本中,在<style type="text/css">之后添加了:
<xsl:comment><xsl:text>[if IE]> <link rel="stylesheet" type="text/css" href="../common/css/ie.css"/> <![endif]</xsl:text></xsl:comment>
两者区别如图:
其添加的判断,如果浏览器是IE的话,则会在原有css最后添加
common/css/ie.css
而ie.css的内容是:
.statustext{ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1) progid:DXImageTransform.Microsoft.BasicImage(opacity=.5); width: 100%; height: 30px; right: -5px; top:105px; /* left: 280px; */ /* change to -12px; when sidebar is collapsed */ } body #content{ padding-top: 136px; }
可见,主要作用就是,对于html的body,添加了个padding,高度是136px,由此,webhelp中所有的页面的输出中,都加上了此padding,则所有页面中的内容,就都会正常显示了,就不会出现最开始那段内容,被顶部的header所覆盖的情况了。
【总结】
docbook做的已经很不错了。只可惜细节部分,包括官网的snapshot的xsl-ns,都还是有瑕疵,至少不同步,导致花费额外时间来调试,最终找到可用的xsl-ns的snapshot,才得以解决问题的。
接下来的工作,就是把这部分改动,整合到docbook-xsl-ns-1.77.1中去,并且尽量保证不改动原有的docbook-xsl-ns-1.77.1所有内容,而是另外建立配置文件,支持个人改动的所有的配置,包括之前自定义的css等内容.
【后记】
后来才注意到,原来官网:
http://docbook.sourceforge.net/snapshot/
中的snapshot的时间,竟然不是今天:2012-09-01,而是2012-01-09。
这个,也太假了吧。。。都差了N个月了,竟然还叫做snapshot,你这不是明显的坑爹吗。。。
难怪才3M多,而人家:
中的2012-08-30才是比较正常的5M多的,才是可用的webhelp。。。
而且对于其中的一些子目录,比如:
http://docbook.sourceforge.net/snapshot/xsl-ns/
也是无效的,打不开的。。。
所以,感觉这个docbook的server,像是年久失修了啊。。。。真不知道这些人是咋搞的,snapshot竟然都没有维护了。。。
刚又看到,原来这个
http://docbook.sourceforge.net/snapshot/
只是sourceforge的,并不是docbook官网的,而通过google中搜:
docbook snapshot
找到的:
50.56.245.89
就是docbook官网的的确就是docbook官网本身:
所以,上面理解是错的,而人家docbook官网,一直是正常的,只是sourceforge上面,不够新而已。呵呵。
转载请注明:在路上 » 【已解决】Docbook的docbook-xsl-ns-1.77.0中生成的webhelp的正文内容中,顶端部分的内容被遮盖了不显示的问题