瀏覽代碼

Bug Fix: Sometimes fixedWidth or fixedHeight didn't work well.

NaotoshiFujita 5 年之前
父節點
當前提交
252abc2569

+ 1 - 1
dist/css/splide-core.min.css

@@ -1 +1 @@
-@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide{position:relative;visibility:hidden}.splide__track{position:relative;z-index:0;overflow:hidden}.splide__list{display:flex}.splide__slide{position:relative;box-sizing:border-box}.splide__slide.is-loading{display:flex;justify-content:center;align-items:center}.splide__slide img{vertical-align:bottom}.splide__container{box-sizing:border-box}.splide__spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid #999;border-left-color:transparent;animation:splide-loading 1s linear infinite}.splide__pagination{display:inline-flex;align-items:center}.splide__pagination li{display:inline-flex}.splide__sr{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.splide--draggable>.splide__track>.splide__list>.splide__slide{-webkit-user-select:none;user-select:none}.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__track>.splide__list>.splide__slide{position:absolute;top:0;left:0;z-index:0;opacity:0}.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{position:relative;z-index:1;opacity:1}.splide--rtl{direction:rtl}.splide--ttb>.splide__track>.splide__list{display:block}
+@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide{position:relative;visibility:hidden}.splide__track{overflow:hidden}.splide__list{display:flex}.splide__slide{position:relative;box-sizing:border-box}.splide__slide.is-loading{display:flex;justify-content:center;align-items:center}.splide__slide img{vertical-align:bottom}.splide__container{box-sizing:border-box}.splide__spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid #999;border-left-color:transparent;animation:splide-loading 1s linear infinite}.splide__pagination{display:inline-flex;align-items:center}.splide__pagination li{display:inline-flex}.splide__sr{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.splide--draggable>.splide__track>.splide__list>.splide__slide{-webkit-user-select:none;user-select:none}.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__track>.splide__list>.splide__slide{position:absolute;top:0;left:0;z-index:0;opacity:0}.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{position:relative;z-index:1;opacity:1}.splide--rtl{direction:rtl}.splide--ttb>.splide__track>.splide__list{display:block}

文件差異過大導致無法顯示
+ 0 - 0
dist/css/splide.min.css


文件差異過大導致無法顯示
+ 1 - 1
dist/js/splide.min.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@splidejs/splide",
-  "version": "1.0.4",
+  "version": "1.0.5",
   "description": "Splide is a lightweight and powerful slider without any dependencies.",
   "author": "Naotoshi Fujita",
   "license": "MIT",

+ 8 - 1
src/js/components/layout/index.js

@@ -63,6 +63,13 @@ export default ( Splide, Components ) => {
 	 */
 	const isVertical = Splide.options.direction === 'ttb';
 
+	/**
+	 * Keep the Elements component.
+	 *
+	 * @type {string}
+	 */
+	const Elements = Components.Elements;
+
 	/**
 	 * Layout component object.
 	 *
@@ -73,7 +80,7 @@ export default ( Splide, Components ) => {
 		 * Called when the component is mounted.
 		 */
 		mount() {
-			list   = Components.Elements.list;
+			list   = Elements.list;
 			Slides = Components.Slides.getSlides( true, true );
 
 			bind();

+ 7 - 4
src/js/components/layout/resolvers/horizontal.js

@@ -69,14 +69,14 @@ export default ( Splide, Components, options ) => {
 		init() {
 			const { left = 0, right = 0 } = options.padding;
 
-			applyStyle( track, {
-				paddingLeft : unit( left ),
-				paddingRight: unit( right ),
-			} );
+			applyStyle( track, { paddingLeft : unit( left ), paddingRight: unit( right ) } );
 
 			const firstSlide = Elements.slides[ 0 ];
 			const width      = options.fixedWidth;
 			const height     = options.height || options.fixedHeight;
+			const position   = firstSlide.style.position;
+
+			applyStyle( firstSlide, { position: 'absolute' } );
 
 			if ( width ) {
 				applyStyle( firstSlide, { width: unit( width ) } );
@@ -87,6 +87,9 @@ export default ( Splide, Components, options ) => {
 				applyStyle( firstSlide, { height: unit( height ) } );
 				fixedHeight = parseFloat( getComputedStyle( firstSlide ).height );
 			}
+
+			// Restore the position.
+			applyStyle( firstSlide, { position } );
 		},
 
 		/**

+ 6 - 4
src/js/components/layout/resolvers/vertical.js

@@ -68,14 +68,14 @@ export default ( Splide, Components, options ) => {
 		init() {
 			const { top = 0, bottom = 0 } = options.padding;
 
-			applyStyle( track, {
-				paddingTop   : unit( top ),
-				paddingBottom: unit( bottom ),
-			} );
+			applyStyle( track, { paddingTop: unit( top ), paddingBottom: unit( bottom ) } );
 
 			const firstSlide = Elements.slides[ 0 ];
+			const position   = firstSlide.style.position;
 			const { fixedWidth: fixedW, fixedHeight: fixedH, height } = options;
 
+			applyStyle( firstSlide, { position: 'absolute' } );
+
 			if ( fixedW ) {
 				applyStyle( firstSlide, { width: unit( fixedW ) } );
 				fixedWidth = parseFloat( getComputedStyle( firstSlide ).width );
@@ -86,6 +86,8 @@ export default ( Splide, Components, options ) => {
 				fixedHeight = parseFloat( getComputedStyle( firstSlide ).height );
 			}
 
+			applyStyle( firstSlide, { position } );
+
 			if ( height ) {
 				const list = Elements.list;
 				applyStyle( list, { height: unit( height ) } );

+ 2 - 2
src/sass/core/object/main/_main.scss

@@ -5,8 +5,8 @@
   visibility: hidden;
 
   &__track {
-    position: relative;
-    z-index: 0;
+    //position: relative;
+    //z-index: 0;
     overflow: hidden;
   }
 

部分文件因文件數量過多而無法顯示