Journal
Breaking Out With CSS Grid Layout (on cloudfour.com)
While bookmarking the mastery.games article yesterday, I started getting the feeling that something was awfully familiar. It was! I’ve seen this layout before – from Tyler Sticka back in 2017 to be precise – but failed to bookmark it at the time.
Here, then, is the original and still the best CSS Grid “article with breakout images” layout!
I particularly love the way that, by naming the lines and appending -start
and -end
as appropriate you can then target the area between those lines using its short name.
.Prose {
display: grid;
grid-template-columns:
[full-start] minmax(1em, 1fr)
[main-start] minmax(0, 40em) [main-end]
minmax(1em, 1fr) [full-end];
}
.Prose > * {
grid-column: main;
}
.Prose-splash {
grid-column: full;
}
Satoshi & Makoto – CZ-5000 Sounds & Sequences Vol. II
Beautiful ambient textures and downtempo electronics with that typically quirky Japanese flavour. if you like Ryuichi Sakamoto or Apogee & Perigee, you’ll love this. Favourite track: Correndor. https://bit.ly/2Hpu8ol
Article Layout with CSS Grid (on mastery.games)
Very clever responsive <article>
layout (with gutters and breakout images) achieved using CSS Grid, minmax()
, the ch
unit and a minimum of fuss. It scales automatically from narrow to wide viewports with no auto
margins, max-width
or media query manual overrides in sight.
For the blog post page (the page you're looking at right now) I wanted a mobile-friendly layout where the text was centered and readable, where the images/code examples are wide.
The gist of it is this:
.post {
display: grid;
grid-template-columns:
minmax(1.2rem, 1fr)
minmax(auto, 57ch)
minmax(1.2rem, 1fr);
}
Simple and deadly.
I can potentially see this as a pattern, or layout primitive, rather than just as something you might use at the top-level of the page for overall layout. I’m looking forward to trying it out!
(via Ahmad Shadeed)
Larry’s Garage
I just watched “Larry’s Garage” – a film by Corrada Rizza about the visionary New York DJ, Larry Levan and the legendary nightclub he called home.
Unfortunately there’s generally precious little footage of the infamous New York club and what they included I’d seen before, but there was some nice previously unseen interview footage with Larry Levan and overall, although I wasn’t blown away, I enjoyed it.
Lothian No Borders – Ep 2 – Being & Firecracker Recordings
Lovely radio show including an interview with @firecracker_rec and mix from @WeeDjs.
Bookshop: “This is revolutionary” (on The Guardian)
Bookshop was dreamed up by the writer and co-founder of Literary Hub, Andy Hunter. It allows independent bookshops to create their own virtual shopfront on the site, with the stores receiving the full profit margin – 30% of the cover price – from each sale. All customer service and shipping are handled by Bookshop and its distributor partners, with titles offered at a small discount and delivered within two to three days.
(via @RyanSoulbhoy)
Hijack 003: Jamie Thomson
Lovely house mix from my friend Jamie.
Lots of good stuff in here, with plenty I don’t know plus a few classics from Crustation (Mood 11 Swing’s mix of Flame) and Chez ’n’ Trent.
Sean Bean as baked beans can’t be unseen
Genius!
This AI style transfer of sean bean and beans in tomato sauce killed me
— Age of Calamityville 🐱ri-Warui (@oleivarrudi) October 24, 2020
(Source: https://t.co/dYufbtL2w1) pic.twitter.com/WBfOzuzP0L
Just finished my 6K run for FreeAgent’s “Big Strides for Tiny Changes” charity campaign.

Minimalist Container Queries
Scott Jehl’s experimental take on a container/element query aimed at letting us set responsive styles for our elements based on their immediate context rather than that of the viewport.
I made a quick and minimal take on approximating Container/Element Queries using a web component and basic CSS selectors.
The idea is that for any given instance of the <c-q>
custom element / web component you would define a scoped custom property which sets the pixel min-widths you’re interested in, like so:
c-q {
--breakpoints: "400 600 800";
background: black;
}
Zero to many of those numeric min-width
values will appear in the element’s data-min-width
HTML attribute based on which (if any) of them the element’s width is equal to or greater than.
You can style the element based on their presence using the ~=
attribute selector, like this:
c-q[data-min-width~="400"] {
background: green;
}
c-q[data-min-width~="600"] {
background: blue;
}
See also Scott’s tweet announcing this which contains some interesting contributions including Heydon’s watched-box.
All of the various JavaScript approaches/experiments are summarised in CSS-Tricks’s article Minimal Takes on Faking Container Queries.
(via @scottjehl)