错误例子:
ul :hover{} //ul的所有子元素设置了hover样式
正确例子:
ul:hover{} //ul会显示出想要的效果
ul:hover .one{// 子元素写在hover后面空格隔开
transform:rotateY(90deg)
}
ul:hover .two{
transform:rotateY(0deg)
}
ul:hover .thr{
transform:rotateY(360deg)
}
仅可以给自身的子元素设置样式 ,给其他元素子元素设置无效
接着上个例子举例子:
div:hover .one{}//不显示任何效果,hover失效
给兄弟元素设置:
ul:hover+.one
单纯只css做不到这个要求,hover的使用方法如下:
<head><title></title>
<style type="text/css">
a:link{color: #F00}
a:visited{color: #00F}
a:hover{color: #0F0}
a:active{color: #FF0}
</style>
</head>
<body>
<p style="color:#399"><a href="#">文字</a></p>
</body>
</html>
但是可以用js辅助完成这个效果,使用onMouseOver(鼠标移到目标上)和onMouseOut(鼠标移开目标后)实现对a标签或其它html标签设置hover样式。
直接对标签使用即可,无论A标签、SPAN标签、DIV标签等均可。
<a style="color:#00F text-decoration:none"onMouseOver="this.style.color='#F00'this.style.textDecoration='underline'"
onMouseOut="this.style.color='#00F'this.style.textDecoration='none'">
DIVCSS5
</a>
以上对a超链接代码设置默认样式、鼠标移到目标上、鼠标移开目标后样式。特点代码比较长。
DIVCSS5重要提示说明:为了看到鼠标移开后与默认样式相同,通常需要直接对标签使用style设置默认CSS样式并且与onMouseOut设置CSS样式保持相同。以免初始状态对象样式与鼠标移开对象后样式的不同。
但是另外需要注意:淘宝的描述页是无法使用外置css或者js模块的,外置css模块需要购买,js模块还没有开放
CSS3给伪元素before添加hover操作:
1、伪元素的由两个冒号“::”开头,然后是伪元素的名称 ,使用两个冒号是为了区别伪类和伪元素。当然,考虑到兼容性,CSS2中已存的伪元素仍然可以使用一个冒号的语法,但是CSS3中新增的伪元素必须使用两个冒号;
2、一个选择器只能使用一个伪元素,并且伪元素必须处于选择器语句的最后,如果我们利用伪元素来进行动画设置,需要给父元素添加样式(position:relative);给:after或者:before添加(position:absolute);
3、某些内容时,只用在css样式表中利用:after与:before来输入内容样式,但更多的,可以结合伪类:hover 来设置动画样式。
这里要注意的是,这几个伪类如果同时出现在一个元素的操作上,顺序不能改变,否则很大程度上会产生紊乱,效果不生效。