css3有哪些不错的hover效果

html-css011

css3有哪些不错的hover效果,第1张

CSS3在hover下的几种效果代码分享,CSS3在鼠标经过时的几种效果集锦

效果一:360°旋转 修改rotate(旋转度数)

01* {

02transition:All 0.4s ease-in-out

03-webkit-transition:All 0.4s ease-in-out

04-moz-transition:All 0.4s ease-in-out

05-o-transition:All 0.4s ease-in-out

06}

07*:hover {

08transform:rotate(360deg)

09-webkit-transform:rotate(360deg)

10-moz-transform:rotate(360deg)

11-o-transform:rotate(360deg)

12-ms-transform:rotate(360deg)

13}

效果二:放大 修改scale(放大的值)

01* {

02transition:All 0.4s ease-in-out

03-webkit-transition:All 0.4s ease-in-out

04-moz-transition:All 0.4s ease-in-out

05-o-transition:All 0.4s ease-in-out

06}

07*:hover {

08transform:scale(1.2)

09-webkit-transform:scale(1.2)

10-moz-transform:scale(1.2)

11-o-transform:scale(1.2)

12-ms-transform:scale(1.2)

13}

效果三:旋转放大 修改rotate(旋转度数) scale(放大值)

01* {

02transition:All 0.4s ease-in-out

03-webkit-transition:All 0.4s ease-in-out

04-moz-transition:All 0.4s ease-in-out

05-o-transition:All 0.4s ease-in-out

06}

07*:hover {

08transform:rotate(360deg) scale(1.2)

09-webkit-transform:rotate(360deg) scale(1.2)

10-moz-transform:rotate(360deg) scale(1.2)

11-o-transform:rotate(360deg) scale(1.2)

12-ms-transform:rotate(360deg) scale(1.2)

13}

效果四:上下左右移动 修改translate(x轴,y轴)

01* {

02transition:All 0.4s ease-in-out

03-webkit-transition:All 0.4s ease-in-out

04-moz-transition:All 0.4s ease-in-out

05-o-transition:All 0.4s ease-in-out

06}

07*:hover {

08transform:translate(0,-10px)

09-webkit-transform:translate(0,-10px)

10-moz-transform:translate(0,-10px)

11-o-transform:translate(0,-10px)

12-ms-transform:translate(0,-10px)

13}

简单的说,CSS3把很多以前需要使用图片和脚本来实现的效果,只需要短短几行代码就能搞定。

1、CSS进行渐变背影的设置,在background中添加了linear-gradient线性渐变,

background: linear-gradient(yellow 0%, #000 80%)/*从0%黄色到80%黑色的渐变*/

2、CSS 3D

perspective:查看视图的位置,如拍照时的镜头位置一样。

transform-style中preserve-3d,设置了此属性时,将子元素包裹在一个3D视图里。

3、CSS animation

说到动画就不得不说jQuery的animation。但有了CSS3后就再也不用JS进行制作动画了。

keyframes定义帧动画,可根据百分比进行设置,也可利用from和to的方式进行设置。

利用animation引用定义好的keyframes帧动画。animation:rotate 20s infinite linear/*设置引用的动画,动画时间,动画的timing-function,动画方式*/

4、CSS filter

fileter并非IE的过滤器,是CSS3中新添加的属性。

包含效果有:grayscale灰度,sepia褐色,saturate饱和度,hue-rotate色相旋转,invert反色,opacity透明度,brightness亮度,contrast对比度,blur模糊,drop-shadow阴影.

挤压效果就是利用filter中的blur加saturate混合而来

参考下面方法:

1先实现一个小雨滴

首先雨滴是一个个小的椭圆形元素:

.raindrop {

width: 8px

height: 7px

border-radius: 100%

}

2其次雨滴是一个个凸透镜,能折射出远处的景色,远景所处位置远大于2倍焦距,成倒立、缩小的实像。

“倒立”的效果可以通过旋转180°来实现,“缩小”的效果通过设置背景图片的尺寸来达到(下面把背景图缩小到全屏的5%并居中)。

.raindrop {

position: absolute

background-image: url("背景图地址")比如:i.imgur.com/xQdYC7x.jpg 前面加上http://。

background-size: 5vw 5vh

background-position: 50%

transform: rotate(180deg) rotateY(0)

}

这样就得到了一个小雨点。

3随机雨滴

接着要创建一些随机分布的雨点对象,假如只有几个,可以手动编写CSS代码,但如果有几十个,直接写CSS代码的效率和可维护性就很差了。

使用SCSS的random方法,来随机微调雨点对象的尺寸和绝对位置。

// 生成0到1之间的随机数

$x:random()

$y:random()

// 随机尺寸和位置

$drop-width:5px+random(11)

$drop-stretch:0.7+(random()*0.5)

$drop-height:$drop-width*$drop-stretch

.raindrop:nth-child(#{$i}){

left:$x * $width

top:$y * $height

width:$drop-width

height:$drop-height

background-position:percentage($x) percentage($y)

}

}

4效果增强

还可以给雨滴添加一点闪光的视觉效果,通过CSS3滤镜来实现:

[css] view plain copy

.raindrop {

filter: brightness(1.2)

-webkit-filter: brightness(1.2)

}