CSS3鼠标悬停线条遮罩效果代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 CSS3鼠标悬停线条遮罩效果代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

CSS3鼠标悬停线条遮罩效果代码

HTML代码(index.html):

<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="gb2312">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>CSS3鼠标悬停线条遮罩效果代码</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/tl-album.css">
<script src="js/timelineAlbum.min.js"></script>
</head>
<body>
<div class="section">
	<ul class="time-album" data-rows="6" id="a">
		<ul ta-name="我们非常专业">
			<li class="photo">
				<img data-src="img/bsb1.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsb2.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsb3.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsb4.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsb5.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
		</ul>
		<ul ta-name="我们非常专业">
			<li class="photo">
				<img data-src="img/bsc2.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsc4.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsc5.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
		</ul>
		<ul ta-name="我们非常专业">
			<li class="photo">
				<img data-src="img/bsy5.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsy2.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsy4.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
			<li class="photo">
				<img data-src="img/bsy5.jpg" alt="">
				<p class="description">www.abc.com</p>
			</li>
		</ul>
	</ul>
</div>
</body>
</html>







JS代码(timelineAlbum.min.js):

function init(){
	var albums = document.getElementsByClassName("time-album");
	document.querySelectorAll("li.photo > img");
	[].forEach.call(albums,function(album){
	var tlAlbum = new Tl.Albums(album);
	tlAlbum.initTimeline();
}
);
}
!function(global,factory){
	"function" == typeof define && define.amd ? define(factory):"object" == typeof module ? module.exports = factory():global.augment = factory();
}
(this,function(){
	"use strict";
	var Factory = function(){
}
,slice = Array.prototype.slice,augment = function(base,body){
	var uber = Factory.prototype = "function" == typeof base ? base.prototype:base,prototype = new Factory(),properties = body.apply(prototype,slice.call(arguments,2).concat(uber));
	if ("object" == typeof properties) for (var key in properties) prototype[key] = properties[key];
	if (!prototype.hasOwnProperty("constructor")) return prototype;
	var constructor = prototype.constructor;
	return constructor.prototype = prototype,constructor;
}
;
	return augment.defclass = function(prototype){
	var constructor = prototype.constructor;
	return constructor.prototype = prototype,constructor;
}
,augment.extend = function(base,body){
	return augment(base,function(uber){
	return this.uber = uber,body;
}
);
}
,augment;
}
),!function(e,r,a){
	"function" == typeof define && define.amd ? define([],a):"object" == typeof exports ? module.exports = a():r[e] = a();
}
("Please",this,function(){
	"use strict";
	function e(){
	function e(e,r,a){
	var o = Math.random;
	return a instanceof l && (o = a.random),Math.floor(o() * (r - e + 1)) + e;
}
function r(e,r,a){
	var o = Math.random;
	return a instanceof l && (o = a.random),o() * (r - e) + e;
}
function a(e,r,a){
	return Math.max(r,Math.min(e,a));
}
function o(e,r){
	var a;
	switch (e){
	case "hex":for (a = 0;
	a < r.length;
	a++) r[a] = F.HSV_to_HEX(r[a]);
	break;
	case "rgb":for (a = 0;
	a < r.length;
	a++) r[a] = F.HSV_to_RGB(r[a]);
	break;
	case "rgb-string":for (a = 0;
	a < r.length;
	a++){
	var o = F.HSV_to_RGB(r[a]);
	r[a] = "rgb(" + o.r + "," + o.g + "," + o.b + ")";
}
break;
	case "hsv":break;
	default:console.error("Format not recognized.");
}
return r;
}
function n(e){
	var r = F.HSV_to_RGB(e),a = (299 * r.r + 587 * r.g + 114 * r.b) / 1e3;
	return a >= 128 ? "dark":"light";
}
function t(e){
	var r ={
}
;
	for (var a in e) e.hasOwnProperty(a) && (r[a] = e[a]);
	return r;
}
function l(e){
	function r(){
	o = (o + 1) % 256,n = (n + a[o]) % 256;
	var e = a[o];
	return a[o] = a[n],a[n] = e,a[(a[o] + a[n]) % 256];
}
for (var a = [],o = 0,n = 0,t = 0;
	256 > t;
	t++) a[t] = t;
	for (var l = 0,F = 0;
	256 > l;
	l++){
	F = (F + a[l] + e.charCodeAt(l % e.length)) % 256;
	var s = a[l];
	a[l] = a[F],a[F] = s;
}
this.random = function(){
	for (var e = 0,a = 0,o = 1;
	8 > e;
	e++) a += r() * o,o *= 256;
	return a / 0x10000000000000000;
}
;
}
var F ={
}
,s ={
	aliceblue:"F0F8FF",antiquewhite:"FAEBD7",aqua:"00FFFF",aquamarine:"7FFFD4",azure:"F0FFFF",beige:"F5F5DC",bisque:"FFE4C4",black:"000000",blanchedalmond:"FFEBCD",blue:"0000FF",blueviolet:"8A2BE2",brown:"A52A2A",burlywood:"DEB887",cadetblue:"5F9EA0",chartreuse:"7FFF00",chocolate:"D2691E",coral:"FF7F50",cornflowerblue:"6495ED",cornsilk:"FFF8DC",crimson:"DC143C",cyan:"00FFFF",darkblue:"00008B",darkcyan:"008B8B",darkgoldenrod:"B8860B",darkgray:"A9A9A9",darkgrey:"A9A9A9",darkgreen:"006400",darkkhaki:"BDB76B",darkmagenta:"8B008B",darkolivegreen:"556B2F",darkorange:"FF8C00",darkorchid:"9932CC",darkred:"8B0000",darksalmon:"E9967A",darkseagreen:"8FBC8F",darkslateblue:"483D8B",darkslategray:"2F4F4F",darkslategrey:"2F4F4F",darkturquoise:"00CED1",darkviolet:"9400D3",deeppink:"FF1493",deepskyblue:"00BFFF",dimgray:"696969",dimgrey:"696969",dodgerblue:"1E90FF",firebrick:"B22222",floralwhite:"FFFAF0",forestgreen:"228B22",fuchsia:"FF00FF",gainsboro:"DCDCDC",ghostwhite:"F8F8FF",gold:"FFD700",goldenrod:"DAA520",gray:"808080",grey:"808080",green:"008000",greenyellow:"ADFF2F",honeydew:"F0FFF0",hotpink:"FF69B4",indianred:"CD5C5C",indigo:"4B0082",ivory:"FFFFF0",khaki:"F0E68C",lavender:"E6E6FA",lavenderblush:"FFF0F5",lawngreen:"7CFC00",lemonchiffon:"FFFACD",lightblue:"ADD8E6",lightcoral:"F08080",lightcyan:"E0FFFF",lightgoldenrodyellow:"FAFAD2",lightgray:"D3D3D3",lightgrey:"D3D3D3",lightgreen:"90EE90",lightpink:"FFB6C1",lightsalmon:"FFA07A",lightseagreen:"20B2AA",lightskyblue:"87CEFA",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"B0C4DE",lightyellow:"FFFFE0",lime:"00FF00",limegreen:"32CD32",linen:"FAF0E6",magenta:"FF00FF",maroon:"800000",mediumaquamarine:"66CDAA",mediumblue:"0000CD",mediumorchid:"BA55D3",mediumpurple:"9370D8",mediumseagreen:"3CB371",mediumslateblue:"7B68EE",mediumspringgreen:"00FA9A",mediumturquoise:"48D1CC",mediumvioletred:"C71585",midnightblue:"191970",mintcream:"F5FFFA",mistyrose:"FFE4E1",moccasin:"FFE4B5",navajowhite:"FFDEAD",navy:"000080",oldlace:"FDF5E6",olive:"808000",olivedrab:"6B8E23",orange:"FFA500",orangered:"FF4500",orchid:"DA70D6",palegoldenrod:"EEE8AA",palegreen:"98FB98",paleturquoise:"AFEEEE",palevioletred:"D87093",papayawhip:"FFEFD5",peachpuff:"FFDAB9",peru:"CD853F",pink:"FFC0CB",plum:"DDA0DD",powderblue:"B0E0E6",purple:"800080",rebeccapurple:"663399",red:"FF0000",rosybrown:"BC8F8F",royalblue:"4169E1",saddlebrown:"8B4513",salmon:"FA8072",sandybrown:"F4A460",seagreen:"2E8B57",seashell:"FFF5EE",sienna:"A0522D",silver:"C0C0C0",skyblue:"87CEEB",slateblue:"6A5ACD",slategray:"708090",slategrey:"708090",snow:"FFFAFA",springgreen:"00FF7F",steelblue:"4682B4",tan:"D2B48C",teal:"008080",thistle:"D8BFD8",tomato:"FF6347",turquoise:"40E0D0",violet:"EE82EE",wheat:"F5DEB3",white:"FFFFFF",whitesmoke:"F5F5F5",yellow:"FFFF00",yellowgreen:"9ACD32"}
,i = .618033988749895,u ={
	hue:null,saturation:null,value:null,base_color:"",greyscale:!1,grayscale:!1,golden:!0,full_random:!1,colors_returned:1,format:"hex",seed:null}
,c ={
	scheme_type:"analogous",format:"hex"}
,h ={
	golden:!1,format:"hex"}
;
	return F.NAME_to_HEX = function(e){
	return e = e.toLowerCase(),e in s ? s[e]:void console.error("Color name not recognized.");
}
,F.NAME_to_RGB = function(e){
	return F.HEX_to_RGB(F.NAME_to_HEX(e));
}
,F.NAME_to_HSV = function(e){
	return F.HEX_to_HSV(F.NAME_to_HEX(e));
}
,F.HEX_to_RGB = function(e){
	var r = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
	e = e.replace(r,function(e,r,a,o){
	return r + r + a + a + o + o;
}
);
	var a = /^#?([a-f\d]{
	2}
)([a-f\d]{
	2}
)([a-f\d]{
	2}
)$/i.exec(e);
	return a ?{
	r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}
:null;
}
,F.RGB_to_HEX = function(e){
	return "#" + ((1 << 24) + (e.r << 16) + (e.g << 8) + e.b).toString(16).slice(1);
}
,F.HSV_to_RGB = function(e){
	var r,a,o,n,t,l,F,s,i = e.h,u = e.s,c = e.v;
	if (0 === u) return{
	r:c,g:c,b:c}
;
	switch (i /= 60,n = Math.floor(i),t = i - n,l = c * (1 - u),F = c * (1 - u * t),s = c * (1 - u * (1 - t)),n){
	case 0:r = c,a = s,o = l;
	break;
	case 1:r = F,a = c,o = l;
	break;
	case 2:r = l,a = c,o = s;
	break;
	case 3:r = l,a = F,o = c;
	break;
	case 4:r = s,a = l,o = c;
	break;
	case 5:r = c,a = l,o = F;
}
return{
	r:Math.floor(255 * r),g:Math.floor(255 * a),b:Math.floor(255 * o)}
;
}
,F.RGB_to_HSV = function(e){
	var r = e.r / 255,a = e.g / 255,o = e.b / 255,n = 0,t = 0,l = 0,F = Math.min(r,Math.min(a,o)),s = Math.max(r,Math.max(a,o));
	if (F === s) return l = F,{
	h:0,s:0,v:l}
;
	var i = r === F ? a - o:o === F ? r - a:o - r,u = r === F ? 3:o === F ? 1:5;
	return n = 60 * (u - i / (s - F)),t = (s - F) / s,l = s,{
	h:n,s:t,v:l}
;
}
,F.HSV_to_HEX = function(e){
	return F.RGB_to_HEX(F.HSV_to_RGB(e));
}
,F.HEX_to_HSV = function(e){
	return F.RGB_to_HSV(F.HEX_to_RGB(e));
}
,F.make_scheme = function(e,r){
	function n(e){
	return{
	h:e.h,s:e.s,v:e.v}
;
}
var l,F,s,i,u,h = t(c);
	if (null !== r) for (var d in r) r.hasOwnProperty(d) && (h[d] = r[d]);
	var g = [ e ];
	switch (h.scheme_type.toLowerCase()){
	case "monochromatic":case "mono":for (u = 1;
	2 >= u;
	u++) l = n(e),s = l.s + .1 * u,s = a(s,0,1),i = l.v + .1 * u,i = a(i,0,1),l.s = s,l.v = i,g.push(l);
	for (u = 1;
	2 >= u;
	u++) l = n(e),s = l.s - .1 * u,s = a(s,0,1),i = l.v - .1 * u,i = a(i,0,1),l.s = s,l.v = i,g.push(l);
	break;
	case "complementary":case "complement":case "comp":l = n(e),l.h = (l.h + 180) % 360,g.push(l);
	break;
	case "split-complementary":case "split-complement":case "split":l = n(e),l.h = (l.h + 165) % 360,g.push(l),l = n(e),l.h = Math.abs((l.h - 165) % 360),g.push(l);
	break;
	case "double-complementary":case "double-complement":case "double":l = n(e),l.h = (l.h + 180) % 360,g.push(l),l.h = (l.h + 30) % 360,F = n(l),g.push(l),l.h = (l.h + 180) % 360,g.push(F);
	break;
	case "analogous":case "ana":for (u = 1;
	5 >= u;
	u++) l = n(e),l.h = (l.h + 20 * u) % 360,g.push(l);
	break;
	case "triadic":case "triad":case "tri":for (u = 1;
	3 > u;
	u++) l = n(e),l.h = (l.h + 120 * u) % 360,g.push(l);
	break;
	default:console.error("Color scheme not recognized.");
}
return o(h.format.toLowerCase(),g),g;
}
,F.make_color = function(n){
	var s = [],c = t(u),h = null;
	if (null !== n) for (var d in n) n.hasOwnProperty(d) && (c[d] = n[d]);
	var g = null;
	"string" == typeof c.seed && (g = new l(c.seed)),c.base_color.length > 0 && (h = c.base_color.match(/^#?([0-9a-f]{
	3}
)([0-9a-f]{
	3}
)?$/i) ? F.HEX_to_HSV(c.base_color):F.NAME_to_HSV(c.base_color));
	for (var m = 0;
	m < c.colors_returned;
	m++){
	var f,E,b,p = e(0,360,g);
	null !== h ? (f = a(e(h.h - 5,h.h + 5,g),0,360),E = 0 === h.s ? 0:r(.4,.85,g),b = r(.4,.85,g),s.push({
	h:f,s:E,v:b}
)):(f = c.greyscale === !0 || c.grayscale === !0 ? 0:c.golden === !0 ? (p + p / i) % 360:null === c.hue || c.full_random === !0 ? p:a(c.hue,0,360),E = c.greyscale === !0 || c.grayscale === !0 ? 0:c.full_random === !0 ? r(0,1,g):null === c.saturation ? .4:a(c.saturation,0,1),b = c.full_random === !0 ? r(0,1,g):c.greyscale === !0 || c.grayscale === !0 ? r(.15,.75,g):null === c.value ? .75:a(c.value,0,1),s.push({
	h:f,s:E,v:b}
));
}
return o(c.format.toLowerCase(),s),s;
}
,F.make_contrast = function(e,r){
	var l = t(h);
	if (null !== r) for (var s in r) r.hasOwnProperty(s) && (l[s] = r[s]);
	var u,c,d = n(e);
	if (l.golden === !0) c = e.h * (1 + i) % 360;
	else{
	var g = F.make_scheme(e,{
	scheme_type:"complementary",format:"hsv"}
)[1];
	c = a(g.h - 30,0,360);
}
var m;
	return "dark" === d ? m = a(e.v - .25,0,1):"light" === d && (m = a(e.v + .25,0,1)),u = [{
	h:c,s:e.s,v:m}
],o(l.format.toLowerCase(),u),u[0];
}
,F;
}
return e();
}
),function(root,factory){
	"function" == typeof define && define.amd ? define(factory):root.Dragdealer = factory();
}
(this,function(){
	function getPrefixedStylePropName(propName){
	var domPrefixes = "Webkit Moz ms O".split(" "),elStyle = document.documentElement.style;
	if (void 0 !== elStyle[propName]) return propName;
	propName = propName.charAt(0).toUpperCase() + propName.substr(1);
	for (var i = 0;
	i < domPrefixes.length;
	i++) if (void 0 !== elStyle[domPrefixes[i] + propName]) return domPrefixes[i] + propName;
}
function triggerWebkitHardwareAcceleration(element){
	StylePrefix.backfaceVisibility && StylePrefix.perspective && (element.style[StylePrefix.perspective] = "1000px",element.style[StylePrefix.backfaceVisibility] = "hidden");
}
var Dragdealer = function(wrapper,options){
	this.options = this.applyDefaults(options ||{
}
),this.bindMethods(),this.wrapper = this.getWrapperElement(wrapper),this.wrapper && (this.handle = this.getHandleElement(this.wrapper,this.options.handleClass),this.handle && (this.init(),this.bindEventListeners()));
}
;
	Dragdealer.prototype ={
	defaults:{
	disabled:!1,horizontal:!0,vertical:!1,slide:!0,steps:0,snap:!1,loose:!1,speed:.1,xPrecision:0,yPrecision:0,handleClass:"handle",css3:!0,activeClass:"active",tapping:!0}
,init:function(){
	this.options.css3 && triggerWebkitHardwareAcceleration(this.handle),this.value ={
	prev:[ -1,-1 ],current:[ this.options.x || 0,this.options.y || 0 ],target:[ this.options.x || 0,this.options.y || 0 ]}
,this.offset ={
	wrapper:[ 0,0 ],mouse:[ 0,0 ],prev:[ -999999,-999999 ],current:[ 0,0 ],target:[ 0,0 ]}
,this.change = [ 0,0 ],this.stepRatios = this.calculateStepRatios(),this.activity = !1,this.dragging = !1,this.tapping = !1,this.reflow(),this.options.disabled && this.disable();
}
,applyDefaults:function(options){
	for (var k in this.defaults) options.hasOwnProperty(k) || (options[k] = this.defaults[k]);
	return options;
}
,getWrapperElement:function(wrapper){
	return "string" == typeof wrapper ? document.getElementById(wrapper):wrapper;
}
,getHandleElement:function(wrapper,handleClass){
	var childElements,handleClassMatcher,i;
	if (wrapper.getElementsByClassName){
	if (childElements = wrapper.getElementsByClassName(handleClass),childElements.length > 0) return childElements[0];
}
else for (handleClassMatcher = new RegExp("(^|\\s)" + handleClass + "(\\s|$)"),childElements = wrapper.getElementsByTagName("*"),i = 0;
	i < childElements.length;
	i++) if (handleClassMatcher.test(childElements[i].className)) return childElements[i];
}
,calculateStepRatios:function(){
	var stepRatios = [];
	if (this.options.steps >= 1) for (var i = 0;
	i <= this.options.steps - 1;
	i++) this.options.steps > 1 ? stepRatios[i] = i / (this.options.steps - 1):stepRatios[i] = 0;
	return stepRatios;
}
,setWrapperOffset:function(){
	this.offset.wrapper = Position.get(this.wrapper);
}
,calculateBounds:function(){
	var bounds ={
	top:this.options.top || 0,bottom:-(this.options.bottom || 0) + this.wrapper.offsetHeight,left:this.options.left || 0,right:-(this.options.right || 0) + this.wrapper.offsetWidth}
;
	return bounds.availWidth = bounds.right - bounds.left - this.handle.offsetWidth,bounds.availHeight = bounds.bottom - bounds.top - this.handle.offsetHeight,bounds;
}
,calculateValuePrecision:function(){
	var xPrecision = this.options.xPrecision || Math.abs(this.bounds.availWidth),yPrecision = this.options.yPrecision || Math.abs(this.bounds.availHeight);
	return [ xPrecision ? 1 / xPrecision:0,yPrecision ? 1 / yPrecision:0 ];
}
,bindMethods:function(){
	"function" == typeof this.options.customRequestAnimationFrame ? this.requestAnimationFrame = bind(this.options.customRequestAnimationFrame,window):this.requestAnimationFrame = bind(requestAnimationFrame,window),"function" == typeof this.options.customCancelAnimationFrame ? this.cancelAnimationFrame = bind(this.options.customCancelAnimationFrame,window):this.cancelAnimationFrame = bind(cancelAnimationFrame,window),this.animateWithRequestAnimationFrame = bind(this.animateWithRequestAnimationFrame,this),this.animate = bind(this.animate,this),this.onHandleMouseDown = bind(this.onHandleMouseDown,this),this.onHandleTouchStart = bind(this.onHandleTouchStart,this),this.onDocumentMouseMove = bind(this.onDocumentMouseMove,this),this.onWrapperTouchMove = bind(this.onWrapperTouchMove,this),this.onWrapperMouseDown = bind(this.onWrapperMouseDown,this),this.onWrapperTouchStart = bind(this.onWrapperTouchStart,this),this.onDocumentMouseUp = bind(this.onDocumentMouseUp,this),this.onDocumentTouchEnd = bind(this.onDocumentTouchEnd,this),this.onHandleClick = bind(this.onHandleClick,this),this.onWindowResize = bind(this.onWindowResize,this);
}
,bindEventListeners:function(){
	addEventListener(this.handle,"mousedown",this.onHandleMouseDown),addEventListener(this.handle,"touchstart",this.onHandleTouchStart),addEventListener(document,"mousemove",this.onDocumentMouseMove),addEventListener(this.wrapper,"touchmove",this.onWrapperTouchMove),addEventListener(this.wrapper,"mousedown",this.onWrapperMouseDown),addEventListener(this.wrapper,"touchstart",this.onWrapperTouchStart),addEventListener(document,"mouseup",this.onDocumentMouseUp),addEventListener(document,"touchend",this.onDocumentTouchEnd),addEventListener(this.handle,"click",this.onHandleClick),addEventListener(window,"resize",this.onWindowResize),this.animate(!1,!0),this.interval = this.requestAnimationFrame(this.animateWithRequestAnimationFrame);
}
,unbindEventListeners:function(){
	removeEventListener(this.handle,"mousedown",this.onHandleMouseDown),removeEventListener(this.handle,"touchstart",this.onHandleTouchStart),removeEventListener(document,"mousemove",this.onDocumentMouseMove),removeEventListener(this.wrapper,"touchmove",this.onWrapperTouchMove),removeEventListener(this.wrapper,"mousedown",this.onWrapperMouseDown),removeEventListener(this.wrapper,"touchstart",this.onWrapperTouchStart),removeEventListener(document,"mouseup",this.onDocumentMouseUp),removeEventListener(document,"touchend",this.onDocumentTouchEnd),removeEventListener(this.handle,"click",this.onHandleClick),removeEventListener(window,"resize",this.onWindowResize),this.cancelAnimationFrame(this.interval);
}
,onHandleMouseDown:function(e){
	Cursor.refresh(e),preventEventDefaults(e),stopEventPropagation(e),this.activity = !1,this.startDrag();
}
,onHandleTouchStart:function(e){
	Cursor.refresh(e),stopEventPropagation(e),this.activity = !1,this.startDrag();
}
,onDocumentMouseMove:function(e){
	Cursor.refresh(e),this.dragging && (this.activity = !0,preventEventDefaults(e));
}
,onWrapperTouchMove:function(e){
	return Cursor.refresh(e),!this.activity && this.draggingOnDisabledAxis() ? void (this.dragging && this.stopDrag()):(preventEventDefaults(e),void (this.activity = !0));
}
,onWrapperMouseDown:function(e){
	Cursor.refresh(e),preventEventDefaults(e),this.startTap();
}
,onWrapperTouchStart:function(e){
	Cursor.refresh(e),preventEventDefaults(e),this.startTap();
}
,onDocumentMouseUp:function(e){
	this.stopDrag(),this.stopTap();
}
,onDocumentTouchEnd:function(e){
	this.stopDrag(),this.stopTap();
}
,onHandleClick:function(e){
	this.activity && (preventEventDefaults(e),stopEventPropagation(e));
}
,onWindowResize:function(e){
	this.reflow();
}
,enable:function(){
	this.disabled = !1,this.handle.className = this.handle.className.replace(/\s?disabled/g,"");
}
,disable:function(){
	this.disabled = !0,this.handle.className += " disabled";
}
,reflow:function(){
	this.setWrapperOffset(),this.bounds = this.calculateBounds(),this.valuePrecision = this.calculateValuePrecision(),this.updateOffsetFromValue();
}
,getStep:function(){
	return [ this.getStepNumber(this.value.target[0]),this.getStepNumber(this.value.target[1]) ];
}
,getValue:function(){
	return this.value.target;
}
,setStep:function(x,y,snap){
	this.setValue(this.options.steps && x > 1 ? (x - 1) / (this.options.steps - 1):0,this.options.steps && y > 1 ? (y - 1) / (this.options.steps - 1):0,snap);
}
,setValue:function(x,y,snap){
	this.setTargetValue([ x,y || 0 ]),snap && (this.groupCopy(this.value.current,this.value.target),this.updateOffsetFromValue(),this.callAnimationCallback());
}
,startTap:function(){
	!this.disabled && this.options.tapping && (this.tapping = !0,this.setWrapperOffset(),this.setTargetValueByOffset([ Cursor.x - this.offset.wrapper[0] - this.handle.offsetWidth / 2,Cursor.y - this.offset.wrapper[1] - this.handle.offsetHeight / 2 ]));
}
,stopTap:function(){
	!this.disabled && this.tapping && (this.tapping = !1,this.setTargetValue(this.value.current));
}
,startDrag:function(){
	this.disabled || (this.dragging = !0,this.setWrapperOffset(),this.offset.mouse = [ Cursor.x - Position.get(this.handle)[0],Cursor.y - Position.get(this.handle)[1] ],this.wrapper.className.match(this.options.activeClass) || (this.wrapper.className += " " + this.options.activeClass),this.callDragStartCallback());
}
,stopDrag:function(){
	if (!this.disabled && this.dragging){
	this.dragging = !1;
	var target = this.groupClone(this.value.current);
	if (this.options.slide){
	var ratioChange = this.change;
	target[0] += 4 * ratioChange[0],target[1] += 4 * ratioChange[1];
}
this.setTargetValue(target),this.wrapper.className = this.wrapper.className.replace(" " + this.options.activeClass,""),this.callDragStopCallback();
}
}
,callAnimationCallback:function(){
	var value = this.value.current;
	this.options.snap && this.options.steps > 1 && (value = this.getClosestSteps(value)),this.groupCompare(value,this.value.prev) || ("function" == typeof this.options.animationCallback && this.options.animationCallback.call(this,value[0],value[1]),this.groupCopy(this.value.prev,value));
}
,callTargetCallback:function(){
	"function" == typeof this.options.callback && this.options.callback.call(this,this.value.target[0],this.value.target[1]);
}
,callDragStartCallback:function(){
	"function" == typeof this.options.dragStartCallback && this.options.dragStartCallback.call(this,this.value.target[0],this.value.target[1]);
}
,callDragStopCallback:function(){
	"function" == typeof this.options.dragStopCallback && this.options.dragStopCallback.call(this,this.value.target[0],this.value.target[1]);
}
,animateWithRequestAnimationFrame:function(time){
	time ? (this.timeOffset = this.timeStamp ? time - this.timeStamp:0,this.timeStamp = time):this.timeOffset = 25,this.animate(),this.interval = this.requestAnimationFrame(this.animateWithRequestAnimationFrame);
}
,animate:function(direct,first){
	if (!direct || this.dragging){
	if (this.dragging){
	var prevTarget = this.groupClone(this.value.target),offset = [ Cursor.x - this.offset.wrapper[0] - this.offset.mouse[0],Cursor.y - this.offset.wrapper[1] - this.offset.mouse[1] ];
	this.setTargetValueByOffset(offset,this.options.loose),this.change = [ this.value.target[0] - prevTarget[0],this.value.target[1] - prevTarget[1] ];
}
(this.dragging || first) && this.groupCopy(this.value.current,this.value.target),(this.dragging || this.glide() || first) && (this.updateOffsetFromValue(),this.callAnimationCallback());
}
}
,glide:function(){
	var diff = [ this.value.target[0] - this.value.current[0],this.value.target[1] - this.value.current[1] ];
	return diff[0] || diff[1] ? (Math.abs(diff[0]) > this.valuePrecision[0] || Math.abs(diff[1]) > this.valuePrecision[1] ? (this.value.current[0] += diff[0] * this.options.speed * this.timeOffset / 25,this.value.current[1] += diff[1] * this.options.speed * this.timeOffset / 25):this.groupCopy(this.value.current,this.value.target),!0):!1;
}
,updateOffsetFromValue:function(){
	this.options.snap ? this.offset.current = this.getOffsetsByRatios(this.getClosestSteps(this.value.current)):this.offset.current = this.getOffsetsByRatios(this.value.current),this.groupCompare(this.offset.current,this.offset.prev) || (this.renderHandlePosition(),this.groupCopy(this.offset.prev,this.offset.current));
}
,renderHandlePosition:function(){
	var transform = "";
	return this.options.css3 && StylePrefix.transform ? (this.options.horizontal && (transform += "translateX(" + this.offset.current[0] + "px)"),this.options.vertical && (transform += " translateY(" + this.offset.current[1] + "px)"),void (this.handle.style[StylePrefix.transform] = transform)):(this.options.horizontal && (this.handle.style.left = this.offset.current[0] + "px"),void (this.options.vertical && (this.handle.style.top = this.offset.current[1] + "px")));
}
,setTargetValue:function(value,loose){
	var target = loose ? this.getLooseValue(value):this.getProperValue(value);
	this.groupCopy(this.value.target,target),this.offset.target = this.getOffsetsByRatios(target),this.callTargetCallback();
}
,setTargetValueByOffset:function(offset,loose){
	var value = this.getRatiosByOffsets(offset),target = loose ? this.getLooseValue(value):this.getProperValue(value);
	this.groupCopy(this.value.target,target),this.offset.target = this.getOffsetsByRatios(target);
}
,getLooseValue:function(value){
	var proper = this.getProperValue(value);
	return [ proper[0] + (value[0] - proper[0]) / 4,proper[1] + (value[1] - proper[1]) / 4 ];
}
,getProperValue:function(value){
	var proper = this.groupClone(value);
	return proper[0] = Math.max(proper[0],0),proper[1] = Math.max(proper[1],0),proper[0] = Math.min(proper[0],1),proper[1] = Math.min(proper[1],1),(!this.dragging && !this.tapping || this.options.snap) && this.options.steps > 1 && (proper = this.getClosestSteps(proper)),proper;
}
,getRatiosByOffsets:function(group){
	return [ this.getRatioByOffset(group[0],this.bounds.availWidth,this.bounds.left),this.getRatioByOffset(group[1],this.bounds.availHeight,this.bounds.top) ];
}
,getRatioByOffset:function(offset,range,padding){
	return range ? (offset - padding) / range:0;
}
,getOffsetsByRatios:function(group){
	return [ this.getOffsetByRatio(group[0],this.bounds.availWidth,this.bounds.left),this.getOffsetByRatio(group[1],this.bounds.availHeight,this.bounds.top) ];
}
,getOffsetByRatio:function(ratio,range,padding){
	return Math.round(ratio * range) + padding;
}
,getStepNumber:function(value){
	return this.getClosestStep(value) * (this.options.steps - 1) + 1;
}
,getClosestSteps:function(group){
	return [ this.getClosestStep(group[0]),this.getClosestStep(group[1]) ];
}
,getClosestStep:function(value){
	for (var k = 0,min = 1,i = 0;
	i <= this.options.steps - 1;
	i++) Math.abs(this.stepRatios[i] - value) < min && (min = Math.abs(this.stepRatios[i] - value),k = i);
	return this.stepRatios[k];
}
,groupCompare:function(a,b){
	return a[0] == b[0] && a[1] == b[1];
}
,groupCopy:function(a,b){
	a[0] = b[0],a[1] = b[1];
}
,groupClone:function(a){
	return [ a[0],a[1] ];
}
,draggingOnDisabledAxis:function(){
	return !this.options.horizontal && Cursor.xDiff > Cursor.yDiff || !this.options.vertical && Cursor.yDiff > Cursor.xDiff;
}
}
;
	for (var bind = function(fn,context){
	return function(){
	return fn.apply(context,arguments);
}
;
}
,addEventListener = function(element,type,callback){
	element.addEventListener ? element.addEventListener(type,callback,!1):element.attachEvent && element.attachEvent("on" + type,callback);
}
,removeEventListener = function(element,type,callback){
	element.removeEventListener ? element.removeEventListener(type,callback,!1):element.detachEvent && element.detachEvent("on" + type,callback);
}
,preventEventDefaults = function(e){
	e || (e = window.event),e.preventDefault && e.preventDefault(),e.returnValue = !1;
}
,stopEventPropagation = function(e){
	e || (e = window.event),e.stopPropagation && e.stopPropagation(),e.cancelBubble = !0;
}
,Cursor ={
	x:0,y:0,xDiff:0,yDiff:0,refresh:function(e){
	e || (e = window.event),"mousemove" == e.type ? this.set(e):e.touches && this.set(e.touches[0]);
}
,set:function(e){
	var lastX = this.x,lastY = this.y;
	e.clientX || e.clientY ? (this.x = e.clientX,this.y = e.clientY):(e.pageX || e.pageY) && (this.x = e.pageX - document.body.scrollLeft - document.documentElement.scrollLeft,this.y = e.pageY - document.body.scrollTop - document.documentElement.scrollTop),this.xDiff = Math.abs(this.x - lastX),this.yDiff = Math.abs(this.y - lastY);
}
}
,Position ={
	get:function(obj){
	var rect ={
	left:0,top:0}
;
	return void 0 !== obj.getBoundingClientRect && (rect = obj.getBoundingClientRect()),[ rect.left,rect.top ];
}
}
,StylePrefix ={
	transform:getPrefixedStylePropName("transform"),perspective:getPrefixedStylePropName("perspective"),backfaceVisibility:getPrefixedStylePropName("backfaceVisibility")}
,vendors = [ "webkit","moz" ],requestAnimationFrame = window.requestAnimationFrame,cancelAnimationFrame = window.cancelAnimationFrame,x = 0;
	x < vendors.length && !requestAnimationFrame;
	++x) requestAnimationFrame = window[vendors[x] + "RequestAnimationFrame"],cancelAnimationFrame = window[vendors[x] + "CancelAnimationFrame"] || window[vendors[x] + "CancelRequestAnimationFrame"];
	return requestAnimationFrame || (requestAnimationFrame = function(callback){
	return setTimeout(callback,25);
}
,cancelAnimationFrame = clearTimeout),Dragdealer;
}
),document.addEventListener("DOMContentLoaded",function(){
	init();
}
);
	var extend = augment.extend,Tl = augment(Object,function(){
	this.Albums = extend(this,{
	constructor:function(album){
	this.viewerDrag,this.thumbDrag,this.currentStep,this.imageArray = [],this.imageSizes = [],this.albumTitles = [],this.colorsIndex = [],this.imageDescriptions = [],this.parentWrap = album.parentNode,this.sections = album.children,this.rowItems = album.getAttribute("data-rows") || 6,this.initialWidth = this.parentWrap.offsetWidth,this.imageTags = album.querySelectorAll("img"),this.gridWrapper = document.createElement("div"),this.gridWrapper.className = "grid-wrapper",this.viewerWrapper = document.createElement("div"),this.viewerWrapper.className = "viewer-wrapper",this.viewerWrapperView = document.createElement("div"),this.viewerWrapperView.className = "viewer-wrapper_view",this.viewerWrapperDragContainer = document.createElement("div"),this.viewerWrapperDragContainer.className = "viewer-drag-container",this.viewerWrapperHandle = document.createElement("div"),this.viewerWrapperHandle.className = "viewer-wrapper_view__handler",this.viewerThumbsWrap = document.createElement("div"),this.viewerThumbsWrap.className = "viewer-wrapper_thumbs",this.viewerThumbsWrapHandle = document.createElement("div"),this.viewerThumbsWrapHandle.className = "viewer-wrapper_thumbs__handler",this.controlsClose = document.createElement("div"),this.controlsClose.className = "controls_close-viewer",this.controlsNext = document.createElement("div"),this.controlsNext.className = "controls_next",this.controlsPrev = document.createElement("div"),this.controlsPrev.className = "controls_prev";
}
,isMobile:function(){
	var mobile = navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/iPhone|iPad|iPod/i) || navigator.userAgent.match(/Opera Mini/i) || navigator.userAgent.match(/IEMobile/i);
	return mobile ? !0:!1;
}
,initTimeline:function(){
	var bgColor = new Please.make_color({
	golden:!0,colors_returned:this.sections.length}
);
	[].forEach.call(this.sections,function(section,index){
	this.processSection(section,bgColor[index]);
}
.bind(this)),this.isMobile() && (this.gridWrapper.classList.add("mobile"),this.viewerWrapper.classList.add("mobile"),this.rowItems = 2),this.parentWrap.appendChild(this.gridWrapper),this.setGridBackgrounds(this.gridWrapper.children,this.imageTags),this.setGridEmFontReference();
}
,processSection:function(section,bgColor){
	var items = section.children,albumTitle = section.getAttribute("ta-name");
	this.albumTitles.push(albumTitle),this.colorsIndex.push(bgColor),[].forEach.call(items,function(item){
	var gridItem = this.constructGridElement(item,albumTitle,bgColor);
	this.gridWrapper.appendChild(gridItem);
}
.bind(this));
}
,constructGridElement:function(item,albumTitle,bgColor){
	var gridElement = document.createElement("div");
	gridElement.className = "grid-wrapper_element preloading";
	var bgC = document.createElement("div");
	bgC.className = "grid-wrapper_element__color",bgC.style.backgroundColor = bgColor;
	var bgI = document.createElement("div");
	bgI.className = "grid-wrapper_element__imgBg";
	var name = document.createElement("h4");
	name.innerHTML = albumTitle;
	var description = document.createElement("p"),text = item.children[1].innerHTML;
	return description.innerHTML = text,this.imageDescriptions.push(text),gridElement.appendChild(bgC),gridElement.appendChild(bgI),gridElement.appendChild(name),gridElement.appendChild(description),gridElement;
}
,setGridBackgrounds:function(gridElements,sourceUrls){
	function preload(imageArray,index){
	if (index = index || 0,imageArray && imageArray.length > index){
	var img = new Image();
	img.onload = function(){
	var dims = [ this.naturalWidth,this.naturalHeight ];
	self.imageSizes.push(dims),gridBackgrounds[index].style.backgroundImage = 'url("' + this.src + '")',gridBackgrounds[index].parentNode.classList.remove("preloading"),self.isMobile() && gridBackgrounds[index].parentNode.classList.add("hovered"),preload(imageArray,index + 1);
}
,img.src = imageArray[index];
}
index === imageArray.length && (self.bindListeners(),self.initViewer());
}
for (var gridBackgrounds = [],self = this,i = 0;
	i < sourceUrls.length;
	i++) this.imageArray.push(sourceUrls[i].getAttribute("data-src")),gridBackgrounds.push(gridElements[i].children[1]);
	var imageArray = this.imageArray;
	preload(imageArray);
}
,initViewer:function(){
	document.body.appendChild(this.viewerWrapper),this.buildView(),this.buildThumbs(),this.setViewerEmFontReference();
}
,buildView:function(){
	var viewerWidth = 100 * this.imageArray.length + "%";
	[].forEach.call(this.imageArray,function(image,index){
	var viewerElement = document.createElement("div");
	viewerElement.className = "view-handler-element";
	var elementBackground = document.createElement("div");
	elementBackground.className = "element-background",elementBackground.style.backgroundImage = 'url("' + image + '")';
	var imageDescription = document.createElement("p");
	imageDescription.innerHTML = this.imageDescriptions[index],elementBackground.appendChild(imageDescription),viewerElement.appendChild(elementBackground),this.viewerWrapperHandle.appendChild(viewerElement);
}
.bind(this)),this.viewerWrapperHandle.style.width = viewerWidth,this.viewerWrapperDragContainer.appendChild(this.viewerWrapperHandle),this.viewerWrapper.appendChild(this.viewerWrapperDragContainer),this.viewerWrapper.appendChild(this.controlsClose),this.viewerWrapper.appendChild(this.controlsNext),this.viewerWrapper.appendChild(this.controlsPrev),this.resizeImageHolder();
}
,resizeImageHolder:function(){
	var targetViewer = this.viewerWrapper.children[0],innerChildren = targetViewer.children[0].children,vw = window.innerWidth,vh = window.innerHeight,emW = Math.round(vw / 10),maxH = this.isMobile() ? vh:vh - 210,maxEmW = 8;
	[].forEach.call(innerChildren,function(elem,index){
	var finalW,imgHolder = elem.children[0],imgW = this.imageSizes[index][0],imgH = this.imageSizes[index][1],ratio = imgW / imgH,scaleRatio = maxH / imgH;
	finalW = imgH * scaleRatio * ratio / emW,finalW = Math.min(finalW,maxEmW) + "em",imgHolder.style.width = finalW;
}
.bind(this));
}
,buildThumbs:function(){
	var thumbHandleWidth = 120 * this.imageArray.length + "px";
	this.viewerThumbsWrapHandle.style.width = thumbHandleWidth,[].forEach.call(this.sections,function(section,index){
	var thumbSection = document.createElement("div");
	thumbSection.style.backgroundColor = this.colorsIndex[index],thumbSection.className = "thumbs-section";
	var sectionName = document.createElement("p");
	sectionName.innerHTML = this.albumTitles[index],[].forEach.call(section.children,function(item){
	var thumbImage = item.children[0].getAttribute("data-src"),thumb = document.createElement("div");
	thumb.className = "thumbs-section_image",thumb.style.backgroundImage = 'url("' + thumbImage + '")',thumbSection.appendChild(thumb);
}
),thumbSection.appendChild(sectionName),this.viewerThumbsWrapHandle.appendChild(thumbSection);
}
.bind(this)),this.viewerThumbsWrap.appendChild(this.viewerThumbsWrapHandle),this.viewerWrapper.appendChild(this.viewerThumbsWrap);
}
,bindListeners:function(){
	var activeChild;
	[].forEach.call(this.gridWrapper.children,function(child,index){
	child.addEventListener("click",function(){
	activeChild = child,this.initView(child,index);
}
.bind(this));
}
.bind(this)),this.controlsClose.addEventListener("click",function(){
	this.distroyViewer(activeChild);
}
.bind(this)),this.controlsPrev.addEventListener("click",function(){
	this.goTo("prev");
}
.bind(this)),this.controlsNext.addEventListener("click",function(){
	this.goTo("next");
}
.bind(this)),window.addEventListener("resize",function(){
	this.setGridEmFontReference(),this.setViewerEmFontReference(),this.resizeImageHolder();
}
.bind(this)),document.body.addEventListener("keydown",function(e){
	37 == e.keyCode && this.goTo("prev"),39 == e.keyCode && this.goTo("next");
}
.bind(this));
}
,setGridEmFontReference:function(){
	var w = this.gridWrapper.offsetWidth,fit = (this.initialWidth - w,(w - 6.3 * this.rowItems) / this.rowItems / 15),refFont = fit + "px";
	this.gridWrapper.style.fontSize = refFont;
}
,setViewerEmFontReference:function(){
	var w = this.viewerWrapper.offsetWidth,refFont = Math.round(w / 10) + "px";
	this.viewerWrapper.style.fontSize = refFont;
}
,initDrag:function(){
	var stepsCount = this.imageArray.length,self = this;
	this.thumbDrag = new Dragdealer(self.viewerThumbsWrap,{
	steps:stepsCount,handleClass:"viewer-wrapper_thumbs__handler",speed:.3,loose:!0,requestAnimationFrame:!0,dragStopCallback:function(x,y){
	var x = this.getStep()[0];
	self.viewerDrag.setStep(x,1),self.currentStep = x;
}
}
),this.viewerDrag = new Dragdealer(self.viewerWrapperDragContainer,{
	steps:stepsCount,handleClass:"viewer-wrapper_view__handler",speed:.4,loose:!0,requestAnimationFrame:!0,dragStopCallback:function(x,y){
	var x = this.getStep()[0];
	self.thumbDrag.setStep(x,1),self.currentStep = x;
}
}
);
}
,setStartingValues:function(index){
	this.viewerDrag.setStep(index + 1,0,!0),this.thumbDrag.setStep(index + 1,0,!0);
}
,distroyViewer:function(activeChild){
	this.viewerWrapper.classList.toggle("active"),this.viewerWrapperDragContainer.classList.toggle("visible"),this.viewerThumbsWrap.classList.toggle("visible"),activeChild.classList.toggle("hovered"),this.setGridEmFontReference(),document.body.classList.toggle("no-scroll");
}
,initView:function(child,index){
	document.body.classList.toggle("no-scroll"),child.classList.toggle("hovered"),this.viewerWrapper.classList.toggle("active"),this.viewerWrapperDragContainer.classList.toggle("visible"),this.viewerThumbsWrap.classList.toggle("visible"),this.initDrag(),this.setStartingValues(index),this.currentStep = index + 1;
}
,goTo:function(direction){
	"next" === direction && this.currentStep < this.imageArray.length && (this.viewerDrag.setStep(this.currentStep + 1),this.thumbDrag.setStep(this.currentStep + 1),this.currentStep++),"prev" === direction && this.currentStep > 1 && (this.viewerDrag.setStep(this.currentStep - 1),this.thumbDrag.setStep(this.currentStep - 1),this.currentStep--);
}
}
);
}
);
	

