昨天收到犹他州立Juergen的回信,倒是提醒了我关于网页中的动画的一件重要事情,就是交互。以前接触过Rweb,不过没有想起来怎样把它用在网页开发中,这回想起来才意识到,其实把动画的计算和作图交给别人的服务器去做就可以了,例如明尼苏达的服务器(http://rweb.stat.umn.edu/Rweb/)。我要写的一点代码就是用JavaScript在背后偷偷把R代码提交到Rweb,然后再偷偷从服务器上返回的结果中取出图片地址,放在我的网页中就可以了。这一点我想应该是容易实现的。不过就怕别人觉得这太耗服务器资源,把寡人给封掉了。
这样一来,动画网页有望进一步扩展,而不必事先把图形都做好了放在某个位置。善哉善哉。(以前lixiaoxu老师的建议可以通过“曲线救国”的方式实现了)
这两个网站是我所看到比较经典的JS图片放大效果网站:
前者是在页面内缩放,后者是采用的“全屏”效果,我看后者的代码稍微简单一些,就采用了后者,不过也借鉴了前者的一个放大镜图标,这样有助于提醒访问者他所看到的这幅图片时可以继续放大的;不过这个图标还费了我半天劲才让它在IE中也显示出来,主要是IE对CSS中文件路径的解析比较奇怪,而Firefox就能正确解析出来。
那么以后本站中的图片就可以有缩放效果啦!而且对于多幅图片,还可以以幻灯方式依次浏览,嗯,8错8错。
昨天花了好半天时间把这个Blog的模板自己重新改写了一遍,这个过程中曾经对层(div)的对齐问题恼火了一阵子,因为设置body的文本对齐为居中之后,里面的div在Firefox下死活都不肯居中对齐,后来才明白,必须得设置div的左右边距为auto才行。总体感觉Firefox对HTML的解析还是好一些,比如本页右边的那些方框中的列表项我都设置了强制不换行(white-space: nowrap;)、隐藏多余的部分(overflow: hidden;),可是当鼠标移上去的时候,IE就会把多余的部分又给显示出来,而Firefox就不会。这一点我想了半天都没找出好办法解决,于是就那样扔着吧,不管了。
其实这次改模板的主要目的是想应用<fieldset>和<legend>这两个标签,顺便把灰色的背景改为白色、把引用<blockquote>和代码<pre>的样式重新设置一下。一段时间之前我曾经看到过一个叫Planet PHP的国外Blog站,当时特别喜欢它那种像Visual Basic里面Frame控件的格式,也就是这样的:
While FIELDSET is not supported by old browsers, it can be used safely by explicitly closing any preceding P element with </P> or by including an empty P prior to the FIELDSET. This causes non-supporting browsers to infer the start of a block-level element even though they ignore the block-level FIELDSET element.
The content of a FIELDSET element must begin with a LEGEND to provide a caption for the group of controls. Following the LEGEND, FIELDSET may contain any inline or block-level element, including another FIELDSET.
因此看了看它的网页源码,发现用的是<fieldset>和<legend>标签,本来之前觉得挺神奇,还以为是用CSS+表格作出来的,看了源码才知道原来这么简单。于是乎,我这个Blog页面也就改造成这样了。
关于引用和代码的样式,其中“引用”采用了一个“引号”的图片作为背景放在左上位置,而“代码”采用了上下两条水平虚线作为分界标志,这两种样式的字号都缩小为11px,不过在IE下面看不出11px和12px汉字的区别,但在Firefox下英汉的11px字号都确实被缩小了。
近期评论