一组CSS3动力悬停效果应用于链接,按钮,标志,SVG,精选图片等等。 轻松应用到自己的元素,修改或只是用于启发。 可用CSS,Sass和LESS。
Explanation
"version": "1.0.0" 让我们开始,漫长的
css
之旅吧
无可否认, css 每个属性的相关性, 都需要斟酌, 繁琐漫长
我们也总会找到, 一劳永逸的方式, css框架-比如最出名的·bootstrap·
似乎,每个公司都有自己的css框架,!那是一定的! 网站对应风格嘛,
所以深层的道理是一样<开发者的事情❤️me
>,
看到的每个网站却也是不同的<那是设计师的事情💔>
bower.json
"main": "css/hover.css",
css 并不像 js 相互关联,
也许一个效果, 只需要几行css代码, 所以复制/粘贴也是很重要的😊
比如Grow 效果
-codepen-例子
-
下载Hover.css
-
在中
css/hover.css
,找到Grow CSS
(每个效果都使用上面的注释命名):
/* Grow */
.hvr-grow {
display: inline-block;
vertical-align: middle;
transform: translateZ(0);
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
backface-visibility: hidden;
-moz-osx-font-smoothing: grayscale;
transition-duration: 0.3s;
transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
transform: scale(1.1);
}
-
复制此效果,然后将其粘贴到您自己的样式表中。
-
在您想要显示效果的HTML文件中,将
class
添加.hvr-grow
到您选择的元素。
<a href="#" class="hvr-grow">Add to Basket</a>
正如我上面所写, css-效果, 大多数情况下, 并不需要整个css文件
甚至说, 不会这个效果, 打开调试器, 找到css, 复制/粘贴就好了
还需要特地解释嘛,
我也只能说, 知彼知己, 百战百胜
接下来,我会根据-hover-给出的效果进行解释, 章节过长, 请选择感兴趣的🌟, 需要的❤️, 就好
反正, 转头就忘了, 这就是-css
分-动画效果类型 < 前面详细, 后面只解释不同 >
更多 css 动画效果
1. Grow
/* Grow */
.hvr-grow {
display: inline-block;
/* 显示方式 > 内嵌区块 */
vertical-align: middle;
/* 反正就是对齐 */
transform: translateZ(0);
/* */
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
/* 区块阴影 */
backface-visibility: hidden;
/* 表示背面不可见 */
-moz-osx-font-smoothing: grayscale;
/* Firefox 用灰度抗锯齿渲染文本 */
transition-duration: 0.3s;
/* 动画时间 */
transition-property: transform;
/* css属性-transform 渐进变化 */
}
.hvr-grow:hover, /* 鼠标位于元素 */
.hvr-grow:focus,/* 当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发 */
.hvr-grow:active {/* 它代表的是用户按下按键和松开按键之间的时间 */
transform: scale(1.1);
/* 放大 */
}
2. Shrink
/* Shrink */
.hvr-shrink {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
/* -webkit- 各大内核的试验效果前缀 */
/* perspective 属性指定了观察者与z=0平面的距离 */
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-property: transform;
transition-property: transform;
}
.hvr-shrink:hover, .hvr-shrink:focus, .hvr-shrink:active {
-webkit-transform: scale(0.9);
transform: scale(0.9);
/* 缩小 */
}
3. Pulse
/* Pulse */
@-webkit-keyframes hvr-pulse {/* 动画效果名称-定义 */
25% { /* 时间 0% ~ 25% */
-webkit-transform: scale(1.1);
transform: scale(1.1);
/* 先大 */
}
75% { /* 时间 25% ~ 75% */
-webkit-transform: scale(0.9);
transform: scale(0.9);
/* 后小 */
}
}
@keyframes hvr-pulse {
25% {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
75% {
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
}
.hvr-pulse {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
}
.hvr-pulse:hover, .hvr-pulse:focus, .hvr-pulse:active {
/* 鼠标位于元素 */
/* 当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发 */
/* 它代表的是用户按下按键和松开按键之间的时间 */
-webkit-animation-name: hvr-pulse;
animation-name: hvr-pulse;
/* 动画名字 */
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
/* 动画-运动速率 */
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
/* infinite 无限循环播放动画. */
}
4. Pulse-Grow
/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
to { /* 元素动画-最终形态 */
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
}
@keyframes hvr-pulse-grow {
to {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
}
.hvr-pulse-grow {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
}
.hvr-pulse-grow:hover, .hvr-pulse-grow:focus, .hvr-pulse-grow:active {
/* 鼠标位于元素 */
/* 当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发 */
/* 它代表的是用户按下按键和松开按键之间的时间 */
-webkit-animation-name: hvr-pulse-grow;
animation-name: hvr-pulse-grow;
-webkit-animation-duration: 0.3s;
animation-duration: 0.3s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
/* infinite 无限循环播放动画. */
-webkit-animation-direction: alternate;
animation-direction: alternate;
/* 动画交替反向运行 */
}
5. Pulse-Shrink
/* Pulse Shrink */
@-webkit-keyframes hvr-pulse-shrink {
/* 动画名称-动作定义 */
to {
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
}
@keyframes hvr-pulse-shrink {
to {
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
}
.hvr-pulse-shrink {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
}
.hvr-pulse-shrink:hover, .hvr-pulse-shrink:focus, .hvr-pulse-shrink:active {
/* 鼠标位于元素 */
/* 当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发 */
/* 它代表的是用户按下按键和松开按键之间的时间 */
-webkit-animation-name: hvr-pulse-shrink;
animation-name: hvr-pulse-shrink;
-webkit-animation-duration: 0.3s;
animation-duration: 0.3s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
/* infinite 无限循环播放动画. */
-webkit-animation-direction: alternate;
animation-direction: alternate;
/* 动画交替反向运行 */
}
6. Push
/* Push */
@-webkit-keyframes hvr-push {
/* 0%~50% 先小 */
50% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
/* 50%~100% 后大 */
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes hvr-push {
50% {
-webkit-transform: scale(0.8);
transform: scale(0.8);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
.hvr-push {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
}
.hvr-push:hover, .hvr-push:focus, .hvr-push:active {
/* 鼠标位于元素 */
/* 当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发 */
/* 它代表的是用户按下按键和松开按键之间的时间 */
-webkit-animation-name: hvr-push;
animation-name: hvr-push;
-webkit-animation-duration: 0.3s;
animation-duration: 0.3s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
/* 运行一次 */
}
7. Pop
/* Pop */
@-webkit-keyframes hvr-pop {
/* 0~50% 大 */
50% {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
}
@keyframes hvr-pop {
50% {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
}
.hvr-pop {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
}
.hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
-webkit-animation-name: hvr-pop;
animation-name: hvr-pop;
-webkit-animation-duration: 0.3s;
animation-duration: 0.3s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
/* 运行1次 */
}
8. Bounce In
/* Bounce In */
.hvr-bounce-in {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.hvr-bounce-in:hover, .hvr-bounce-in:focus, .hvr-bounce-in:active {
-webkit-transform: scale(1.2);
transform: scale(1.2);
/* 变大 */
-webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
/* 运动曲线 先快 中慢 后快 */
}
9. Bounce Out
/* Bounce Out */
.hvr-bounce-out {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.hvr-bounce-out:hover, .hvr-bounce-out:focus, .hvr-bounce-out:active {
-webkit-transform: scale(0.8);
transform: scale(0.8);
/* 变小 */
-webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
/* 运动曲线 先快 中慢 后快 */
}
CSS属性指定用于元素的呈现框的类型
CSS 的属性 vertical-align 用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。
middle - 元素中垂线与父元素的基线加上小写x一半的高度值对齐。
CSS transform 属性允许你修改CSS视觉格式模型的坐标空间。使用它,元素可以被转换(translate)、旋转(rotate)、缩放(scale)、倾斜(skew)。 只应用-
display:*block*
的元素
定义元素-broder-边缘阴影
属性指定当元素背面朝向观察者时是否可见
Firefox 实现了名为 -moz-osx-font-smoothing 的相似属性。这个属性仅在 Mac OS X / macOS 下生效。
属性以秒或毫秒为单位指定过渡动画所需的时间。默认值为 0s ,表示不出现过渡动画
指定哪个或哪些 CSS 属性用于过渡。只有指定的属性才会在过渡中发生动画,其它属性仍如通常那样瞬间变化。
CSS 属性指示动画是否反向播放
CSS伪类适用于用户使用指示设备虚指一个元素(没有激活它)的情况
当用户点击或触摸元素或通过键盘的 “tab” 键选择它时会被触发
它代表的是用户按下按键和松开按键之间的时间