博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3 transition属性配合Js实现超链接“背景”过渡渐变出现效果
阅读量:4949 次
发布时间:2019-06-11

本文共 1964 字,大约阅读时间需要 6 分钟。

w3school给出的这个transition效果例子是在当前div被hover时平滑过渡改变其宽度(http://www.w3school.com.cn/tiy/t.asp?f=css3_transition1)

其示例程序是:

div {
width:100px; height:100px; background:yellow; transition:width 2s; -moz-transition:width 2s; /* Firefox 4 */ -webkit-transition:width 2s; /* Safari and Chrome */ -o-transition:width 2s; /* Opera */}div:hover {
width:300px;}

 

那么,当超链接“背景”需要这样的效果该如何实现呢?这里我们可以看到上面的实例只在当前层被hover时过渡渐变自身宽度,实例中只有“1层”——即一个当前div层,而这里的目标场景下我觉得至少包含“2层”(因为我觉得background背景似乎不能渐变,所以需要额外的img来模拟“背景层”),先看看我的HTML结构和CSS表现:

.a {
display:inline-block; *display:inline; *zoom:1; width:85px; height:95px; /*定义父div层内容区高度*/ vertical-align:top; text-align:center; line-height:95px; float:left; position:relative;}.a a {
color:#FFFEFF; text-decoration:none;}.a .aback {
width:85px; height:0; /*定义“背景层”初始高度为0,达到初始时"背景层"不可见的效果*/ position:absolute; z-index:-1; display:block; transition:height 1s; -moz-transition:height 1s; /* Firefox 4 */ -webkit-transition:height 1s; /* Safari and Chrome */ -o-transition:height 1s; /* Opera */}

<父div与子img及a在HTML级形成两层层次关系;img和a在CSS级形成两层层次关系>

显然这里的“背景”层已经不像w3school实例中的纯粹的“当前层”,那么怎样实现在超链接层被hover时其兄弟层——“背景”层变得像“当前层”类似拥有过渡渐变的效果呢?我觉得可以用JS来模拟“当前层的CSS hover”,下面先给出一种简单的做法:

$(function () {        $('.a').hover(            function () {                $(this).children('.aback').css('height', 95);            },            function () {                $(this).children('.aback').css('height', 0);            }        );    });

另外,附上img图片,就是这蓝色的从上到下过渡渐变效果的“背景”层

 

最后一点小猜想,改变图片透明度让蓝色图片没有绿色背景而全透明,再改变z-index值为1让“背景层”处在超链接层之上,估计当div层被hover时可能会造成超链接不可点击的情况

 

归于简,归于无,菜鸟教程的这个效果不也提供了一个思路么?而且非常简约http://www.runoob.com/try/tryit.php?filename=jqueryui-api-blind-effect

 

转载于:https://www.cnblogs.com/Arlar/p/5020755.html

你可能感兴趣的文章
KVM地址翻译流程及EPT页表的建立过程
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码...
查看>>
程序员如何提高影响力:手把手教你塑造个人品牌
查看>>
身份证校验原理和PHP实现
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
计算机
查看>>
Ext JS学习第十三天 Ext基础之 Ext.Element
查看>>
python--迭代器与生成器
查看>>
SQL之case when then用法详解
查看>>
STL 排序函数
查看>>
Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) ADFS虚拟机环境搭建的步骤(CRM与ADFS装在同一台服务器上) 摘自网络...
查看>>
Setting up a Passive FTP Server in Windows Azure VM(ReplyCode: 227, Entering Passive Mode )
查看>>
Atitit mtp ptp rndis midi协议的不同区别
查看>>
Ajax辅助方法
查看>>
Python模块调用
查看>>
委托的调用
查看>>
c#中从string数组转换到int数组
查看>>