/** * CSS I've found useful for more than one CSSS presentations * and thought it might be useful for others too * @author Lea Verou */ /* Mark slides as incomplete to spot them easier */ .incomplete.slide::after { content: 'INCOMPLETE'; font-weight: bold; position: absolute; top: 40%; left: 30%; padding: .1em .4em 0; border: .1em solid; color: rgba(255, 0, 0, .8); font-size: 140%; border-radius: .2em; transform: rotate(30deg); } /* Ribbon */ [data-type].slide:not(.hide-ribbon):after { content: attr(data-type); position: fixed; top: 0; right: 0; color: white; font-size: 50%; text-align: center; text-transform: uppercase; font-weight: bold; background: hsl(40,100%,50%); background-image: linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0)); line-height: 1.6; min-width: 20em; box-shadow: 0 10px 5px -5px rgba(0,0,0,.3); transform: rotate(45deg) translate(6em, -2em); } /* Full image slides */ @keyframes scroll { from, to { background-position: 0 0; } 80%, 95% { background-position: 0 100%; } } .image.slide { padding: 0; background-size: cover; background-position: center; background-repeat: no-repeat; background-color: black; } /* When you don't want to clip the image at all */ .partial.image.slide { background-size: contain; } /* An image that scrolls indefinitely */ .scrolling.image.slide:target { background-position: 0 0; background-repeat: repeat-y; animation: scroll 10s 1s infinite linear forwards; } .bottom-heavy.image.slide { background-position: center bottom; } .top-heavy.image.slide { background-position: center top; } .image.slide > .caption, .image.slide > h1:only-child { position: absolute; top: 50%; right: 0; left: 0; margin-top: -.6em; padding: .2em 0; text-align: center; font-size: 200%; font-family: inherit; font-weight: inherit; line-height: 1.2; color: white; background: rgba(0,0,0,.4); text-shadow: .03em .03em .05em black; white-space: nowrap; } .top-heavy.image.slide > .caption, .top-heavy.image.slide > h1:only-child { top: auto; bottom: .5in; } .bottom-heavy.image.slide > .caption, .bottom-heavy.image.slide > h1:only-child { position: static; margin: .5in 0 0; } .image.slide > .caption h1 { font: inherit; margin-bottom: 0; } .image.slide > .caption h1 + a { font-size: 30%; display: block; text-shadow: inherit; } /* END Full image slides */