`
mutongwu
  • 浏览: 449062 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

四个方向鼠标滑入的css动画

    博客分类:
  • CSS
阅读更多
<!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>
分享到:
评论

相关推荐

    纯css3 transition鼠标悬停图片文字动画显示

    在这个例子中,当鼠标悬停在图片容器上时,文字的`opacity`会从0平滑过渡到1,同时`transform`的`translateY`也会从负值变为0,使得文字从下方逐渐显现或滑入视图。 总结起来,CSS3的`transition`属性提供了一种...

    纯css3鼠标滑过图片炫酷标题显示特效

    "纯css3鼠标滑过图片炫酷标题显示特效"是一个利用CSS3特性的创新实践,它展示了如何通过纯CSS代码实现交互式用户界面。这个插件的核心在于,当用户将鼠标指针悬停在图片上时,会触发一系列动态效果,增强用户体验,...

    CSS3动画特效

    例如,创建一个从右到左滑入的动画: ```css .slide-left { animation: slideLeft 1s ease-in-out; } @keyframes slideLeft { 0% { transform: translateX(100%); } 100% { transform: translateX(0); } } ``` ...

    jquery鼠标滑过菜单颜色渐变显示.rar

    本篇文章将详细探讨如何使用jQuery库实现一个鼠标滑过时菜单颜色渐变显示的特效,提升网站的视觉吸引力和操作体验。 首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等...

    WOW.js-元素在页面滚动时展示CSS3动画JS插件.zip

    - **案例展示**:案例在用户滚动到时从屏幕边缘滑入。 综上所述,WOW.js结合CSS3动画库,为网页设计带来了更生动、更有趣的用户体验。通过灵活的配置和自定义,开发者可以轻松实现各种创意的滚动动画效果,提升网站...

    jQuery鼠标经过九宫格动画效果.zip

    当鼠标移入元素时,第一个函数被执行;当鼠标离开元素时,第二个函数被执行。在这个特效中,我们可以在鼠标进入九宫格单元格时启动动画,离开时则停止或还原动画。 四、文字滑动切换 实现文字滑动切换,我们可以...

    鼠标移上去,图片切换效果

    过渡效果由四个主要部分组成:`transition-property`定义要改变的属性,`transition-duration`定义过渡的持续时间,`transition-timing-function`控制速度曲线,以及`transition-delay`设定延迟开始的时间。...

    css.rar_css

    4. 动态效果:例如,滑入滑出、渐变颜色、旋转等,可以使用CSS动画(@keyframes)和过渡(transition)实现。 5. 交互式菜单:通过JavaScript和CSS配合,可以实现更复杂的交互,如计数器、搜索框、多级下拉等。 6....

    CSS+JS实现的圆角边框TAB选项卡滑动门代码

    5. **滑动门效果**:滑动门通常利用CSS和JS配合实现,通过调整元素的宽度或高度,让部分内容“滑入”或“滑出”视区,产生动画效果。这可能涉及到CSS的`transition`属性来平滑过渡,以及JS的`setTimeout`或`...

    23种CSS导航条样式

    1. **滑入滑出**:通过`opacity`和`transform`实现导航项的滑入滑出动画。 2. **过渡动画**:利用`transition`为导航条添加动态效果,如颜色变化、大小变化等。 3. **旋转过渡**:通过`rotate`实现链接或图标在悬停...

    JQUERY动画导航

    1. 滑动效果:常见的导航菜单动画是滑入滑出,通过`.slideToggle()`方法,可以轻松实现菜单项在点击时的展开和收起。 2. 淡入淡出:`.fadeIn()`和`.fadeOut()`方法可以让导航链接在鼠标悬停时逐渐显现或消失,增加...

    水平导航纯CSS模仿百度导航.zip

    8. **过渡(transition)和动画(animation)**:CSS3引入了过渡和动画,可以为导航条添加平滑的动态效果,如按钮悬停时的背景色变化,或者下拉菜单的滑入滑出效果。 9. **Flexbox布局**:现代CSS布局推荐使用...

    sdmenu.rar_SDMenu download_javascript_sdmenu_sdmenu css_sdmenu和m

    2. 动画效果:利用CSS3的transition属性,当鼠标悬停在菜单项上时,菜单子项会平滑地滑入视野;移开鼠标时,子项会同样平滑地滑出。JavaScript可以精确控制这些动画的开始和结束时间,以确保效果流畅。 3. 层级结构...

    菜单导航(DIV+CSS)30种

    4. 滑动菜单:菜单项在鼠标触发时滑入或滑出视图。 5. 弹出式菜单:点击菜单项后,子菜单以弹出窗口的形式出现。 6. 圆角菜单:通过CSS3的border-radius属性实现圆润的菜单角。 7. 图标菜单:结合图标和文字,提高...

    Css 导航 中英文

    2. 滑动效果:通过CSS的`transition`和`transform`属性,可以添加平滑的滑入滑出动画,增强用户体验。 3. 导航栏固定:当页面滚动时,可以使用`position: fixed`将导航栏固定在屏幕顶部,以便用户始终能访问导航。 ...

    jq+css3用户注册.zip

    3. 动态反馈:通过CSS3的`transition`和`animation`属性,实现当用户输入时的实时验证提示,例如错误提示的滑入滑出效果。 4. 响应式布局:使用媒体查询(`@media`)实现不同设备屏幕下的适配,保证在手机、平板电脑...

    蓝色jQuery滑动导航栏.zip

    在这个案例中,jQuery被用来控制导航栏的滑动行为,例如,当用户滚动页面时,导航栏可能会滑入或滑出视线,或者在鼠标悬停时产生平滑的过渡效果。 HTML5是现代网页开发的标准,提供了更多的语义化元素和API。在创建...

    7个异常精美的Web前端动画效果的实现(四)

    在本篇中,我们将深入探讨七个精美的Web前端动画效果的实现,这些效果可以极大地提升用户体验,让网站更具吸引力和互动性。我们将主要关注前端开发中的JavaScript库和框架,特别是jQuery,以及UI设计的一些关键原则...

    jQuery带简单动画效果的二级导航栏

    在这个二级导航栏的实现中,jQuery主要用于添加动态效果,如滑入、滑出等,以提升用户体验。 一、HTML结构 二级导航栏通常由一级菜单项和二级子菜单组成。HTML代码应包含`&lt;ul&gt;`和`&lt;li&gt;`元素来构建菜单结构。一级...

    CSS3二级下拉菜单展开时菜单会出现滑动效果.zip

    这里,`transition`属性接受四个值:`property duration timing-function delay`,分别表示要过渡的CSS属性、过渡时间、缓动函数以及延迟时间。在上述例子中,我们只设置了`display`属性的过渡,并使用了默认的延迟...

Global site tag (gtag.js) - Google Analytics