CSS代码(tl-album.css):

@import url(http://fonts.useso.com/css?family=Open+Sans:400,700);html,body{border:0;margin:0;padding:0;}
div,span,object,iframe,img,table,caption,thead,tbody,tfoot,tr,tr,td,article,aside,canvas,details,figure,hgroup,menu,nav,footer,header,section,summary,mark,audio,video{border:0;margin:0;padding:0;}
h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cit,code,del,dfn,em,ins,q,samp,small,strong,sub,sup,b,i,hr,dl,dt,dd,ol,ul,li,fieldset,legend,label{border:0;font-size:100%;vertical-align:baseline;margin:0;padding:0;}
article,aside,canvas,figure,figure img,figcaption,hgroup,footer,header,nav,section,audio,video{display:block;}
table{border-collapse:separate;border-spacing:0;}
table caption,table th,table td{text-align:left;vertical-align:middle;}
a img{border:0;}
:focus{outline:0;}
#testa{position:relative;width:87vw;height:40%;margin:0 auto;}
#testb{position:relative;width:90%;margin:0 auto;}
html,body{position:absolute;width:100%;height:100%;background:#fff;overflow-x:hidden;font-family:'Open Sans',sans-serif;}
.demo{width:100%;float:left;margin:25px 0 0 0;}
.section{display:table;position:relative;width:87vw;margin:20px auto 0;background-color:#FFFFFF;padding:25px;box-sizing:border-box;text-align:center;overflow:hidden;}
.section h1{font-size:40px;color:#404040;font-weight:900;line-height:85px;margin:0 0 50px 0;/* background-color:#ECECEC;*/
}
.section > p{font-size:24px;color:#323232;text-align:left;background-color:#FFFFFF;padding:15px;border:1px solid #000;}
.section .content-left,.section .content-right{width:50%;float:left;box-sizing:border-box;}
.section .content-left.padding,.section .content-right.padding{padding:85px 0 0 0;}
.section .content-left ul,.section .content-right ul{background-color:#F7F7F7;margin:0 20px 0 0;padding:60px 70px 86px 60px;float:left;border:1px solid #000;}
.section .content-left ul h1,.section .content-right ul h1{line-height:1;color:#8C8C8C;margin:-15px 0 55px 0;}
.section .content-left ul li,.section .content-right ul li{text-align:left;font-size:1.24vw;color:#000;}
.time-album{display:none;}
.no-scroll{pointer-events:none!important;}
.grid-wrapper{position:relative;width:100%;height:100%;margin:0;padding:0;}
.grid-wrapper_element{position:relative;vertical-align:top;display:inline-block;float:left;width:15em;height:12em;margin:3px;border-radius:0.6em 0.2em 0.2em 0;overflow:hidden;-webkit-transition:opacity 0.5s linear;-moz-transition:opacity 0.5s linear;-o-transition:opacity 0.5s linear;transition:opacity 0.5s linear;opacity:1;}
.grid-wrapper_element:first-child{clear:left;}
.grid-wrapper_element.preloading{opacity:0;display:block;}
.grid-wrapper_element__imgBg{position:absolute;left:0.2em;right:0;top:0.2em;bottom:0;background-size:cover;background-position:center;border-radius:1.5em 0 0 0;border:5px solid #fff;overflow:hidden;cursor:pointer;}
.grid-wrapper_element__imgBg:before{content:'';display:block;position:absolute;width:101%;height:100%;background:rgba(0,0,0,0.75);border-radius:0;-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.65,0.05,0.36,1),-webkit-border-radius 0.2s 0.1s cubic-bezier(0.65,0.05,0.36,1);-moz-transition:-moz-transform 0.3s cubic-bezier(0.65,0.05,0.36,1),border-radius 0.2s 0.1s cubic-bezier(0.65,0.05,0.36,1);-o-transition:-o-transform 0.3s cubic-bezier(0.65,0.05,0.36,1),border-radius 0.2s 0.1s cubic-bezier(0.65,0.05,0.36,1);transition:-webkit-transform 0.3s cubic-bezier(0.65,0.05,0.36,1),-moz-transform 0.3s cubic-bezier(0.65,0.05,0.36,1),-o-transform 0.3s cubic-bezier(0.65,0.05,0.36,1),transform 0.3s cubic-bezier(0.65,0.05,0.36,1),border-radius 0.2s 0.1s cubic-bezier(0.65,0.05,0.36,1);-webkit-transform:translate3d(100%,0,0);-moz-transform:translate3d(100%,0,0);-o-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);}
.grid-wrapper_element__color{position:absolute;width:10em;height:5em;border-radius:0.5em 0.5em 0 0.5em;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1),height 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);-moz-transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1),height 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);-o-transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1),height 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1),height 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);}
.grid-wrapper_element h4{position:absolute;width:100%;padding:0 1em;font-family:'Open Sans',sans-serif;color:#fff;font-size:1.2em;font-weight:400;line-height:8em;text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:0;overflow:hidden;box-sizing:border-box;cursor:pointer;pointer-events:none;-webkit-transition:opacity 0.3s 0.5s linear;-moz-transition:opacity 0.3s 0.5s linear;-o-transition:opacity 0.3s 0.5s linear;transition:opacity 0.3s 0.5s linear;}
.grid-wrapper_element h4:before,.grid-wrapper_element h4:after{content:'';position:absolute;width:0;height:1px;background:#fff;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);-moz-transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);-o-transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);transition:width 0.8s 0.3s cubic-bezier(0.65,0.05,0.36,1);}
.grid-wrapper_element h4:before{bottom:2.7em;left:1em;}
.grid-wrapper_element h4:after{bottom:2.9em;right:1em;}
.grid-wrapper_element p{position:absolute;bottom:4em;width:100%;padding:0 1em;box-sizing:border-box;opacity:0;font-family:'Open Sans',sans-serif;font-weight:400;color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;pointer-events:none;-webkit-transition:opacity 0.3s 0.5s linear;-moz-transition:opacity 0.3s 0.5s linear;-o-transition:opacity 0.3s 0.5s linear;transition:opacity 0.3s 0.5s linear;}
.grid-wrapper_element:hover .grid-wrapper_element__color,.grid-wrapper_element.hovered .grid-wrapper_element__color{width:15em;height:12em;}
.grid-wrapper_element:hover .grid-wrapper_element__imgBg:before,.grid-wrapper_element.hovered .grid-wrapper_element__imgBg:before{border-radius:1.5em 0 0 0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}
.grid-wrapper_element:hover h4,.grid-wrapper_element.hovered h4{opacity:1;}
.grid-wrapper_element:hover h4:before,.grid-wrapper_element.hovered h4:before,.grid-wrapper_element:hover h4:after,.grid-wrapper_element.hovered h4:after{width:10.5em;}
.grid-wrapper_element:hover p,.grid-wrapper_element.hovered p{opacity:1;}
.viewer-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;z-index:9999;pointer-events:none;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
.viewer-wrapper:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;box-sizing:border-box;background:#ffffff;-webkit-transform:translate3d(-100%,0,0);-moz-transform:translate3d(-100%,0,0);-o-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition:-webkit-transform 0.5s cubic-bezier(1,0.1,0.1,1);-moz-transition:-moz-transform 0.5s cubic-bezier(1,0.1,0.1,1);-o-transition:-o-transform 0.5s cubic-bezier(1,0.1,0.1,1);transition:-webkit-transform 0.5s cubic-bezier(1,0.1,0.1,1),-moz-transform 0.5s cubic-bezier(1,0.1,0.1,1),-o-transform 0.5s cubic-bezier(1,0.1,0.1,1),transform 0.5s cubic-bezier(1,0.1,0.1,1);}
.viewer-wrapper:after{content:'';position:absolute;left:0;bottom:0;z-index:0;width:100%;height:101px;background:rgba(208,208,208,0.5);box-shadow:inset 1px 0px 5px #000;-webkit-transform:translate3d(0,100%,0);-moz-transform:translate3d(0,100%,0);-o-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:-webkit-transform 0.5s cubic-bezier(0.65,0.05,0.36,1);-moz-transition:-moz-transform 0.5s cubic-bezier(0.65,0.05,0.36,1);-o-transition:-o-transform 0.5s cubic-bezier(0.65,0.05,0.36,1);transition:-webkit-transform 0.5s cubic-bezier(0.65,0.05,0.36,1),-moz-transform 0.5s cubic-bezier(0.65,0.05,0.36,1),-o-transform 0.5s cubic-bezier(0.65,0.05,0.36,1),transform 0.5s cubic-bezier(0.65,0.05,0.36,1);}
.viewer-wrapper.active{opacity:1;pointer-events:all!important;}
.viewer-wrapper.active:before{opacity:1;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}
.viewer-wrapper.active:after{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}
.viewer-wrapper .controls_close-viewer,.viewer-wrapper .controls_next,.viewer-wrapper .controls_prev{position:absolute;cursor:pointer;z-index:2;}
.viewer-wrapper .controls_close-viewer:before,.viewer-wrapper .controls_next:before,.viewer-wrapper .controls_prev:before,.viewer-wrapper .controls_close-viewer:after,.viewer-wrapper .controls_next:after,.viewer-wrapper .controls_prev:after{content:'';position:absolute;top:50px;left:25px;width:50%;height:2px;background:#1E8BFF;}
.viewer-wrapper .controls_close-viewer:before,.viewer-wrapper .controls_next:before,.viewer-wrapper .controls_prev:before{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);}
.viewer-wrapper .controls_close-viewer:after,.viewer-wrapper .controls_next:after,.viewer-wrapper .controls_prev:after{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-o-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);}
.viewer-wrapper .controls_close-viewer{right:0.1em;top:0.1em;width:70px;height:70px;}
.viewer-wrapper .controls_close-viewer:before,.viewer-wrapper .controls_close-viewer:after{top:25px;left:15px;background:#000;}
.viewer-wrapper .controls_next{right:0;bottom:0;width:100px;height:100px;background:rgba(255,255,255,0.8);}
.viewer-wrapper .controls_next:before,.viewer-wrapper .controls_next:after{-webkit-transform-origin:right;-moz-transform-origin:right;-o-transform-origin:right;-ms-transform-origin:right;transform-origin:right;}
.viewer-wrapper .controls_prev{left:0;bottom:0;width:100px;height:100px;background:rgba(255,255,255,0.8);}
.viewer-wrapper .controls_prev:before,.viewer-wrapper .controls_prev:after{-webkit-transform-origin:left;-moz-transform-origin:left;-o-transform-origin:left;-ms-transform-origin:left;transform-origin:left;}
.viewer-wrapper .viewer-drag-container{position:absolute;top:0;bottom:220px;opacity:0;-webkit-transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);-moz-transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);-o-transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);}
.viewer-wrapper .viewer-drag-container.visible{opacity:1;}
.viewer-wrapper .viewer-drag-container .viewer-wrapper_view__handler{position:relative;height:100%;}
.viewer-wrapper .viewer-drag-container .viewer-wrapper_view__handler .view-handler-element{position:relative;float:left;width:100vw;height:100%;background-size:cover;}
.viewer-wrapper .viewer-drag-container .viewer-wrapper_view__handler .view-handler-element .element-background{position:relative;height:100%;width:7em;margin:0.1em auto 0;box-shadow:0px 0px 1px 0px #000;background-size:cover;background-position:center;cursor:move;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}
.viewer-wrapper .viewer-drag-container .viewer-wrapper_view__handler .view-handler-element .element-background p{position:absolute;bottom:0;width:100%;margin:0 auto 0;padding:0.5em 0;box-sizing:border-box;font-family:'Open Sans',sans-serif;font-size:15px;line-height:2em;text-align:center;white-space:nowrap;text-overflow:ellipsis;font-weight:700;color:#fff;overflow:hidden;background:#1E8BFF;}
.viewer-wrapper_thumbs{position:absolute;bottom:0;left:50%;width:120px;height:100px;opacity:0;z-index:1;-webkit-transform:translate3d(-50%,0,0);-moz-transform:translate3d(-50%,0,0);-o-transform:translate3d(-50%,0,0);-ms-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);-webkit-transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);-moz-transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);-o-transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);transition:opacity 0.7s 0.5s cubic-bezier(0.65,0.05,0.36,1);}
.viewer-wrapper_thumbs:before{content:'';position:absolute;width:100%;height:100%;border:3px solid #1E8BFF;border-bottom-width:5px;box-shadow:inset 0px 1px 5px #000;z-index:1;box-sizing:border-box;pointer-events:none;}
.viewer-wrapper_thumbs.visible{opacity:1;-webkit-transform:translate3d(-50%,0,0);-moz-transform:translate3d(-50%,0,0);-o-transform:translate3d(-50%,0,0);-ms-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);}
.viewer-wrapper_thumbs__handler{height:110px;}
.viewer-wrapper_thumbs__handler:before{content:'';position:absolute;top:-48.5px;left:0;width:10px;height:10px;background:#1E8BFF;border-radius:50%;pointer-events:none;}
.viewer-wrapper_thumbs__handler .thumbs-section{position:relative;top:0;float:left;height:110px;}
.viewer-wrapper_thumbs__handler .thumbs-section:before{content:'';position:absolute;top:-43px;left:0;width:100%;height:1px;background:#1E8BFF;pointer-events:none;}
.viewer-wrapper_thumbs__handler .thumbs-section:after{content:'';position:absolute;top:-48.5px;right:-5px;width:10px;height:10px;background:#1E8BFF;border-radius:50%;box-shadow:0px 1px 2px 0px #000;pointer-events:none;}
.viewer-wrapper_thumbs__handler .thumbs-section_image{bottom:-10px;float:left;width:120px;height:100px;border-bottom:5px solid rgba(255,255,255,0);box-sizing:border-box;background-size:cover;background-position:center;background-clip:content-box;cursor:move;}
.viewer-wrapper_thumbs__handler .thumbs-section p{position:absolute;top:-65px;left:50%;padding:10px 15px;font-family:'Open Sans',sans-serif;font-weight:400;font-size:17px;background:#fff;box-shadow:0px 1px 2px -1px #000000;pointer-events:none;-webkit-transform:translate3d(-50%,0,0);-moz-transform:translate3d(-50%,0,0);-o-transform:translate3d(-50%,0,0);-ms-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);}
.mobile .grid-wrapper_element .grid-wrapper_element__imgBg:before{background:rgba(0,0,0,0.2);}
.mobile .grid-wrapper_element h4{text-shadow:0px 1px 1px #000;}
.mobile .grid-wrapper_element p{display:none;}
@media all and (max-width:950px){.section .content-left,.section .content-right{width:100%;margin:25px 0;}
.section{padding:0;}
.section .content-left ul li,.section .content-right ul li{font-size:15px;}
.section .content-left ul,.section .content-right ul{width:100%;box-sizing:border-box;margin:0;}
}
@media screen and (orientation:landscape){.mobile .viewer-wrapper_thumbs{display:none;}
.mobile .viewer-drag-container{bottom:15px;}
.mobile:after{display:none;}
.mobile .controls_next,.mobile .controls_prev{bottom:50%;margin:0 0 -50px 0;}
}
@media screen and (orientation:portrait){.mobile .viewer-drag-container .viewer-wrapper_view__handler .view-handler-element .element-background{height:60vh;margin:10vh auto 0;}
.mobile .viewer-drag-container .viewer-wrapper_view__handler .view-handler-element .element-background p{padding:10px;font-size:12px;border-radius:3px;white-space:initial;}
.mobile .viewer-wrapper_thumbs__handler .thumbs-section p{top:-53px;font-size:13px;}
}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
2.84 MB
Html 动画效果4
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章