From 64dd0f406466420e26e8e360d84bf5c3c2f90e5c Mon Sep 17 00:00:00 2001 From: Henrik Ingo Date: Mon, 23 Mar 2020 14:25:15 +0200 Subject: [PATCH] Add documentation and examples for scaling to larger screens. Document all attributes to root element (#impress) in DOCUMENTATION.md. For the main demo (/index.html) add width, height, max-scale, min-scale attributes to the main demo. These just use the defaults, except data-max-scale="3" which allows to scale to larger screens (HD, 4K). For examples/classic-slides, add attributes to root element and set it to target Full HD 1920 x 1080 resolution. Adjust CSS to match. Add notification everywhere that defaults will change in 2021. --- DOCUMENTATION.md | 58 +++++++++- css/impress-demo.css | 6 + .../classic-slides/css/classic-slides.css | 109 ++++++++++-------- .../images/background-title.png | Bin 7884 -> 26610 bytes examples/classic-slides/images/background.png | Bin 3764 -> 12596 bytes examples/classic-slides/index.html | 45 +++++--- index.html | 31 +++-- 7 files changed, 173 insertions(+), 76 deletions(-) diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index d8e17e7..fabda86 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -6,10 +6,55 @@ impress.js requires a Root Element. All the content of the presentation will be created inside that element. It is not recommended to manipulate any of the styles, attributes or classes that are created by impress.js inside the Root Element after initialization. +To change the duration of the transition between slides use `data-transition-duration="2000"` giving it +a number of ms. It defaults to 1000 (1s). + +When authoring impress.js presentations, you should target some screen size, which you can define here. +The default is 1024 x 768. You should write your CSS as if this is the screen size used for the +presentation. When you present your presentation on a screen (or browser window) of different size, +impress.js will automatically scale the presentation to fit the screen. The minimum and maximum limits +to this scaling can also be defined here. + +All impress.js steps are wrapped inside a div element of 0 size! This means that in your CSS you +can't use relative values for width and height (example: `width: 100%`) to define the size of step elements. +You need to use pixel values. The pixel values used here correspond to the `data-width` and `data-height` +given to the `#impress` root element. When the presentation is viewed on a larger or smaller screen, impress.js +will automatically scale the steps to fit the screen. + +**NOTE:** I intend to change the defaults to target HD screens in 2021. So you may want to make a habit +of explicitly defining these attributes for now, to avoid any disruption when the defaults change. + +You can also control the perspective with `data-perspective="500"` giving it a number of pixels. +It defaults to 1000. You can set it to 0 if you don't want any 3D effects. +If you are willing to change this value make sure you understand how CSS perspective works: +https://developer.mozilla.org/en/CSS/perspective + +See also [the plugin README](src/plugins/README.md) for documentation on `data-autoplay`. + +**Attributes** + +Attribute | Default | Explanation +-------------------------|-----------|------------ +data-transition-duration | 1000 (ms) | Speed of transition between steps. +data-width | 1024 (px) | Width of target screen size. When presentation is viewed on a larger or smaller screen, impress.js will scale all content automatically. +data-height | 768 (px) | Height of target screen size. +data-max-scale | 1 | Maximum scale factor. (Note that the default 1 will not increase content size on larger screens!) +data-min-scale | 0 | Minimum scale factor. +data-perspective | 1000 | Perspective for 3D rendering. See https://developer.mozilla.org/en/CSS/perspective + **Example:** ```html -
+
``` ### Step Element @@ -31,6 +76,13 @@ In the Step Element, you can define a specific set of default attributes and pos Define the pixel based position in which the **center** of the [Step Element](#step-element) will be positioned inside the infinite canvas. +**Attributes** + +Attribute | Default | Explanation +-------------------------|-----------|------------ +data-x | 0 | X coordinate for step position +data-y | 0 | Y coordinate for step position + **Example:** ```html @@ -273,7 +325,7 @@ api.init(); api.next(); ``` -#### impress().prev() +#### .prev() Navigates to the previous step of the presentation using the [`goto()` function](#impressgotostepindexstepelementidstepelement-duration). @@ -285,7 +337,7 @@ api.init(); api.prev(); ``` -#### impress().goto( stepIndex | stepElementId | stepElement, [ duration ] ) +#### .goto( stepIndex | stepElementId | stepElement, [ duration ] ) Accepts a [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) that represents the step index. diff --git a/css/impress-demo.css b/css/impress-demo.css index b92c76c..ddc7f34 100644 --- a/css/impress-demo.css +++ b/css/impress-demo.css @@ -205,6 +205,12 @@ a:focus { ;) They cover everything what you see on first three steps of the demo. + + All impress.js steps are wrapped inside a div element of 0 size! This means that relative + values for width and height (example: `width: 100%`) will not work. You need to use pixel + values. The pixel values used here correspond to the data-width and data-height given to the + #impress root element. When the presentation is viewed on a larger or smaller screen, impress.js + will automatically scale the steps to fit the screen. */ .slide { display: block; diff --git a/examples/classic-slides/css/classic-slides.css b/examples/classic-slides/css/classic-slides.css index cbd821c..bbec845 100644 --- a/examples/classic-slides/css/classic-slides.css +++ b/examples/classic-slides/css/classic-slides.css @@ -7,7 +7,7 @@ http://www.webupd8.org/2011/01/automatically-install-all-google-web.html */ -/* @import url(http://fonts.googleapis.com/css?family=Open+Sans:regular,semibold,italic,italicsemibold|PT+Sans:400,700,400italic,700italic|PT+Serif:400,700,400italic,700italic|Cutive+Mono); */ +/* @import url(https://fonts.googleapis.com/css?family=Open+Sans:regular,semibold,italic,italicsemibold|PT+Sans:400,700,400italic,700italic|PT+Serif:400,700,400italic,700italic|Cutive+Mono); */ @import url(fonts.css); @@ -62,14 +62,14 @@ body { .step { position: relative; - width: 900px; - padding: 40px; - margin: 20px auto; + width: 1800px; + padding: 60px; + margin: 60px auto; box-sizing: border-box; font-family: 'PT Serif', georgia, serif; - font-size: 48px; + font-size: 60px; line-height: 1.5; } /* @@ -105,21 +105,21 @@ body { .slide { display: block; - width: 900px; - height: 700px; + width: 1850px; + height: 1000px; padding: 40px 60px; background-image: url(../images/background.png); background-color: white; - border: 1px solid rgba(0, 0, 0, .3); - border-radius: 10px; - box-shadow: 0 2px 6px rgba(0, 0, 0, .1); + border: 2px solid rgba(0, 0, 0, .3); + border-radius: 30px; + box-shadow: 0 4px 8px rgba(0, 0, 0, .1); - text-shadow: 0 2px 2px rgba(0, 0, 0, .1); + text-shadow: 0 3px 3px rgba(0, 0, 0, .2); font-family: 'Open Sans', Arial, sans-serif; - font-size: 30px; - letter-spacing: -1px; + font-size: 45px; + letter-spacing: -2px; } @@ -137,15 +137,22 @@ body { } .slide li { - margin: 0.2em; + margin-top: 0.2em; + margin-bottom: 0.2em; + margin-left: 3em; + margin-right: 3em; } /* Highlight.js used for coloring pre > code blocks. */ .slide pre > code { - font-size: 14px; + font-size: 30px; text-shadow: 0 0 0 rgba(0, 0, 0, 0); } +.slide input { + font-size: 1em; +} + /* Inline code, no Highlight.js */ code { font-family: "Cutive mono","Courier New", monospace; @@ -157,38 +164,38 @@ a { text-decoration: none; padding: 0 0.1em; background: rgba(200,200,200,0.2); - text-shadow: -1px 1px 2px rgba(100,100,100,0.9); + text-shadow: -2px 2px 4px rgba(100,100,100,0.9); border-radius: 0.2em; - border-bottom: 1px solid rgba(100,100,100,0.2); - border-left: 1px solid rgba(100,100,100,0.2); + border-bottom: 3px solid rgba(100,100,100,0.2); + border-left: 3px solid rgba(100,100,100,0.2); transition: 0.5s; } a:hover, a:focus { background: rgba(200,200,200,1); - text-shadow: -1px 1px 2px rgba(100,100,100,0.5); + text-shadow: -2px 2px 3px rgba(100,100,100,0.5); } blockquote { font-family: 'PT Serif'; font-style: italic; - font-weight: 400; + font-weight: 400; } em { - text-shadow: 0 2px 2px rgba(0, 0, 0, .3); + text-shadow: 0 6px 6px rgba(0, 0, 0, .3); } strong { - text-shadow: -1px 1px 2px rgba(100,100,100,0.5); + text-shadow: -3px 3px 6px rgba(100,100,100,0.5); } q { font-family: 'PT Serif'; font-style: italic; font-weight: 400; - text-shadow: 0 2px 2px rgba(0, 0, 0, .3); + text-shadow: 0 6px 6px rgba(0, 0, 0, .3); } strike { @@ -200,34 +207,38 @@ small { } img { - width: 300px + width: 600px +} + +td { + padding: 0.2em; } .slide .right { float: right; - margin-left: 40px; + margin-left: 60px; margin-right: 0px; - margin-top: 20px; - margin-bottom: 20px; + margin-top: 40px; + margin-bottom: 40px; } .slide .left { float: left; - margin-right: 40px; + margin-right: 60px; margin-left: 0px; - margin-top: 20px; - margin-bottom: 20px; + margin-top: 40px; + margin-bottom: 40px; } .slide .top { position: absolute; - top: 20px; - margin-bottom: 20px; + top: 40px; + margin-bottom: 40px; margin-top: 0px; } .slide .bottom { position: absolute; - bottom: 20px; + bottom: 40px; margin-bottom: 0px; - margin-top: 20px; + margin-top: 40px; } /* @@ -242,13 +253,13 @@ img { .title h2, .title h3 { position: absolute; - left: 45px; /* slide width is 900px, so this is like a 5% margin on both sides */ + left: 90px; /* slide width is 1800px, so this is like a 5% margin on both sides */ width: 90%; - text-align: center; + text-align: center; } .title h1 { top: 50px; } -.title h2 { top: 400px; } -.title h3 { top: 500px; } +.title h2 { top: 600px; } +.title h3 { top: 800px; } @@ -258,7 +269,7 @@ img { fly-in class starts from a position outside the slide, then flies into it's correct position. */ .future .fly-in { - transform: translateY(-700px); + transform: translateY(-2100px); opacity: 0.0; /* Make it invisible, just so it doesn't clutter some other slide that might be in the position where we moved it */ } .present .fly-in { @@ -267,7 +278,7 @@ img { transition: 2s; } .past .fly-out { - transform: translateY(700px); + transform: translateY(2100px); opacity: 0.0; transition: 2s; } @@ -400,10 +411,10 @@ body.impress-mouse-timeout { #acme-graph-bottom { position: absolute; bottom: 100px; - left: 440px; + right: 200px; background-color: black; - width: 410px; - height: 2px; + width: 900px; + height: 3px; } /* height: is set from javascript */ @@ -412,30 +423,30 @@ body.impress-mouse-timeout { #acme-graph-q3, #acme-graph-q4 { border: solid 1px black; - width: 70px; - margin-left: 10px; + width: 140px; + margin-left: 30px; position: absolute; bottom: 100px; } #acme-graph-q1 { background-color: red; - left: 450px; + right: 900px; } #acme-graph-q2 { background-color: blue; - left: 550px; + right: 700px; } #acme-graph-q3 { background-color: green; - left: 650px; + right: 500px; } #acme-graph-q4 { background-color: purple; - left: 750px; + right: 300px; } /* diff --git a/examples/classic-slides/images/background-title.png b/examples/classic-slides/images/background-title.png index 4a3ec21ffb4a8e2cc9043fa796389f492fd891ce..997dcf4796802564513c9eb55adb4246919522d1 100644 GIT binary patch literal 26610 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 m5TTm9`#id8 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 diff --git a/examples/classic-slides/images/background.png b/examples/classic-slides/images/background.png index d109c0c6f53531c07b08efb9ab313408e1b9c9fc..5ac0492af2f85a0f43a5701e0ad161f0cc99beae 100644 GIT binary patch literal 12596 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 delta 1414 zcmV;11$p|kVzeD0iBL{Q4GJ0x0000DNk~Le000Ao0008K2nGNE0JjivPmv)oX5R%D z5)LO0xeNCI01iP(L_t(|+U?!FZWCP^2k`%l?bt~OdHGtuA-fTxpy3*5=qYHaskjEN zgPY(Uf|LuO0U;`akbswDcM*^eFZRrAVUx`#6bTk$e?Q5EXC94?W~#r=InPP4fzb$m zU}_4l0001B`tIDhGh0>FOsmyudcEG@@#Du|1wsG-fZyM8Q53DFX~w~||efxH|D2hrT1ONc|ja5}O*#EzOD2gmDE{>)>4uKE=0N`w0NwWC8g27;LAP}}% zt#mq_!4IChnB;F~Inb7G1pokWW|oq4%d+e>P18!Udt6b!-!F#4;kl|BuMn;4y4l&; z`S_jZUM$P<{G{p3e3CB$Apiituj4|J*<{=`G|5boZj$Z8h1=WPRZ$cRbzK*KNz&loglX0WbXs^@g z{QUe$&1C-k7BcrMisHgqjN1$$006)#t*x!K>$*O7QtlcKhYLkf4C=bx3w|prEAyW| zeQG7iU@+KCvbTq@*Xy$PBNQ)`wRhp008(+T)up{b@S#;TlW9}0RA65c<`W=WUeTRE0-=^S}Du& z>PfXlQ7k1{?sPgAlFU4L^5mx;6)2ek008_Py(IH$+}#BpKpW0KKi>F6JSNiHO5O#i#2c1EMo(eTx3HBHlOW<1-M&CSholYrNq zlngRHXRyw=xy%9E+uPp)=R%V6_wV1|e){z3sSc+%LkIu>aC$$=R@Ln6>|c}6mn6A< z{rX<$yLj+y1B-*c~=)tD_A1pojz1J|xyt1>=LVmHaZl6*R;c6WETJsOP;>;bH*s&`U-(=`9g zxC7}{lFhRkvvUXm005@%e8x*m_nbR-Zfk36>)+EHgc(8r0DvjGapT6q;cHu4Tdk&P z+S43|KnMU-05E0i>+46ZEiNw3Ogp0qga7~lQ&v^gk?nh*KYuQYqWCHh0ssK~#_GC0 za=u{GG*drUu;o(#002zgm%DfG?sPhx!PTo*cW&Lf_36cn7oWWrk%34VfM3Xe0YnIL U8`h2P`v3p{07*qoM6N<$f}n)F*8l(j diff --git a/examples/classic-slides/index.html b/examples/classic-slides/index.html index f1c0c24..0200ce3 100644 --- a/examples/classic-slides/index.html +++ b/examples/classic-slides/index.html @@ -73,11 +73,24 @@ data-transition-duration sets the time in microseconds that is used for the animation when transtitioning between slides. + The width, height, scale and perspective options define a target screen size that you should + design your CSS against. impress.js will automatically scale all content to different screen + sizes. See DOCUMENTATION.md for details. Below, I have targeted full HD screen resolution. + data-autoplay can be used to set the time in seconds, after which presentation automatically moves to next slide. It can also be set individually for each slide, but here we just set a common duration for all slides. --> -
+
-
+

Example Presentation:
Classic Slides

Henrik Ingo

@@ -114,7 +127,7 @@
-
+

Table of Contents

  • A title slide
  • @@ -134,7 +147,7 @@

    Note that instead of absolute positioning we use relative positioning, with the data-rel-x and data-rel-y attributes. This means the step is positioned relative to the foregoing step. In other words, this is - equivalent to data-x="0" data-y="-1500".

    + equivalent to data-x="0" data-y="-3000".

@@ -174,7 +187,7 @@ Notation shouldn't be a surprise. We use `data-rotate="30"` attribute, meaning that this element should be rotated by 30 degrees clockwise. --> -
+

A blockquote & image

Mother Teresa holding a newborn baby
-
+

More text styles

As usual, use em to emphasize,
strong for strong, u for underline,
@@ -202,7 +215,7 @@

-
+

Motion effects 101

Items on the slide can

Fly in

@@ -232,7 +245,7 @@
-
+

Add-ons

This version of impress.js includes several add-ons, striving to make this a @@ -240,7 +253,7 @@

-
+

Impress.js plugins

-
+

Highlight.js


         // `init` API function that initializes (and runs) the presentation.
@@ -289,7 +302,7 @@
         
-
+

Mermaid.js

%% This is a comment in mermaid markup @@ -316,7 +329,7 @@
-
+
# Markdown.js * [Markdown.js](https://github.com/evilstreak/markdown-js) integration: for authors in a hurry! @@ -330,7 +343,7 @@ * [A more advanced Markdown presentation is here.](../markdown/)
-
+
  • Remember, in impress.js the full power of HTML5, CSS3 & JavaScript is always at your fingertips!
  • For example, you can use tables, forms, or dynamic charts as you would on any web page:
  • @@ -384,7 +397,7 @@ // Draw the bar graph for ( var q in profits ) { - var h = 200 * profits[q] / max; + var h = 300 * profits[q] / max; var div = document.getElementById('acme-graph-'+q); div.style = 'height: ' + h + 'px'; } @@ -398,7 +411,7 @@ in the root div#impress element, but it is also allowed to set it for each step. Since transitioning to this step will rotate twice around it's axis, we give the transition a bit more time here. --> -
    +

    More info

    • DOCUMENTATION.md is the API reference. @@ -428,7 +441,7 @@ It's a common way of zooming out at the end, to show the whole presentation. In CSS, we set pointer-events:none to make this slide non-clickable. It makes a difference at least for SVG content, such as the mermaid diagram. --> -
      +
      diff --git a/index.html b/index.html index 7fb5fad..6e5e446 100644 --- a/index.html +++ b/index.html @@ -130,25 +130,40 @@ That's the wrapper for your presentation steps. In this element all the impress.js magic happens. It doesn't have to be a `
      `. Only `id` is important here as that's how the script find it. - You probably won't need it now, but there are some configuration options that can be set on this element. - + Often you don't need to use any attributes here, but for educational purposes I have used all of them below. + To change the duration of the transition between slides use `data-transition-duration="2000"` giving it a number of ms. It defaults to 1000 (1s). + When authoring impress.js presentations, you should target some screen size, which you can define here. + The default is 1024 x 768. You should write your CSS as if this is the screen size used for the + presentation. When you present your presentation on a screen (or browser window) of different size, + impress.js will automatically scale the presentation to fit the screen. The minimum and maximum limits + to this scaling can also be defined here. + + NOTE: I intend to change the defaults to target HD screens in 2021. So you may want to make a habit + of explicitly defining these attributes for now, to avoid any disruption when the defaults change. + You can also control the perspective with `data-perspective="500"` giving it a number of pixels. It defaults to 1000. You can set it to 0 if you don't want any 3D effects. If you are willing to change this value make sure you understand how CSS perspective works: https://developer.mozilla.org/en/CSS/perspective - But as I said, you won't need it for now, so don't worry - there are some simple but interesting things - right around the corner of this tag ;) + Plugins: - ---------- - Plugins: We set the default time for autoplay plugin to 6 seconds. Autoplay will automatically advance + We set the default time for autoplay plugin to 7 seconds. Autoplay will automatically advance to next slide after a timeout expires. - --> -
      +