最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】Docbook的docbook-xsl-ns-1.77.0中生成的webhelp的正文内容中,顶端部分的内容被遮盖了不显示的问题

Docbook crifan 1713浏览 0评论

【问题】

用docbook-xsl-ns-1.77.0版本的docbook的stylesheet中为webhelp生成的内容中,主体内容中,顶部有部分内容不显示,即:

part content not show

官网最新的snapshot中正常的显示出来的内容是:

all can show

 

【解决过程】

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大小:

sourceforge snapshot xsl-ns zip

但是很奇怪的是,竟然结果webhelp无法编译。很是无语。

4.然后对于:

docbook-xsl-ns-1.77.0

docbook-xsl-ns-1.77.1

docbook-xsl-ns-snapshot 3.7MB的

都比较过多次,也试着把新版本的css等有不一样的问题,一点点覆盖,最后都还是没有解决问题。

5.后来无意中又找到了别的地址中的snapshot:

http://50.56.245.89/

下载了其中的的zip包的xsl-ns的snapshot,但是却是5.9MB的:

5.9MB xsl-ns snapshot

而此出的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]>
	&lt;link rel="stylesheet" type="text/css" href="../common/css/ie.css"/>
	&lt;![endif]</xsl:text></xsl:comment>

两者区别如图:

diff add if IE

其添加的判断,如果浏览器是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多,而人家:

http://50.56.245.89/

中的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 Project Snapshots

所以,上面理解是错的,而人家docbook官网,一直是正常的,只是sourceforge上面,不够新而已。呵呵。

转载请注明:在路上 » 【已解决】Docbook的docbook-xsl-ns-1.77.0中生成的webhelp的正文内容中,顶端部分的内容被遮盖了不显示的问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.164 seconds, using 22.15MB memory