diff options
| -rw-r--r-- | public/css/base/typography.css | 1 | ||||
| -rw-r--r-- | public/css/layout/grid.css | 54 | ||||
| -rw-r--r-- | public/css/layout/grid.xs.css | 55 | ||||
| -rw-r--r-- | public/css/layout/index.css | 1 | ||||
| -rw-r--r-- | public/css/modules/index.css | 2 | ||||
| -rw-r--r-- | public/css/modules/link-gallery.css | 15 | ||||
| -rw-r--r-- | public/css/modules/link-gallery.xs.css | 21 | ||||
| -rw-r--r-- | public/css/modules/nav.css | 20 | ||||
| -rw-r--r-- | public/css/modules/nav.xs.css | 19 | ||||
| -rw-r--r-- | public/css/variables/index.css | 1 | ||||
| -rw-r--r-- | public/css/variables/spacing.css | 23 | ||||
| -rw-r--r-- | public/css/variables/spacing.xs.css | 6 | ||||
| -rw-r--r-- | public/css/variables/typography.css | 14 | ||||
| -rw-r--r-- | public/css/variables/typography.xs.css | 9 |
14 files changed, 143 insertions, 98 deletions
diff --git a/public/css/base/typography.css b/public/css/base/typography.css index 6cd6422..fb2ac17 100644 --- a/public/css/base/typography.css +++ b/public/css/base/typography.css @@ -4,6 +4,7 @@ body { font-weight: 400; letter-spacing: 0.03rem; line-height: 1.5; + word-wrap: break-word; } h1 { diff --git a/public/css/layout/grid.css b/public/css/layout/grid.css index a4fb251..25cdd95 100644 --- a/public/css/layout/grid.css +++ b/public/css/layout/grid.css @@ -11,12 +11,14 @@ width: var(--grid-column-width); } +/* On screens narrower than 16rem, there is only one column. */ + .grid-span-2 { - width: calc(var(--grid-column-width) * 2 + var(--grid-gutter-width)); + width: var(--grid-column-width); } .grid-span-3 { - width: calc(var(--grid-column-width) * 3 + var(--grid-gutter-width) * 2); + width: var(--grid-column-width); } .width-prose { @@ -26,51 +28,3 @@ .grid-span-full { width: var(--grid-total-width); } - -.grid-span-1.grid-end { - margin-inline-start: calc( - var(--grid-column-width) * (var(--grid-column-count) - 1) + - var(--grid-gutter-width) * (var(--grid-column-count) - 1) - ); - margin-inline-end: 0; -} - -.grid-span-2.grid-end { - margin-inline-start: calc( - var(--grid-column-width) * (var(--grid-column-count) - 2) + - var(--grid-gutter-width) * (var(--grid-column-count) - 2) - ); - margin-inline-end: 0; -} - -.grid-span-3.grid-end { - margin-inline-start: calc( - var(--grid-column-width) * (var(--grid-column-count) - 3) + - var(--grid-gutter-width) * (var(--grid-column-count) - 3) - ); - margin-inline-end: 0; -} - -.grid-span-1.grid-prose-end { - margin-inline-start: calc( - var(--grid-column-width) * (var(--grid-prose-column-count) - 1) + - var(--grid-gutter-width) * (var(--grid-prose-column-count) - 1) - ); - margin-inline-end: 0; -} - -.grid-span-2.grid-prose-end { - margin-inline-start: calc( - var(--grid-column-width) * (var(--grid-prose-column-count) - 2) + - var(--grid-gutter-width) * (var(--grid-prose-column-count) - 2) - ); - margin-inline-end: 0; -} - -.grid-span-3.grid-prose-end { - margin-inline-start: calc( - var(--grid-column-width) * (var(--grid-prose-column-count) - 3) + - var(--grid-gutter-width) * (var(--grid-prose-column-count) - 3) - ); - margin-inline-end: 0; -}
\ No newline at end of file diff --git a/public/css/layout/grid.xs.css b/public/css/layout/grid.xs.css new file mode 100644 index 0000000..e7c6d1a --- /dev/null +++ b/public/css/layout/grid.xs.css @@ -0,0 +1,55 @@ +.grid-span-2 { + width: calc(var(--grid-column-width) * 2 + var(--grid-gutter-width)); +} + +.grid-span-3 { + width: calc(var(--grid-column-width) * 3 + var(--grid-gutter-width) * 2); +} + +.grid-span-1.grid-end { + margin-inline-start: calc( + var(--grid-column-width) * (var(--grid-column-count) - 1) + + var(--grid-gutter-width) * (var(--grid-column-count) - 1) + ); + margin-inline-end: 0; +} + +.grid-span-2.grid-end { + margin-inline-start: calc( + var(--grid-column-width) * (var(--grid-column-count) - 2) + + var(--grid-gutter-width) * (var(--grid-column-count) - 2) + ); + margin-inline-end: 0; +} + +.grid-span-3.grid-end { + margin-inline-start: calc( + var(--grid-column-width) * (var(--grid-column-count) - 3) + + var(--grid-gutter-width) * (var(--grid-column-count) - 3) + ); + margin-inline-end: 0; +} + +.grid-span-1.grid-prose-end { + margin-inline-start: calc( + var(--grid-column-width) * (var(--grid-prose-column-count) - 1) + + var(--grid-gutter-width) * (var(--grid-prose-column-count) - 1) + ); + margin-inline-end: 0; +} + +.grid-span-2.grid-prose-end { + margin-inline-start: calc( + var(--grid-column-width) * (var(--grid-prose-column-count) - 2) + + var(--grid-gutter-width) * (var(--grid-prose-column-count) - 2) + ); + margin-inline-end: 0; +} + +.grid-span-3.grid-prose-end { + margin-inline-start: calc( + var(--grid-column-width) * (var(--grid-prose-column-count) - 3) + + var(--grid-gutter-width) * (var(--grid-prose-column-count) - 3) + ); + margin-inline-end: 0; +}
\ No newline at end of file diff --git a/public/css/layout/index.css b/public/css/layout/index.css index 0d378e0..0bede83 100644 --- a/public/css/layout/index.css +++ b/public/css/layout/index.css @@ -1,3 +1,4 @@ @import './grid.css'; +@import './grid.xs.css' (min-width: 16rem); @import './grid.md.css' (min-width: 48rem); @import './section-margins.css';
\ No newline at end of file diff --git a/public/css/modules/index.css b/public/css/modules/index.css index 800a920..56ba45e 100644 --- a/public/css/modules/index.css +++ b/public/css/modules/index.css @@ -6,7 +6,9 @@ @import './schedule.css'; @import './schedule.md.css' (min-width: 48rem); @import './link-gallery.css'; +@import './link-gallery.xs.css' (min-width: 16rem); @import './nav.css'; +@import './nav.xs.css' (min-width: 16rem); @import './nav.md.css' (min-width: 48rem); @import './nav.lg.css' (min-width: 64rem); @import './skip-to-content.css'; diff --git a/public/css/modules/link-gallery.css b/public/css/modules/link-gallery.css index acb77e2..12ba16f 100644 --- a/public/css/modules/link-gallery.css +++ b/public/css/modules/link-gallery.css @@ -1,16 +1,11 @@ .link-gallery { display: grid; grid-template-columns: repeat(var(--grid-column-count), var(--grid-column-width)); - grid-auto-rows: calc( - var(--gallery-row-image-height) + - var(--margin-block-sm) + - var(--gallery-row-title-height) - ); gap: var(--grid-gutter-width); padding-block: var(--margin-block-md); - --gallery-item-column-span: 2; + --gallery-item-column-span: 1; --gallery-row-image-height: 12rem; - --gallery-row-title-height: 11ex; + --gallery-row-title-height: fit-content; text-align: center; } @@ -38,12 +33,6 @@ .link-gallery__title { width: 100%; height: min-content; - max-height: 100%; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; - overflow: hidden; text-align: center; margin-inline: var(--spacing-inline-xs); } diff --git a/public/css/modules/link-gallery.xs.css b/public/css/modules/link-gallery.xs.css new file mode 100644 index 0000000..729ff01 --- /dev/null +++ b/public/css/modules/link-gallery.xs.css @@ -0,0 +1,21 @@ +.link-gallery { + grid-auto-rows: calc( + var(--gallery-row-image-height) + + var(--margin-block-sm) + + var(--gallery-row-title-height) + ); + --gallery-item-column-span: 2; + --gallery-row-title-height: 11ex; + text-align: center; +} + +.link-gallery__title { + width: 100%; + height: min-content; + max-height: 100%; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; +} diff --git a/public/css/modules/nav.css b/public/css/modules/nav.css index 6af1c77..bd41dbc 100644 --- a/public/css/modules/nav.css +++ b/public/css/modules/nav.css @@ -17,26 +17,6 @@ margin: 0; } -.nav__nav-links li:nth-child(1) { - grid-column: 1 / 3; -} - -.nav__nav-links li:nth-child(2) { - grid-column: 3 / 5; -} - -.nav__nav-links li:nth-child(3) { - grid-column: 1 / 4; -} - -.nav__nav-links li:nth-child(4) { - grid-column: 1 / 3; -} - -.nav__nav-links li:nth-child(5) { - grid-column: 3 / 5; -} - .nav__logo { font-family: var(--font-serif); font-size: var(--font-size-5); diff --git a/public/css/modules/nav.xs.css b/public/css/modules/nav.xs.css new file mode 100644 index 0000000..708652c --- /dev/null +++ b/public/css/modules/nav.xs.css @@ -0,0 +1,19 @@ +.nav__nav-links li:nth-child(1) { + grid-column: 1 / 3; +} + +.nav__nav-links li:nth-child(2) { + grid-column: 3 / 5; +} + +.nav__nav-links li:nth-child(3) { + grid-column: 1 / 4; +} + +.nav__nav-links li:nth-child(4) { + grid-column: 1 / 3; +} + +.nav__nav-links li:nth-child(5) { + grid-column: 3 / 5; +} diff --git a/public/css/variables/index.css b/public/css/variables/index.css index db7d45f..20b9126 100644 --- a/public/css/variables/index.css +++ b/public/css/variables/index.css @@ -1,5 +1,6 @@ @import 'colours.css'; @import 'spacing.css'; +@import 'spacing.xs.css' (min-width: 16rem); @import 'spacing.sm.css' (min-width: 30rem); @import 'spacing.md.css' (min-width: 48rem); @import 'spacing.lg.css' (min-width: 64rem); diff --git a/public/css/variables/spacing.css b/public/css/variables/spacing.css index c384783..a4d1d91 100644 --- a/public/css/variables/spacing.css +++ b/public/css/variables/spacing.css @@ -1,12 +1,12 @@ :root { - --margin-inline-md: calc(8 * var(--relative-eighth-rem)); + --margin-inline-md: calc(2 * var(--relative-eighth-rem)); --margin-block-lg: calc(16 * var(--relative-eighth-rem)); --margin-block-md: calc(10 * var(--relative-eighth-rem)); --margin-block-sm: calc(5 * var(--relative-eighth-rem)); - --padding-inline-lg: calc(22 * var(--relative-eighth-rem)); - --padding-inline-md: calc(12 * var(--relative-eighth-rem)); - --padding-inline-sm: calc(3 * var(--relative-eighth-rem)); + --padding-inline-lg: calc(4 * var(--relative-eighth-rem)); + --padding-inline-md: calc(2 * var(--relative-eighth-rem)); + --padding-inline-sm: calc(1 * var(--relative-eighth-rem)); --padding-block-lg: calc(12 * var(--relative-eighth-rem)); --padding-block-md: calc(8 * var(--relative-eighth-rem)); --padding-block-sm: calc(5 * var(--relative-eighth-rem)); @@ -31,10 +31,17 @@ --grid-column-width-relative-eighth-rem: 32; --grid-gutter-width-relative-eighth-rem: 4; - /* small screens */ + /*********************************************************** + * Generally, we will use columns to keep things laid out * + * nicely. However, on screens narrower than xs, this gets * + * pretty much impossible. So for those screens, we use a * + * single-column layout taking up 100vw. In effect, this * + * is just default CSS layout plus a wee bit padding. From * + * xs widewards, we use multiple columns on a fixed width. * + ***********************************************************/ - --grid-total-width: 15rem; + --grid-total-width: 100vw; --grid-padding-relative-eighth-rem: 8; - --grid-column-count: 4; - --grid-prose-column-count: 4; + --grid-column-count: 1; + --grid-prose-column-count: 1; } diff --git a/public/css/variables/spacing.xs.css b/public/css/variables/spacing.xs.css new file mode 100644 index 0000000..fb7c01a --- /dev/null +++ b/public/css/variables/spacing.xs.css @@ -0,0 +1,6 @@ +:root { + --grid-total-width: 15rem; + --grid-padding-relative-eighth-rem: 8; + --grid-column-count: 4; + --grid-prose-column-count: 4; +} diff --git a/public/css/variables/typography.css b/public/css/variables/typography.css index e0b0a18..e59703a 100644 --- a/public/css/variables/typography.css +++ b/public/css/variables/typography.css @@ -1,11 +1,11 @@ :root { - --font-size-0: calc(7 * var(--relative-eighth-rem)); - --font-size-1: calc(9 * var(--relative-eighth-rem)); - --font-size-2: calc(12 * var(--relative-eighth-rem)); - --font-size-3: calc(16 * var(--relative-eighth-rem)); - --font-size-4: calc(20 * var(--relative-eighth-rem)); - --font-size-5: calc(26 * var(--relative-eighth-rem)); - --font-size-6: calc(32 * var(--relative-eighth-rem)); + --font-size-0: calc(8 * var(--relative-eighth-rem)); + --font-size-1: calc(8 * var(--relative-eighth-rem)); + --font-size-2: calc(8 * var(--relative-eighth-rem)); + --font-size-3: calc(8 * var(--relative-eighth-rem)); + --font-size-4: calc(8 * var(--relative-eighth-rem)); + --font-size-5: calc(8 * var(--relative-eighth-rem)); + --font-size-6: calc(8 * var(--relative-eighth-rem)); --font-serif: Alegreya, -apple-system-ui-serif, 'Goudy Old Style', Garamond, serif; --font-sans-serif: 'Alegreya Sans', -apple-system-ui-sans, Lato, Calibri, 'sans-serif'; diff --git a/public/css/variables/typography.xs.css b/public/css/variables/typography.xs.css new file mode 100644 index 0000000..2c36d1d --- /dev/null +++ b/public/css/variables/typography.xs.css @@ -0,0 +1,9 @@ +:root { + --font-size-0: calc(7 * var(--relative-eighth-rem)); + --font-size-1: calc(9 * var(--relative-eighth-rem)); + --font-size-2: calc(12 * var(--relative-eighth-rem)); + --font-size-3: calc(16 * var(--relative-eighth-rem)); + --font-size-4: calc(20 * var(--relative-eighth-rem)); + --font-size-5: calc(26 * var(--relative-eighth-rem)); + --font-size-6: calc(32 * var(--relative-eighth-rem)); +}
\ No newline at end of file |
