revert from flexbox for pdf centering, use js for PDF setup
							parent
							
								
									54ca9edeed
								
							
						
					
					
						commit
						646203f038
					
				|  | @ -17,8 +17,6 @@ | |||
| 
 | ||||
| body { | ||||
| 	font-size: 18pt; | ||||
| 	width: 297mm; | ||||
| 	height: 229mm; | ||||
| 	margin: 0 auto !important; | ||||
| 	border: 0; | ||||
| 	padding: 0; | ||||
|  | @ -105,8 +103,6 @@ ul, ol, div, p { | |||
| 	overflow: visible; | ||||
| 	display: block; | ||||
| 
 | ||||
| 	text-align: center; | ||||
| 
 | ||||
| 	-webkit-perspective: none; | ||||
| 	   -moz-perspective: none; | ||||
| 	    -ms-perspective: none; | ||||
|  | @ -118,21 +114,15 @@ ul, ol, div, p { | |||
| 	        perspective-origin: 50% 50%; | ||||
| } | ||||
| .reveal .slides section { | ||||
| 
 | ||||
| 	page-break-after: always !important; | ||||
| 
 | ||||
| 	visibility: visible !important; | ||||
| 	position: relative !important; | ||||
| 	width: 100% !important; | ||||
| 	height: 229mm !important; | ||||
| 	min-height: 229mm !important; | ||||
| 	display: block !important; | ||||
| 	overflow: hidden !important; | ||||
| 	position: relative !important; | ||||
| 
 | ||||
| 	left: 0 !important; | ||||
| 	top: 0 !important; | ||||
| 	margin: 0 !important; | ||||
| 	padding: 2cm 2cm 0 2cm !important; | ||||
| 	padding: 0 !important; | ||||
| 	box-sizing: border-box !important; | ||||
| 
 | ||||
| 	opacity: 1 !important; | ||||
|  | @ -154,30 +144,6 @@ ul, ol, div, p { | |||
| 	height: auto !important; | ||||
| 	min-height: auto !important; | ||||
| } | ||||
| .reveal .absolute-element { | ||||
| 	margin-left: 2.2cm; | ||||
| 	margin-top: 1.8cm; | ||||
| } | ||||
| .reveal section .fragment { | ||||
| 	opacity: 1 !important; | ||||
| 	visibility: visible !important; | ||||
| 
 | ||||
| 	-webkit-transform: none !important; | ||||
| 	   -moz-transform: none !important; | ||||
| 	    -ms-transform: none !important; | ||||
| 	        transform: none !important; | ||||
| } | ||||
| .reveal section .slide-background { | ||||
| 	position: absolute; | ||||
| 	top: 0; | ||||
| 	left: 0; | ||||
| 	width: 100%; | ||||
| 	z-index: 0; | ||||
| } | ||||
| .reveal section>* { | ||||
| 	position: relative; | ||||
| 	z-index: 1; | ||||
| } | ||||
| .reveal img { | ||||
| 	box-shadow: none; | ||||
| } | ||||
|  | @ -189,11 +155,17 @@ ul, ol, div, p { | |||
| 	font-size: 16pt !important; | ||||
| } | ||||
| 
 | ||||
| .reveal.center .slides section:not(.stack) { | ||||
| 	display: flex !important; | ||||
| 	flex-direction: column; | ||||
| 	align-items: center; | ||||
| 	justify-content: center; | ||||
| 	padding-top: 2em !important; | ||||
| 	padding-bottom: 2em !important; | ||||
| /* Slide backgrounds are placed inside of their slide when exporting to PDF */ | ||||
| .reveal section .slide-background { | ||||
| 	position: absolute; | ||||
| 	top: 0; | ||||
| 	left: 0; | ||||
| 	width: 100%; | ||||
| 	z-index: 0; | ||||
| } | ||||
| /* All elements should be above the slide-background */ | ||||
| .reveal section>* { | ||||
| 	position: relative; | ||||
| 	z-index: 1; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1328,6 +1328,8 @@ body { | |||
| 	position: absolute; | ||||
| 	width: 100%; | ||||
| 	height: 100%; | ||||
| 	top: 0; | ||||
| 	left: 0; | ||||
| 
 | ||||
| 	-webkit-perspective: 600px; | ||||
| 	   -moz-perspective: 600px; | ||||
|  |  | |||
							
								
								
									
										75
									
								
								js/reveal.js
								
								
								
								
							
							
						
						
									
										75
									
								
								js/reveal.js
								
								
								
								
							|  | @ -333,6 +333,11 @@ var Reveal = (function(){ | |||
| 		// Update all backgrounds
 | ||||
| 		updateBackground( true ); | ||||
| 
 | ||||
| 		// Special setup and config is required when printing to PDF
 | ||||
| 		if( isPrintingPDF() ) { | ||||
| 			setupPDF(); | ||||
| 		} | ||||
| 
 | ||||
| 		// Notify listeners that the presentation is ready but use a 1ms
 | ||||
| 		// timeout to ensure it's not fired synchronously after #initialize()
 | ||||
| 		setTimeout( function() { | ||||
|  | @ -401,6 +406,66 @@ var Reveal = (function(){ | |||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Configures the presentation for printing to a static | ||||
| 	 * PDF. | ||||
| 	 */ | ||||
| 	function setupPDF() { | ||||
| 
 | ||||
| 		// Dimensions of the content
 | ||||
| 		var pageWidth = 1122, | ||||
| 			pageHeight = 867; | ||||
| 
 | ||||
| 		var slideWidth = 960, | ||||
| 			slideHeight = 700; | ||||
| 
 | ||||
| 		document.body.classList.add( 'print-pdf' ); | ||||
| 		document.body.style.width = pageWidth + 'px'; | ||||
| 		document.body.style.height = pageHeight + 'px'; | ||||
| 
 | ||||
| 		// Slide and slide background layout
 | ||||
| 		toArray( document.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { | ||||
| 
 | ||||
| 			// Vertical stacks are not centred since their section
 | ||||
| 			// children will be
 | ||||
| 			if( slide.classList.contains( 'stack' ) ) { | ||||
| 				slide.style.top = 0; | ||||
| 			} | ||||
| 			else { | ||||
| 				var left = ( pageWidth - slideWidth ) / 2; | ||||
| 				var top = ( pageHeight - slideHeight ) / 2; | ||||
| 
 | ||||
| 				if( config.center || slide.classList.contains( 'center' ) ) { | ||||
| 					top = Math.max( ( pageHeight - getAbsoluteHeight( slide ) ) / 2, 0 ); | ||||
| 				} | ||||
| 
 | ||||
| 				slide.style.left = left + 'px'; | ||||
| 				slide.style.top = top + 'px'; | ||||
| 				slide.style.width = slideWidth + 'px'; | ||||
| 				slide.style.height = slideHeight + 'px'; | ||||
| 
 | ||||
| 				if( slide.scrollHeight > slideHeight ) { | ||||
| 					slide.style.overflow = 'hidden'; | ||||
| 				} | ||||
| 
 | ||||
| 				var background = slide.querySelector( '.slide-background' ); | ||||
| 				if( background ) { | ||||
| 					background.style.width = pageWidth + 'px'; | ||||
| 					background.style.height = pageHeight + 'px'; | ||||
| 					background.style.top = -top + 'px'; | ||||
| 					background.style.left = -left + 'px'; | ||||
| 				} | ||||
| 			} | ||||
| 
 | ||||
| 		} ); | ||||
| 
 | ||||
| 		// Show all fragments
 | ||||
| 		toArray( document.querySelectorAll( SLIDES_SELECTOR + ' .fragment' ) ).forEach( function( fragment ) { | ||||
| 			fragment.classList.add( 'visible' ); | ||||
| 		} ); | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Creates an HTML element and returns a reference to it. | ||||
| 	 * If the element already exists the existing instance will | ||||
|  | @ -428,9 +493,7 @@ var Reveal = (function(){ | |||
| 	 */ | ||||
| 	function createBackgrounds() { | ||||
| 
 | ||||
| 		if( isPrintingPDF() ) { | ||||
| 			document.body.classList.add( 'print-pdf' ); | ||||
| 		} | ||||
| 		var printMode = isPrintingPDF(); | ||||
| 
 | ||||
| 		// Clear prior backgrounds
 | ||||
| 		dom.background.innerHTML = ''; | ||||
|  | @ -441,7 +504,7 @@ var Reveal = (function(){ | |||
| 
 | ||||
| 			var backgroundStack; | ||||
| 
 | ||||
| 			if( isPrintingPDF() ) { | ||||
| 			if( printMode ) { | ||||
| 				backgroundStack = createBackground( slideh, slideh ); | ||||
| 			} | ||||
| 			else { | ||||
|  | @ -451,7 +514,7 @@ var Reveal = (function(){ | |||
| 			// Iterate over all vertical slides
 | ||||
| 			toArray( slideh.querySelectorAll( 'section' ) ).forEach( function( slidev ) { | ||||
| 
 | ||||
| 				if( isPrintingPDF() ) { | ||||
| 				if( printMode ) { | ||||
| 					createBackground( slidev, slidev ); | ||||
| 				} | ||||
| 				else { | ||||
|  | @ -887,7 +950,7 @@ var Reveal = (function(){ | |||
| 
 | ||||
| 				if( typeof child.offsetTop === 'number' && child.style ) { | ||||
| 					// Count # of abs children
 | ||||
| 					if( child.style.position === 'absolute' ) { | ||||
| 					if( window.getComputedStyle( child ).position === 'absolute' ) { | ||||
| 						absoluteChildren += 1; | ||||
| 					} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Hakim El Hattab
						Hakim El Hattab