《精通CSS》读书笔记(五)

续[url=http://hax.iteye.com/blog/117241]上篇[/url]。

第4章

本章讨论了链接上的样式。

关于A上伪类的顺序,应按照LoVeHAte(Link Visited Hover Active)。

此外,关于链接伪类补充如下:

根据CSS21,link和visited伪类是互斥的,也就是*:link:visited不可能选择到任何元素。而hover、active与新增的focus伪类,可以共存于一个元素上。因此可以有以下的样式:

a:link:hover { color:red; text-decoration:underline }
a:visited:hover { color:maroon }
a:link { color:blue; text-decoration:none; }
a:visited { color:navy; text-decoration:none; }
a:active { background:green; color:white; }
a:visited:hover:active { text-decoration:line-through }

另,hover、active等动态伪类不限于A,也可以在其他某些元素上。但是IE6不支持。

active伪类还有点问题,因为早期规范定义不清,各个浏览器实现稍有不同。其中IE最离谱,实际效果近似一个只在a上有效的:focus伪类。实际上,IE DOM中的名为onactivate/ondeactivate的事件,也说明了IE是把active看成是一种特殊的focus的。

关于给外部链接加上图标,以及区分下载类型,是属性选择器的极好应用,只是IE6不支持。

Pixy方法,即将若干图合并于一个图片的方法,减少了http请求的数量,也避免了hover切换时的延迟。许多其他trick可以使用pixy方法,例如上一篇里提到的sliding door等。

本书还指出了Pixy方法受到IE的cache bug影响会闪烁。但是书中并没有说清楚这个问题。但其实该bug是有条件的,即IE的cache设置为Every visit to the page,而不是默认的Automatically。基本上,只有开发者才会把cache设置为每次访问检查更新,所以这个bug其实不会影响真正的用户(根据我在winxpsp2的ie6下测试,虽然可能仍然调用了一次网络存取的api,但是并没有发生实际的请求,症状就是鼠标有极短时间的抖动,但是图像不会闪烁)。此外有人发现了一个未公开的方法来让IE对背景图进行缓存:
document.execCommand("BackgroundImageCache",false,true)
使用这种方法甚至避免了api调用,貌似是直接缓存在IE内存中。
详见:[url]http://www.mister-pixel.com/[/url]。
BTW,我计划还要对这种方法做一些测试,看看是否能解决[url=http://blog.youkuaiyun.com/hax/archive/2006/11/23/1406679.aspx]vml缓存问题[/url]。

最后关于visited:在已访问链接后加一个打勾的图标,是一个很有意思的设计,可资参考。

待[url=http://hax.iteye.com/blog/117666]续[/url]...
资源下载链接为: https://pan.quark.cn/s/3d8e22c21839 随着 Web UI 框架(如 EasyUI、JqueryUI、Ext、DWZ 等)的不断发展与成熟,系统界面的统一化设计逐渐成为可能,同时代码生成器也能够生成符合统一规范的界面。在这种背景下,“代码生成 + 手工合并”的半智能开发模式正逐渐成为新的开发趋势。通过代码生成器,单表数据模型以及一对多数据模型的增删改查功能可以被直接生成并投入使用,这能够有效节省大约 80% 的开发工作量,从而显著提升开发效率。 JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台。它引领了一种全新的开发模式,即从在线编码(Online Coding)到代码生成器生成代码,再到手工合并(Merge)的智能开发流程。该平台能够帮助开发者解决 Java 项目中大约 90% 的重复性工作,让开发者可以将更多的精力集中在业务逻辑的实现上。它不仅能够快速提高开发效率,帮助公司节省大量的人力成本,同时也保持了开发的灵活性。 JEECG 的核心宗旨是:对于简单的功能,可以通过在线编码配置来实现;对于复杂的功能,则利用代码生成器生成代码后,再进行手工合并;对于复杂的流程业务,采用表单自定义的方式进行处理,而业务流程则通过工作流来实现,并且可以扩展出任务接口,供开发者编写具体的业务逻辑。通过这种方式,JEECG 实现了流程任务节点和任务接口的灵活配置,既保证了开发的高效性,又兼顾了项目的灵活性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值