A golden ration layout using CSS Grids, variables, vw units, calc, flexbox, hyphenation and Sass.
A Pen by Dudley Storey on CodePen.
A golden ration layout using CSS Grids, variables, vw units, calc, flexbox, hyphenation and Sass.
A Pen by Dudley Storey on CodePen.
| <main> | |
| <div id="illustration"> | |
| </div> | |
| <div id="caption"> | |
| <p>While they may look like plants, sea anemones are sea-dwelling animals, named after the <em>anemone</em> flower. Sea anemones are related to corals, jellyfish and hydra.</p> | |
| <p>The rapidly expanding global trade in anemones as ornamentals for aquariums threatens native populations, as the animals grow and reproduce very slowly.</p> | |
| </div> | |
| <div id="copyright"> | |
| <p>Photograph by <a href="https://www.flickr.com/photos/shekgraham/241972255/">Shek Graham</a>, used under a Creative Commons Attribution-NonCommercial 2.0 Generic license.</p> | |
| </div> | |
| </main> |
| :root { | |
| --phi: 1.618; | |
| --width: 80vw; | |
| --height: calc(var(--width) / var(--phi)); | |
| --fontSize: 1.2vw; | |
| @media all and (max-width: 1300px) { | |
| --fontSize: 1.3vw; | |
| } | |
| @media all and (max-width: 1100px) { | |
| --width: 100vw; | |
| --fontSize: 1.1rem; | |
| } | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| margin: 0; | |
| min-height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| @media all and (max-width: 900px) { | |
| display: block; | |
| } | |
| } | |
| a { | |
| color: currentColor; | |
| text-decoration: none; | |
| border-bottom: 1px solid #aaa; | |
| } | |
| main { | |
| background: #000; | |
| font-family: Avenir, sans-serif; | |
| width: var(--width); | |
| height: var(--height); | |
| margin: 0 auto; | |
| display: grid; | |
| grid-template-rows: calc(var(--height) / var(--phi)); | |
| grid-template-columns: calc(var(--width) / var(--phi)); | |
| word-break: break-word; | |
| -ms-word-break: break-all; | |
| -ms-hyphens: auto; | |
| -moz-hyphens: auto; | |
| -webkit-hyphens: auto; | |
| hyphens: auto; | |
| @media all and (max-width: 900px) { | |
| display: block; | |
| } | |
| } | |
| #illustration { | |
| grid-row-start: 1; | |
| grid-row-end: 3; | |
| background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/sea-anemone-physobrachia.jpg); | |
| background-size: cover; | |
| @media all and (max-width: 900px) { | |
| height: calc(var(--width) / var(--phi)); | |
| } | |
| } | |
| #caption { | |
| grid-row-start: 1; | |
| grid-row-end: 2; | |
| background: #000; | |
| } | |
| #caption, #copyright { | |
| padding: 2rem; | |
| line-height: 1.6; | |
| color: #fff; | |
| font-size: var(--fontSize); | |
| p { | |
| margin-top: 0; | |
| } | |
| } | |
| #copyright { | |
| background: hsl(240,50%,30%); | |
| } |
.