improve controls on touch devices
This commit is contained in:
		@@ -376,6 +376,16 @@ body {
 | 
			
		||||
.reveal.has-light-background .controls {
 | 
			
		||||
  color: #000; }
 | 
			
		||||
 | 
			
		||||
.reveal.no-hover .controls .controls-arrow:hover:before,
 | 
			
		||||
.reveal.no-hover .controls .controls-arrow:active:before {
 | 
			
		||||
  -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(45deg);
 | 
			
		||||
          transform: translateX(0.5em) translateY(1.55em) rotate(45deg); }
 | 
			
		||||
 | 
			
		||||
.reveal.no-hover .controls .controls-arrow:hover:after,
 | 
			
		||||
.reveal.no-hover .controls .controls-arrow:active:after {
 | 
			
		||||
  -webkit-transform: translateX(0.5em) translateY(1.55em) rotate(-45deg);
 | 
			
		||||
          transform: translateX(0.5em) translateY(1.55em) rotate(-45deg); }
 | 
			
		||||
 | 
			
		||||
@media screen and (min-width: 500px) {
 | 
			
		||||
  .reveal .controls[data-controls-layout="edges"] {
 | 
			
		||||
    top: 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -251,23 +251,23 @@ $controlArrowSize: 3.6em;
 | 
			
		||||
$controlArrowSpacing: 1.4em;
 | 
			
		||||
$controlArrowLength: 2.6em;
 | 
			
		||||
$controlArrowThickness: 0.5em;
 | 
			
		||||
$controlsArrowAngle: 45deg;
 | 
			
		||||
$controlsArrowAngleHover: 40deg;
 | 
			
		||||
$controlsArrowAngleActive: 36deg;
 | 
			
		||||
 | 
			
		||||
@mixin controlsArrowTransform( $angle ) {
 | 
			
		||||
	&:before {
 | 
			
		||||
		transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle );
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	&:after {
 | 
			
		||||
		transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle );
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.reveal .controls {
 | 
			
		||||
	$angle: 45deg;
 | 
			
		||||
	$angleHover: 40deg;
 | 
			
		||||
	$angleActive: 36deg;
 | 
			
		||||
	$spacing: 12px;
 | 
			
		||||
 | 
			
		||||
	@mixin arrowTransform( $angle ) {
 | 
			
		||||
		&:before {
 | 
			
		||||
			transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( $angle );
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		&:after {
 | 
			
		||||
			transform: translateX(($controlArrowSize - $controlArrowLength)/2) translateY(($controlArrowSize - $controlArrowThickness)/2) rotate( -$angle );
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	display: none;
 | 
			
		||||
	position: absolute;
 | 
			
		||||
	top: auto;
 | 
			
		||||
@@ -323,14 +323,14 @@ $controlArrowThickness: 0.5em;
 | 
			
		||||
		width: $controlArrowSize;
 | 
			
		||||
		height: $controlArrowSize;
 | 
			
		||||
 | 
			
		||||
		@include arrowTransform( $angle );
 | 
			
		||||
		@include controlsArrowTransform( $controlsArrowAngle );
 | 
			
		||||
 | 
			
		||||
		&:hover {
 | 
			
		||||
			@include arrowTransform( $angleHover );
 | 
			
		||||
			@include controlsArrowTransform( $controlsArrowAngleHover );
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		&:active {
 | 
			
		||||
			@include arrowTransform( $angleActive );
 | 
			
		||||
			@include controlsArrowTransform( $controlsArrowAngleActive );
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -438,14 +438,20 @@ $controlArrowThickness: 0.5em;
 | 
			
		||||
	bottom: $controlArrowSpacing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Invert arrows based on background color
 | 
			
		||||
.reveal.has-dark-background .controls {
 | 
			
		||||
	color: #fff;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.reveal.has-light-background .controls {
 | 
			
		||||
	color: #000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Disable active states on touch devices
 | 
			
		||||
.reveal.no-hover .controls .controls-arrow:hover,
 | 
			
		||||
.reveal.no-hover .controls .controls-arrow:active {
 | 
			
		||||
	@include controlsArrowTransform( $controlsArrowAngle );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Edge aligned controls layout
 | 
			
		||||
@media screen and (min-width: 500px) {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -523,6 +523,13 @@
 | 
			
		||||
		// Prevent transitions while we're loading
 | 
			
		||||
		dom.slides.classList.add( 'no-transition' );
 | 
			
		||||
 | 
			
		||||
		if( isMobileDevice ) {
 | 
			
		||||
			dom.wrapper.classList.add( 'no-hover' );
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			dom.wrapper.classList.remove( 'no-hover' );
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Background element
 | 
			
		||||
		dom.background = createSingletonNode( dom.wrapper, 'div', 'backgrounds', null );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user