<!DOCTYPE html>
<html><head>
<title>测试</title>
<meta charset="UTF-8">
<style>
*{margin:0;}
/* The wrapper */
.b-block {
position: relative;
display: inline-block;
overflow: hidden;
width: 10em;
height: 10em;
vertical-align: middle;
-webkit-transform: translateZ(0);
}
/* The blocks that would be hovered */
.b-block__hoverer {
position: absolute;
z-index: 1;
width: 71%;
height: 71%;
opacity:0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
/* Positioning for hoverers */
.b-block__hoverer:nth-child(1) {
top: 0;
right: 0;
-webkit-transform-origin: 100% 0;
-moz-transform-origin: 100% 0;
-o-transform-origin: 100% 0;
transform-origin: 100% 0;
}
.b-block__hoverer:nth-child(2) {
bottom: 0;
right: 0;
-webkit-transform-origin: 100% 100%;
-moz-transform-origin: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin: 100% 100%;
}
.b-block__hoverer:nth-child(3) {
bottom: 0;
left: 0;
-webkit-transform-origin: 0 100%;
-moz-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
}
.b-block__hoverer:nth-child(4) {
top: 0;
left: 0;
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0;
}
/* Enlarge the hoverer to cover the whole area */
.b-block__hoverer:hover {
z-index: 9;
line-height: 10em;
text-align:center;
opacity:1;
width: 100%;
height: 100%;
-webkit-transform: none;
-moz-transform: none;
-o-transform: none;
transform: none;
}
/* Styles for content block */
.b-block__content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
line-height: 10em;
background: #333;
color: #FFF;
/* Restore the antialiasing lost from translateZ */
-webkit-font-smoothing: subpixel-antialiased;
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
-webkit-box-shadow: 0 -10em 0 0 red, 10em 0 0 0 pink, 0 10em 0 0 lime, -10em 0 0 0 orange;
-moz-box-shadow: 0 -10em 0 0 red, 10em 0 0 0 pink, 0 10em 0 0 lime, -10em 0 0 0 orange;
box-shadow: 0 -10em 0 0 red, 10em 0 0 0 pink, 0 10em 0 0 lime, -10em 0 0 0 orange;
}
/* Move the content block while hovering different blocks */
.b-block__hoverer:nth-child(1):hover ~ .b-block__content {
-webkit-transform: translate(0, 100%);
-moz-transform: translate(0, 100%);
-o-transform: translate(0, 100%);
transform: translate(0, 100%);
}
.b-block__hoverer:nth-child(2):hover ~ .b-block__content {
-webkit-transform: translate(-100%, 0);
-moz-transform: translate(-100%, 0);
-o-transform: translate(-100%, 0);
transform: translate(-100%, 0);
}
.b-block__hoverer:nth-child(3):hover ~ .b-block__content {
-webkit-transform: translate(0, -100%);
-moz-transform: translate(0, -100%);
-o-transform: translate(0, -100%);
transform: translate(0, -100%);
}
.b-block__hoverer:nth-child(4):hover ~ .b-block__content {
-webkit-transform: translate(100%, 0);
-moz-transform: translate(100%, 0);
-o-transform: translate(100%, 0);
transform: translate(100%, 0);
}
/* Just for aestetics */
BODY {
padding: 2em;
font: 16px/1.5 "Helvetica Neue", Arial, sans-serif;
text-align: center;
}
</style>
</head>
<body >
<p>Try to hover this block from different directions</p>
<p>↓</p>
<span>→ </span>
<div class="b-block">
<div class="b-block__hoverer">A</div>
<div class="b-block__hoverer">B</div>
<div class="b-block__hoverer">C</div>
<div class="b-block__hoverer">D</div>
<div class="b-block__content">
Hover me!
</div>
</div>
<span> ←</span>
<p>↑</p>
</body></html>
分享到:
相关推荐
在这个例子中,当鼠标悬停在图片容器上时,文字的`opacity`会从0平滑过渡到1,同时`transform`的`translateY`也会从负值变为0,使得文字从下方逐渐显现或滑入视图。 总结起来,CSS3的`transition`属性提供了一种...
"纯css3鼠标滑过图片炫酷标题显示特效"是一个利用CSS3特性的创新实践,它展示了如何通过纯CSS代码实现交互式用户界面。这个插件的核心在于,当用户将鼠标指针悬停在图片上时,会触发一系列动态效果,增强用户体验,...
例如,创建一个从右到左滑入的动画: ```css .slide-left { animation: slideLeft 1s ease-in-out; } @keyframes slideLeft { 0% { transform: translateX(100%); } 100% { transform: translateX(0); } } ``` ...
本篇文章将详细探讨如何使用jQuery库实现一个鼠标滑过时菜单颜色渐变显示的特效,提升网站的视觉吸引力和操作体验。 首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等...
- **案例展示**:案例在用户滚动到时从屏幕边缘滑入。 综上所述,WOW.js结合CSS3动画库,为网页设计带来了更生动、更有趣的用户体验。通过灵活的配置和自定义,开发者可以轻松实现各种创意的滚动动画效果,提升网站...
当鼠标移入元素时,第一个函数被执行;当鼠标离开元素时,第二个函数被执行。在这个特效中,我们可以在鼠标进入九宫格单元格时启动动画,离开时则停止或还原动画。 四、文字滑动切换 实现文字滑动切换,我们可以...
过渡效果由四个主要部分组成:`transition-property`定义要改变的属性,`transition-duration`定义过渡的持续时间,`transition-timing-function`控制速度曲线,以及`transition-delay`设定延迟开始的时间。...
4. 动态效果:例如,滑入滑出、渐变颜色、旋转等,可以使用CSS动画(@keyframes)和过渡(transition)实现。 5. 交互式菜单:通过JavaScript和CSS配合,可以实现更复杂的交互,如计数器、搜索框、多级下拉等。 6....
5. **滑动门效果**:滑动门通常利用CSS和JS配合实现,通过调整元素的宽度或高度,让部分内容“滑入”或“滑出”视区,产生动画效果。这可能涉及到CSS的`transition`属性来平滑过渡,以及JS的`setTimeout`或`...
1. **滑入滑出**:通过`opacity`和`transform`实现导航项的滑入滑出动画。 2. **过渡动画**:利用`transition`为导航条添加动态效果,如颜色变化、大小变化等。 3. **旋转过渡**:通过`rotate`实现链接或图标在悬停...
1. 滑动效果:常见的导航菜单动画是滑入滑出,通过`.slideToggle()`方法,可以轻松实现菜单项在点击时的展开和收起。 2. 淡入淡出:`.fadeIn()`和`.fadeOut()`方法可以让导航链接在鼠标悬停时逐渐显现或消失,增加...
8. **过渡(transition)和动画(animation)**:CSS3引入了过渡和动画,可以为导航条添加平滑的动态效果,如按钮悬停时的背景色变化,或者下拉菜单的滑入滑出效果。 9. **Flexbox布局**:现代CSS布局推荐使用...
2. 动画效果:利用CSS3的transition属性,当鼠标悬停在菜单项上时,菜单子项会平滑地滑入视野;移开鼠标时,子项会同样平滑地滑出。JavaScript可以精确控制这些动画的开始和结束时间,以确保效果流畅。 3. 层级结构...
4. 滑动菜单:菜单项在鼠标触发时滑入或滑出视图。 5. 弹出式菜单:点击菜单项后,子菜单以弹出窗口的形式出现。 6. 圆角菜单:通过CSS3的border-radius属性实现圆润的菜单角。 7. 图标菜单:结合图标和文字,提高...
2. 滑动效果:通过CSS的`transition`和`transform`属性,可以添加平滑的滑入滑出动画,增强用户体验。 3. 导航栏固定:当页面滚动时,可以使用`position: fixed`将导航栏固定在屏幕顶部,以便用户始终能访问导航。 ...
3. 动态反馈:通过CSS3的`transition`和`animation`属性,实现当用户输入时的实时验证提示,例如错误提示的滑入滑出效果。 4. 响应式布局:使用媒体查询(`@media`)实现不同设备屏幕下的适配,保证在手机、平板电脑...
在这个案例中,jQuery被用来控制导航栏的滑动行为,例如,当用户滚动页面时,导航栏可能会滑入或滑出视线,或者在鼠标悬停时产生平滑的过渡效果。 HTML5是现代网页开发的标准,提供了更多的语义化元素和API。在创建...
在本篇中,我们将深入探讨七个精美的Web前端动画效果的实现,这些效果可以极大地提升用户体验,让网站更具吸引力和互动性。我们将主要关注前端开发中的JavaScript库和框架,特别是jQuery,以及UI设计的一些关键原则...
在这个二级导航栏的实现中,jQuery主要用于添加动态效果,如滑入、滑出等,以提升用户体验。 一、HTML结构 二级导航栏通常由一级菜单项和二级子菜单组成。HTML代码应包含`<ul>`和`<li>`元素来构建菜单结构。一级...
这里,`transition`属性接受四个值:`property duration timing-function delay`,分别表示要过渡的CSS属性、过渡时间、缓动函数以及延迟时间。在上述例子中,我们只设置了`display`属性的过渡,并使用了默认的延迟...