HTML5 SVG炫酷垂直Tabs选项卡布局特效

当前位置:主页 > Html5库 > SVG > HTML5 SVG炫酷垂直Tabs选项卡布局特效
HTML5 SVG炫酷垂直Tabs选项卡布局特效
分享:

    插件介绍

    这是一款效果非常炫酷的HTML5 SVG和jQuery垂直选项卡布局特效。该选项卡布局将tabs垂直排列在左侧,每个Tab都使用SVG来制作图标,当用户切换Tab时,旧的选项卡往上移动,新的选项卡从上面往下移动,效果非常酷。

    浏览器兼容性

    浏览器兼容性
    时间:05-19
    阅读:
简要教程

这是一款效果非常炫酷的HTML5 SVGjQuery垂直选项卡布局特效。该选项卡布局将tabs垂直排列在左侧,每个Tab都使用SVG来制作图标,当用户切换Tab时,旧的选项卡往上移动,新的选项卡从上面往下移动,效果非常酷。

制作方法

HTML结构

该选项卡使用一个div#wrapper作为整个选项卡的包裹元素。选项卡的左侧部分为div.left-side,这里是选项卡的Tabs,使用无序列表来制作。里面的图标使用<svg>来制作,在<svg>中使用<use>元素的xlink:href属性来引用相应的图标。右侧部分div#right-side中,每一个Tab页面都使用一个<div>来制作,同样在每个Tab页面中都使用<svg>来制作相应的图标。

<div id="wrapper">
  <div id="left-side">
    <ul>
      <li class="choose active">
        <div class="icon active">
          <svg viewBox="0 0 32 32">
            <g filter="">
              <use xlink:href="#shopping-cart"></use>
            </g>
          </svg>
        </div>
        Choose
      </li>
      ......
    </ul>
  </div>

  <div id="border">
    <div id="line" class="one"></div>
  </div>

  <div id="right-side">
    <div id="first" class="active">
      <div class="icon big">
        <svg viewBox="0 0 32 32">
          <g filter="">
            <use xlink:href="#shopping-cart"></use>
          </g>
        </svg>
      </div>

      <h1>Choose your gift</h1>

      <p>.......</p>
    </div>
    ......
  </div>
</div>               
              
CSS样式

该选项卡布局的CSS代码中,要注意的是它使用的是CSS3 flex属性来布局。IE11以下的浏览器不支持flex属性,这些浏览器中布局界面会发生混乱。左边的Tab标签的布局代码如下:

#wrapper {
  width: 900px;
  height: 400px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left;
  overflow: hidden;
}

#left-side {
  height: 70%;
  width: 25%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#left-side ul li {
  padding-top: 10px;
  padding-bottom: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 34px;
  color: rgba(51, 51, 51, 0.5);
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: all .2s ease-out;
          transition: all .2s ease-out;
}
#left-side ul li:hover {
  color: #333333;
  -webkit-transition: all .2s ease-out;
          transition: all .2s ease-out;
}
#left-side ul li:hover > .icon {
  fill: #333;
}
#left-side ul li.active {
  color: #333333;
}
#left-side ul li.active:hover > .icon {
  fill: #E74C3C;
}                
              

该选项卡布局特效使用jQuery来为各个tabs按钮的点击事件和切换图标,以及当前激活的Tab的右侧红线添加和移除相应的class。