css3中outline切换动画效果

今天刚看了篇文章《纯CSS实现的outline切换transition动画效果》

里面的效果研究了一下,下图为实现时的效果

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
    .focus-trans{
        position: absolute;         // 那个移动的外发光的框框的初始位置和大小
        left: 99px;
        top: -100px;
        width: 100px;
        height: 30px;     // Chrome浏览器下使用浏览器自带的focus效果,这里的5px其实是酱油
        outline: 5px auto -webkit-focus-ring-color;    // IE10+, FireFox浏览器下蓝色的蓝色框框效果(模拟Safari)
        box-shadow: 0 0 2px 3px #78aeda, 0 0 2px #78aeda inset;
        -webkit-box-shadow: none;
        border-radius: 3px;    // 为的是失去焦点时候,框框立即消失
        -webkit-transition: none;
        transition: none;     // Firefox有bug,所以这里补丁了下
        -moz-transition: all .15s;
    }

    form .num:focus ~.focus-trans{ 

        width: 200px;
        height: 30px;
        left: 70px;
        top: 35px;
    }
    form .psw:focus ~.focus-trans{ 

        width: 200px;
        height: 30px;
        left: 70px;
        top: 75px;
    }
    form .submit:focus ~.focus-trans{ 

        width: 100px;
        height: 30px;
        left: 21px;
        top: 116px;
    }
    form input{
        background-color: #ddd;
        border:none;
        margin-bottom:3%;
    }
    form .num{
        width:200px;
        height:30px;
    }
    form .psw{
        width:200px;
        height:30px;
    }
     form .submit{
        width:100px;
        height:30px;
    }
</style>
<body>
   <fieldset>
       <legend>测试效果</legend>
       <form action="">

            账号:<input  type="text" class="num"><br/>
            密码:<input type="text" class="psw"><br/>
            <input type="button" class="submit" value="确认">
            <div class="focus-trans"></div>
        </form>
   </fieldset>

</body>
<script>

</script>
</html>

听说还有一个flying-focus.js 可以实现这种效果

评价:

使用很简单,只要在页面上加载了下面这个JS: flying-focus.js 就可以实现Tab切换焦点框的时候,焦点框是飞过去的~~

看上去很酷。

不过,对于实际的对外项目而言,价值并不大。首先是兼容性,其次是JS依赖,再者是全局处理(影响页面所有元素)。由于借助pointer-events:none,只有Chrome以及Safari支持。不过,在一些特殊或重要的表单上使用这种增强的交互可能会有出彩的效果。也就是只适合局部使用。或者在个人网站上用用。对于大多数内网项目,华而不实的效果没有任何意义。

相比JS方法,我这里的CSS只是针对demo中的表单有效果,支持的浏览器多了一类,就是IE10+.

使用了focus伪类和相邻选择器对外发光的元素进行了位置和尺寸的控制,配合transition就有了动画效果啦!

上为原作者的阐述

本文参考自:http://www.zhangxinxu.com/wordpress/2013/11/%E7%BA%AFcss-focus-outline-%E5%88%87%E6%8D%A2-transition-%E5%8A%A8%E7%94%BB/

时间: 2024-10-22 23:34:47

css3中outline切换动画效果的相关文章

iOS Controller中视图切换动画效果

最近在一个小项目中遇到一个动画切换的效果,一时被难到了,后来又去看了下苹果公司提供的动画类,找到了几个动画的执行方法,这些默认的动画方法足够满足一般需求的动画效果了,接下来贴代码 首先我们在Controller中创建对应的按钮按钮 CGFloat mainHeight = [UIScreen mainScreen].bounds.size.height; NSArray titleArr = @[@"添加",@"翻页",@"移入",@"

太赞了!超炫的页面切换动画效果【附源码下载】

今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果.虽然有些效果都非常简单,只是简单的滑动动作,但另外的一些则是利用了视角(Perspective)和 3D 转换(3D Transforms)来创造一些立体动感的效果. 立即下载      在线演示 温馨提示:为保证最佳的效果,请在 IE10+.Chrome.Firefox 和 Safari 等现代浏览器中浏览. CSS 动画根据它们的实现的效果分为不同的组.为展示

css3制作的载入动画效果,效果很震撼!

  css3制作的载入动画效果,效果很震撼! javascript特效演示地址:http://www.huiyi8.com/jiaoben/ [代码] [JavaScript]代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

android Activity切换动画效果

为Activity设置左右进出的效果,可以通过在Mainfest.xml文件中设置主题的方式来实现.还可以使用java代码. 一.设置样式 先看看实现动画的样式: <style name="AnimationRToL" mce_bogus="1" parent="@<span style="color:#ff0000;">android:style/Animation.Activity</span>&quo

赞!超炫的页面切换动画效果【附源码下载】

在下面的示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果.虽然有些效果都非常简单,只是简单的滑动动作,但另外的一些则是利用了视角(Perspective)和 3D 转换(3D Transforms)来创造一些立体动感的效果. 立即下载      在线演示 温馨提示:为保证最佳的效果,请在 IE10+.Chrome.Firefox 和 Safari 等现代浏览器中浏览. CSS 动画根据它们的实现的效果分为不同的组.为展示页面过渡效果,我们使用以下结构: <div id=&qu

css3中变形与动画(三)

transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. animation属性通过一些关键帧中元素属性的改变来实现动画效果.当然也可以控制动画持续时间,动画迭代次数等. 一.例子 在介绍transition时开篇有一个例子就是实现鼠标放上去,div宽度从100px缓慢增大到200px. 用transition实现方法如下 div:hover{ width: 200

CSS3+Jquery实现带动画效果的下拉选择框

CSS3+JQuery实现带动画效果的下拉选择框. 元素结构为: 1 <div class="box"> 2 <p>this is the first li</p> 3 <div id="blank"></div> 4 <ul> 5 <li class="selected">this is the first li</li> 6 <li >

CSS3中的3D动画实现(钟摆、魔方)--实现代码

CSS3中的3D动画实现(钟摆.魔方) CSS3的2D变形----传统的transform变形效果 transform : translate.scale.rotate.skew- translate:平移.scale:缩放.rotate:旋转.skew:倾斜 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tran

基于jQuery CSS3鼠标点击动画效果

分享基于jQuery CSS3鼠标点击动画效果支持图片或内容滑动,允许设置动画延迟效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <div class="clearfix"> <div class="grid12 small12"> <div class="demos fl" id="demos&quo