SVG实现导航动画

效果图动画后

html

<!DOCTYPE html>
<html >
  <head>
    <meta charset="UTF-8">
    <title>Animated SVG Hover Buttons</title>
    <link rel="stylesheet" href="css/style.css">
  </head>
  <body>
    <div id="workarea">
              <div class="position">

                <!--start button, nothing above this is necessary -->
                <div class="svg-wrapper">
                  <svg height="40" width="150" xmlns="http://www.w3.org/2000/svg">
                    <rect id="shape" height="40" width="150" />
                    <div id="text">
                      <a href=""><span class="spot"></span>Button 1</a>
                    </div>
                  </svg>
                </div>
                <!--Next button -->
                <div class="svg-wrapper" >
                  <svg height="40" width="150" xmlns="http://www.w3.org/2000/svg" >
                    <rect id="shape" height="40" width="150" />
                    <div id="text">
                      <a href=""><span class="spot"></span>Button 2</a>
                    </div>
                  </svg>
                </div>
                <!--Next button -->
                <div class="svg-wrapper">
                  <svg height="40" width="150" xmlns="http://www.w3.org/2000/svg">
                    <rect id="shape" height="40" width="150" />
                    <div id="text">
                      <a href=""><span class="spot"></span>Button 3</a>
                    </div>
                  </svg>
                </div>
                <!--End button -->

              </div>
    </div>
  </body>
</html>

css

* {
  margin: 0;
  padding: 0;
}

html,
css {
  width: 100%;
  height: 100%;
}

.position {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-top: 15%;
}

#workarea {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #1e1a3e;
  font-family: Raleway;
}

#personal {
  color:white;
  text-decoration:none;
  position:absolute;
  bottom:15px;
  right:2%;
}

.spot {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.svg-wrapper {
  margin-top: 0;
  position: relative;
  width: 150px;
  /*make sure to use same height/width as in the html*/
  height: 40px;
  display: inline-block;
  border-radius: 3px;
  margin-left: 5px;
  margin-right: 5px
}
#shape {
  stroke-width: 4px;/*线的宽度*/
  fill: transparent;/*填充颜色*/
  stroke: #009FFD;/*线的颜色*/
  stroke-dasharray:85 400;/*创建虚线宽度,间距*/
  stroke-dashoffset:-220;/*线从哪个位置开始*/
  transition: 1s all ease;/*动画*/
}
#text {
  margin-top: -35px;
  text-align: center;
}

#text a {
  color: white;
  text-decoration: none;
  font-weight: 100;
  font-size: 1.1em;
}
.svg-wrapper:hover #shape {
  stroke-dasharray: 50 0;
  stroke-width: 3px;
  stroke-dashoffset: 0;
  stroke: #06D6A0;
}
时间: 2024-08-25 06:15:37

SVG实现导航动画的相关文章

用svg制作loading动画

首先说明:由于各浏览器对svg动画事件支持不统一,此loading动画在Firefox,Opera,Chrome中均没有问题,IE和Safari中有问题,可能是不支持SIML写动画的语法, 但是用Canvas写的话,在颜色的渐变方面会有问题: 线性渐变需要传递四个参数 xstart:渐变开始点x坐标       ystart:渐变开始点y坐标       xEnd:渐变结束点x坐标       yEnd:渐变结束点y坐标 这样画出来的渐变只能用于矩形之类的图形,无法应用在诸如扇形内,此loadi

超级强大的SVG SMIL animation动画详解

本文花费精力惊人,具有先驱前瞻性,转载规则以及申明见文末,当心予以追究.本文地址:http://www.zhangxinxu.com/wordpress/?p=4333 //zxx: 本文的SVG在有缓存时候是无动画效果,此时您可以试着[右键-新标签页打开图片]. 一.SVG SMIL animation概览 1. SMIL是什么?SMIL不是指「水蜜梨」,而是Synchronized Multimedia Integration Language(同步多媒体集成语言)的首字母缩写简称,是有标准

SVG的路径动画效果

使用SVG animateMotion实现的一个动画路径效果,相关代码如下. 在线调试唯一地址:http://www.gbtags.com/gb/debug/c88f4099-5056-4ad7-af4e-0ededd4f65d2.htm 原文来自:SVG的路径动画效果

纯CSS3悬停图标旋转导航动画代码

分享一款纯CSS3悬停图标旋转导航动画代码.这是一款鼠标移到图标上动画旋转显示导航菜单.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="x_contant"> <a class="xzt1" href="#"><img src="images/xztz_1.png" /></a> <a class="xzt2" hr

SVG实现描边动画

说起SVG,我是恨它又爱它,恨它是因为刚开始接触的时候自己傻B地想用代码去写它,其实在web上我们用它做交互也只是用了几个常用的特性而已,其他的标签知道这么一回事就成了,其实说白了它就是一种图片格式,你得去画它,网站上最长用的SVG交互效果就是描边动画了,今天就来实现它 先上效果图: 思路:要实现这种动画,我们要使用的是SVG的路径path标签,其中然后配合两个属性:stroke-dasharray和stroke-dashoffset,至于用什么方式实现动画效果就八仙过海了,我这里使用的是css

svg文字描边动画

svg动画在网页中是经常见到的,svg动画使得网页看起来清新美观 任何不规则图形都可以由svg绘制完成,当然也包括文字,文字本身就可以看作一个不规则图形?? 还是按以前的流程,开始放代码前,先看效果: 很酷炫有木有?!!! 在我发现这个效果的时候,我觉得碉堡了,直到我知道了它的代码 代码真的很简单,很简单... 咳咳.不扯了,现在进入正题 在使用网页做svg动画的时候首先我们要有svg文件,这里我使用的是Ai来做svg文件 其实我感觉Ai和PS真的好像, 新建文件-->文字工具-->选自己喜欢

svg 圆环进度动画

简介 近日业务需要,特来钻研一阵,最后选型svg技术实现,因为方便. 实现步骤 一.先画一圆环 <svg xmlns="http://www.w3.org/2000/svg" height="110" width="110" viewBox="0 0 110 110"> <circle cx="50%" cy="50%" r="50" stroke-

使用snapjs实现svg路径描边动画

一,snap.svg插件在近几天,突然接到一个需求,内容是要在网页上写一个路径的动画,还需要可以随意控制动画的速度,开始于结束,本来是一个图片可以解决的问题,结果就这样变难了呀,在网上查一会之后,突然就发现了svg,他有两个神奇属性stroke-dasharray(控制虚线和空白大小)和stroke-dashoffset(控制虚线偏移),通过改变stroke-dashoffset便可以轻松实现路径动画. 路径是这样滴  一开始没有注意后边路径上的阴影,我写到阴影时候才发现,svg的阴影竟然是用矩

jquery导航动画

经常在网上看到的,鼠标在导航上移动时,导航底部的横条会自动移动到鼠标悬浮的导航项上. 效果如下图: 利用jquery的 animate 函数,很好实现.代码很简单! 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试</title> <script src="http://libs.useso.com/js/jqu