伪类:hover的法则: 在CSS1中,此伪类仅可用于a工具。且对付无href属性的a工具,此伪类不产生浸染; 在CSS2中,此伪类可以应用于任何工具; 今朝IE5.5、IE6仅支持CSS1中的:hover,不外新出的IE7以及Firefox 支持CSS2中的:hover。 先用CSS2的写法来实现:
提醒:可修改儿女码再运行!
各人可以测试发此刻Firefox等对CSS2支持很好的赏识器中,可以表现我们所要到达的结果,但在IE6中却无法实现。 下面让我们换一种思想,行使CSS1的写法来看看: 在CSS1中,因为无法支持li元素:hover的行使,以是把笔墨包括到a中,对a行使:hover,而且将要表现潜匿的部门放到span元素中; CSS中我们将a的配置成块级元素,并使a的巨细和宽度和li的沟通; 并配置a为相对位置,用a来模仿上例中的li; 而用span来模仿上例中的a,配置span在默认环境下潜匿(display:none;); 当a被触发时(:hover),则span表现(display:block;); 但,假如凭证以上方法修改后,示例的结果,在IE6中依然无法表现。 缘故起因是:IE赏识器 自身理会的题目,是IE5.5和IE6中伪类:hover的BUG。 怎样办理这个题目呢? 这个BUG可以通过在链接的属性中增进某些非凡的CSS属性声明来消除。 li a:hover {} 对其属性我们仅设定width:100px;发此刻IE6中仍旧没有变革,我们实行着变动width的value,好比使其width:99px,稀疏的工作产生了,在IE6中,潜匿的部门在触发的时辰表现出来了。我们再对li a:hover的属性仅设定color来测试(初始值为#fff),变动color值,发此刻IE6下却也不能触发表现。。。 最后总结发明,除了text-decoration,color,z-index不能触发表现(对付不能触发表现的部门,可以尚有某些漏掉的属性)外,其他属性均可以做为消除伪类:hover BUG的特定属性。 声名: 1、不提议改变display值来做为特定属性消除此BUG,并且在某些例子中此属性不必然能消除BUG。 2、对付做为特定属性的border和background中的颜色我们还可用全写和简写来改变,如#fff和#ffffff在消除BUG中理会为2个差异的值。 CSS1的写法最终结果:
提醒:可修改儿女码再运行!
起码代码实现版(xugang实现):
提醒:可修改儿女码再运行!
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!