布局框架

Material Design 风格动态网格卡片UI设计

阿里云


这是一款效果非常炫酷的 Material Design 风格动态网格卡片布局 UI 设计效果。在该效果中鼠标滑过卡片时会有阴影效果,当浏览器尺寸改变时,卡片大小会随着改变,整个网格布局有动态变化效果。

HTML 结构

该动态网格卡片布局的 HTML 结构基于 Bootstrap 网格系统来实现。使用时要引入 Bootstrap 相关文件。

也想出现在这里?联系我们
创客主机
  1. <div class='container'>
  2.   <div class='row'>
  3.     <div class='col-xs-4'></div>
  4.     <div class='col-xs-4'></div>
  5.     <div class='col-xs-4'></div>
  6.   </div>
  7.   <div class='row'>
  8.     <div class='col-xs-1'></div>
  9.     <div class='col-xs-1'></div>
  10.     <div class='col-xs-1'></div>
  11.     <div class='col-xs-1'></div>
  12.     <div class='col-xs-1'></div>
  13.     <div class='col-xs-1'></div>
  14.     <div class='col-xs-1'></div>
  15.     <div class='col-xs-1'></div>
  16.     <div class='col-xs-1'></div>
  17.     <div class='col-xs-1'></div>
  18.     <div class='col-xs-1'></div>
  19.     <div class='col-xs-1'></div>
  20.   </div>
  21. </div>

CSS 样式

该动态网格卡片布局的 CSS 样式非常简单,首先带有以 col- 开头的 class 的元素都设置动画过渡效果。开始的时候它们的透明度为 0,尺寸为 0。

  1. .row [class*="col-"] {
  2.   cursor: pointer;
  3.   opacity: 0;
  4.   -moz-transform: scale(0);
  5.   -webkit-transform: scale(0);
  6.   transform: scale(0);
  7.   -webkit-transition: all 0.3s ease-in-out;
  8.   -moz-transition: all 0.3s ease-in-out;
  9.   -o-transition: all 0.3s ease-in-out;
  10.   transition: all 0.3s ease-in-out;
  11.   background-clip: padding-box !important;
  12.   border: 5px solid transparent;
  13. }

然后程序开始执行后,会在 jQuery 代码中使用一个定时器来为这些元素添加.shown class,使它们逐一显示出来。

  1. .row [class*="col-"].shown {
  2.   opacity: 1;
  3.   -moz-transform: scale(1);
  4.   -webkit-transform: scale(1);
  5.   transform: scale(1);
  6. }

在鼠标滑过卡片的时候,动态的为卡片添加一些阴影效果。

  1. .row [class*="col-"]:hover {
  2.   -webkit-transition: all 0.3s ease-in-out;
  3.   -moz-transition: all 0.3s ease-in-out;
  4.   -o-transition: all 0.3s ease-in-out;
  5.   transition: all 0.3s ease-in-out;
  6.   -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  7.   -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  8.   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  9. }

JavaScript

该动态网格卡片布局使用 jQuery 代码在浏览器窗口改变的时候修改卡片的高度,以及通过定时器为相应的元素添加.shownclass,用于逐一显示卡片。

  1. ;(function () {
  2.   var elems = $('.row [class*="col-"]');
  3.   var setHeight = function (elem) {
  4.       $(elem).height($(elem).width() + 30);
  5.   };
  6.   $(window).resize(function () {
  7.       $.each(elems, function (key, value) {
  8.           setHeight(elems[key]);
  9.       });
  10.   });
  11.   var i = 0;
  12.   x = true;
  13.   $(document).click(function () {
  14.       if (i === -1 || i == elems.length) {
  15.           animate();
  16.           x = !x;
  17.       }
  18.   });
  19.   var animate = function () {
  20.       setTimeout(function () {
  21.           $(elems[i]).toggleClass('shown');
  22.           setHeight(elems[i]);
  23.           x ? i++ : i--;
  24.           if (i < elems.length && i >= 0) {
  25.               animate();
  26.           }
  27.           ;
  28.       }, 60);
  29.   };
  30.   animate();
  31. }());

Material Design 风格动态网格卡片 UI 设计

已有 385 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!