zoukankan      html  css  js  c++  java
  • CSS3 制作一个边框向周围散开的按钮效果

    我们将要达到的是如下的效果(若效果未出现请刷新):

    分析

    主要还是运用CSS3的transition, animation, transform还有渐变背景等特性。

    • 由于按钮在鼠标进入时有不同的样式,所以要对其:hover状态运用另外的背景样式
    • 通过对按钮的:after状态添加一个内容为空的元素,并给其一个边框,这样在鼠标进入后我们让这个隐藏的空元素变大直到淡出,就得到我们看到的效果了

    构建基本按钮样式

    做为例子,我们的页面会很简单,就放一个a标签作为按钮,然后对其写样式让它看起来更像一个按钮。并定义好:after元素。

    <style type="text/css">
        .button{
    	cursor: pointer;
    	text-decoration: none;
    	padding: 10px;
    	color: #fff;
    	border-radius: 10px;
    	position: absolute;
    	top: 100px;
    	left: 48%;
    	background: linear-gradient(#93c, #50c);
    	border:1px solid purple;
        }
        .button:after{
    	content: "";
    	position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
    	height: 100%;
    	border-radius: 10px;
    	opacity: 0;
    	border:1px solid purple;
        }
        .button:hover{
        	background: linear-gradient(#b5e, #93c);
        }
    </style>
    <body>
        <a class="button" href="javascript:void(0);" >Fake Button</a>
    </body>
    

    添加动画

    首先用keyframes定义动画

    @-webkit-keyframes boom {
    	0% {
    		opacity: 0
    	}
    	5% {
    		opacity: 1
    	}
    	100% {
    		-webkit-transform: scale(1.3);
    		transform: scale(1.3);
    		opacity: 0
    	}
    }
    @keyframes boom {
    	0% {
    		opacity: 0
    	}
    	5% {
    		opacity: 1
    	}
    	100% {
    		transform: scale(1.3);
    		transform: scale(1.3);
    		opacity: 0
    	}
    }
    

    再将其运用到按钮后面隐藏的元素上

     .button:hover:after {
         -webkit-animation: boom 0.5s ease;
         animation: boom 0.5s ease;
    }
    

    扩展

    另外,我还发现一个jQuery插件jQuery.twinkle专门做这样的效果,因为是通过js做的,所以原理跟上面的完全不一样,但这个插件提供的效果丰富,且很炫很有创意,大家可以去欣赏下。下面是一个效果的截图。

    代码下载

    度娘盘:http://pan.baidu.com/s/1kT7c8gJ

    REFERENCE

    1. A working button on CodePen: https://codepen.io/signup/plans/
    2. A collection of the shining effect by using a jQuery plugin : http://larsjung.de/twinkle/
    3. jQuery twinkle plugin: http://larsjung.de/twinkle/
  • 相关阅读:
    UML常识
    我的一些冒出来的想法
    那些我接触过的软件
    对PL/SQL的认识
    JavaScrip笔记
    万丈高楼平地起
    HTML DOM和JavaScrip的关系
    拾起荒废的英语
    Tomcat文件映射路径
    Access-Control-Allow-Origin
  • 原文地址:https://www.cnblogs.com/Wayou/p/css3_border_extending_effect.html
Copyright © 2011-2022 走看看