flex basis is ruining your flexbox layouts
I've been stuck on this bug for an hour because I forgot that flex-basis defaults to auto and totally ignores my width settings when the content grows. It's such a headache trying to keep things centered when some random long string of text just pushes everything out of alignment. Just useflex: 1 1 0instead so you don't end up with broken layouts every time someone enters a huge title.
using grid-template-rows for sticky headers
stop trying to use position: sticky on every single child element. just set your header row to height: 0 or something and use grid-template-rows with a fixed pixel value for the top track. it keeps the scroll math from breaking when you have weird overflow settings on the parent.grid-template-rows: 60px 1fr;
using style() for logic flags
Finally getting to use actual keywords instead of just hacking everything with 0 and 1. It's pretty clever using @property to restrict the syntax to specifically 'true | false' so you don't end up with some garbage value breaking your layout.using :state() for component previews
finally seeing some actual use for :state(hover) instead of just manually toggling. is-hover classes everywhere. it's basically cloning the styles and rewriting the interactive bits so you can see all your button variants in storybook without actually clicking them. seems like a lot of heavy lifting with adoptedStyleSheets and elementInternals, but if it stops me from shipping duplicate global styles it might be worth the effort. does anyone actually use this for anything besides simple demos?making nth-child dynamic with style()
saw someone trying to rebuild nth-child using the new if() syntax and it's kind of wild. the whole idea is to use variables like -A and -B so you don't have to hardcode everything into your selectors..container { --A: 5; --B: 8;}css logic split between layers is getting messy
been thinking about this all morning because i just pushed some container queries to replace a resizeobserver setup and it felt so clean at first. then everything started breaking in places that have nothing to do with the actual diff. it's like we're trading away visibility for shorter files.subgrid for nested items is actually usable now
been messing with subgrid on some complex card layouts lately. honestly thought it was gonna be another one of those features that works in chrome but breaks everywhere else. turns out it actually holds up pretty well if you dont overthink the tracks. i was trying to align headers across different containers without using a bunch of hacky margins or fixed heights. it makes everything so much cleaner than the old way of nesting flexbox inside grid and praying for the best. just define the subgrid on the child and let it inherit the parent tracks. no more weird gaps or uneven alignment when content varies between cards. its kinda wild how much simpler my stylesheets look without all that extra padding math. definitely worth checking out if you are still stuck using manual offsets for everything. lmao i almost went back to my old way out of habit.stamping commits to stop ai agents
using a hook to block commands when things are uncommitted sounds like overkill but i get it after seeing that checkout wipe edits in groupliv.tailwind arbitrary values for ring width
been cleaning up some messy config files and realized i don't need to bloat my theme with custom spacing just for thin borders. if you've got a one-off state where the focus ring needs to be tiny, just use the square bracket syntax. it saves so much space in the tailwind.config.js when you're dealing with weird design specs.ring-[0.5px]ring-offset-[1px]
sass loop for generating grid classes
been messing around with a nested loop to spit out utility classes for a custom grid system. it works okay for simple stuff but i keep running into issues when i try to target specific column spans without creating a massive, bloated stylesheet. tried using an @each loop with a list of numbers, but the output is just way too much junk for the final build. i was thinking about using a map instead to limit the scope but now the syntax is getting super confusing.@for $i from 1 through 12 {.col-span-#{$i} {grid-column: span #{$i} / span #{$i};}}text-box trim is finally here but it's still so experimental
I was just looking at this tidy-typography thing and that text-box-trim stuff is actually insane for fixing vertical rhythm.:root { --step-0: clamp(1rem, 0.9rem + 1cqi, 1.125rem);}animating opacity on top of transform is such a waste
im tired of seeing people use opacity separately when they could just bake it into a single transform property if they really wanted to. its basically doubling the work for the compositor engine and making things jittery on low end mobiles.container queries for aspect ratio
been messing with container queries all morning and i'm still convinced most people are just using them as a crutch for bad media queries. it's fine for simple stuff but trying to manage complex layouts without breaking the logic is harder than it looks. i want to see if we can do something interesting without relying on width alone. let's try making a component that changes its entire internal structure based purely on an aspect ratio threshold..card-container {container-type: size;}@container (aspect-ratio < 1/1) {.card {display: block;}}grid auto-placement with dense packing
tried setting grid-auto-flow to dense but my smaller items are still leaving weird gaps in the rows above them. it's like the algorithm is just ignoring the empty tracks entirely. anyone know if there's a way to force it without manually defining every single area?sass mixin for grid-template-areas is driving me crazy
i'm trying to loop through a list of names to build out my grid areas but the interpolation isn't working with the quotes. i tried stripping them out but then thegrid-template-areas:"header header""sidebar main";
tailwind gap for vertical flex stacks
i'm tired of seeing people use margin-top on every single child element in a list. it's such a mess when you try to remove the last item or add an empty div. if you're using flex direction column, just set the gap property on the parent container instead..stack {display: flex;flex-direction: column;gap: 1rem;}scroll-state queries look pretty wild
Finally seeing some real use for scroll-state() without writing massive intersection observer messes in JS. Still not sure how much it'll actually help with sticky headers though.aspect ratio property on flex items is a nightmare
i've been trying to fix this header layout all morning and it's driving me insane. whenever you set an aspect ratio on a child inside a flex container, the browser just ignores it if there's any extra space..item {aspect-ratio: 1 / 1;flex: 0 1 auto;}tailwind arbitrary values for transition delay
tried using the square bracket syntax with a custom ms value but the animation just snaps instantly without any smoothness. it works fine on my local build but breaks when i push to production. does anyone know if tailwind strips out those specific arbitrary values during the purge process?mathml css support is finally catching up
finally seeing some actual progress on mathml properties across all three browsers. it's nice that font-family: math and math-shift are actually working now instead of just breaking things. i didn't realize they added 400 new subtests to the engine coverage, but that's a massive amount of work for igalia. still wondering if this means we can finally stop using those hacky workarounds for rtl mirroring in formulas.view-transition-api on scroll
tried using view transitions for some simple scroll animations today and it's such a mess to manage with complex layouts. everything just blurs into nothing when you hit certain overflow boundaries. anyone else struggling to keep the layers from breaking during heavy scrolling?grid template rows for uneven content height
stop trying to use percentages for every row. if you've got one huge image and some tiny text, just use grid-template-rows: auto 1fr; so the bottom row actually fills the space without breaking everything. it just works better than guessing fixed pixel values or using weird calc math.keyboardEvent. code is actually useful for once
finally found a way to handle azerty layouts without losing my mind. using e.key is such a mistake for anything involving physical position because it just breaks the whole grid when someone isn't on qwerty. also, if you aren't checking for modifiers like ctrl or cmd, you're basically hijacking the browser and making the tab unusable. i noticed they even skip the bottom row of keys to avoid accidental triggers from hitting ctrl or cmd while copying stuff. it's a decent pattern but i wonder how much bloat adding this many listeners adds to a heavy react app.const CODE_TO_SLOT = new Map ( SLOT_CODES.map ((code, i) => [code, i]));
math support getting fixed in chromium
finally seeing font-family math and math-shift actually working across all engines now. they even added like 400 new subtests to make sure everything stays aligned. im glad the css typed om stuff is shipping in firefox too because that was a mess. hope this means we stop seeing broken layouts for arabic math notation every time we update something.gap property in flexbox ruins my letter spacing
I was tweaking some tight typographic scales for a client today and realized how much I hate when gap messes with the visual rhythm of inline flex elements. It is fine for big blocks but once you start using it on small spans or tags, the math just breaks. Suddenly that kerning looks totally off because the space between items isnt actually part of the text flow. You end up having to manually override margins or use some hacky padding trick to get the optical balance back. It is such a headache when you are trying to maintain perfect tracking across a whole UI. I hate how much it forces me to second guess my font settings.css-tricks is going independent again
not sure how this works out for the site's content quality. seeing stuff about a new beginner course and less regular articles makes me nervous. definitely sounds like the era of deep dives into things like flexbox or grid might take a backseat to membership fees. hope they don't just pivot to basic tutorials. tbh feels like another way to monetize the same old info. if there are fewer updates it might not be worth the bookmark anymoregrid-lanes is actually happening
Finally done with that annoying grid hack where you have to manually set every item's row span. It was such a pain for anything dynamic since it basically required knowing the height of every single element before the page even rendered.subgrid alignment issues on nested grids
im trying to align some card headers with the parent grid but subgrid isnt behaving when there are weird margins on the child elements. it feels like once you add any extra padding or margin it just ignores the tracks entirely. does anyone actually have a reliable way to keep these aligned without reverting to hacky fixed heights?using margin auto for flex centering is lazy
i'm tired of seeing people skip align-items just because they can use margin auto on the child instead. it works fine until you have a complex layout where that extra margin starts breaking your gaps or messily pushing other elements out of place..item {margin: auto;}safari 27.2 finally fixes
it's about time we got some actual control over the select button text without needing to wrap everything in <selectedcontent>. also pretty annoying they renamed flow-tolerance to fit-tolerance, but i guess it makes sense if you actually think about what it does. anyone else planning on ditching custom dropdown components for this?tailwind transition-delay on hover is making my layouts jittery
i've been trying to add some subtle entrance animations using tailwind classes but the delay on the hover state is causing this weird jump in the layout. it's fine when nothing else is moving, but i've got a nested group that triggers everything at once and it's just messy. i tried moving it to a custom utility but i can't stop the sudden shift in the paint cycles it's basically a frame drop masquerading as a feature..card:hover .icon {transition-delay: 150ms;}browser mapping for logical properties is messy
browsers basically just swap everything to physical edges during style computation anyway so its kinda wild that margin-inline-start can just flip to margin-right whenever rtl kicks in.clamp vs calc for fluid typography
tried moving our main headings from clamp to just using calc with some viewport units because i couldn't get the min/max bounds to behave on mobile. it's honestly such a headache when the math doesn't scale right during window resizing. it's basically just guessing numbers until it looks okay. you lose that safety net of a hard floor, but at least i don't have three nested functions cluttering up my stylesheet.font-size: calc(1.5rem + 2vw);margin-bottom: calc(1rem + 1vh);
css functions are going to be a nightmare for debugging
If we actually get @function working, I'm already dreading the mess of trying to track down why a specific gradient is broken in some obscure layer. Imagine trying to debug this:@function --gradient-to-transparent(--color, --direction: bottom) { result: linear-gradient(to var(--direction), var(--color), transparent);}container queries for scrollport sizing
Been messing around with this trick to trigger styles based on how much of an element is actually visible in the viewport. It's way better than trying to use a bunch of messy intersection observers for simple things like hiding shadows or shrinking a header. I tried it on a sticky sidebar today and it worked like a charm without any heavy lifting. Just gotta make sure your container setup is right or it won't trigger properly.@container (scrollport(0% 100%)) {.card {opacity: 0;}}sass variable interpolation is breaking my build
been trying to loop through some keys for a grid layout and it's just not working like it used to. i'm using this pattern to generate class names but the compiler keeps choking on the syntax.@for $i from 1 through 3 {.col-#{$i} {grid-column: span #{$i};}}subgrid for nested card layouts
im tired of manually repeating grid templates in every single subcomponent. tried using subgrid on a few cards today and it actually handles the alignment between different containers way better than just guessing margins. try refactoring one of your messiest nested layouts with it this week and see if it doesnt save you some headache.vertical codebase idea is kinda wild
been thinking about this vertical codebase thing all morning. moving everything like hooks, types, and queries into one dashboard folder instead of spreading them out sounds nice until you see a massive project. co-locating html/css/js for components was already enough of a headache for some people. grouping by conceptual areas seems fine for small apps but it's going to get messy fast once the folder depth gets ridiculous. i don't see how this scales without making the file tree impossible to navigate. wouldn't that just make finding shared logic even harder?grid template rows for sticky header height
stop using fixed heights on headers when you can use auto rows with minmax. works great if your content is dynamic and you don't want to manually update a pixel value every time the copy changes.grid-template-rows: minmax(60px, auto) 1fr;
align-self for centering single items in flex rows
I hate when people try to use margins to fix alignment issues in a flex row. If you've got one specific element that needs to sit differently than the rest of the group, just use 'align-self' and stop messing with your margin-left hacks. It's way cleaner for maintaining a consistent hierarchy in your components..container {display: flex;align-items: flex-start;}.special-item {align-self: center;}tailwind arbitrary values for tracking font-size tweaks
Sometimes you're stuck with a specific design spec that doesn't play nice with standard rem scales. If your designer is obsessed with a particular letter spacing for a header, don't waste time adding more stuff to the config file when you can just use an arbitrary value.<h1 class="text-4xl tracking-[0.025em]">Tight typography looks better.</h1>
will-change for performance bottlenecks
i've been seeing way too many people slapping will-change on everything just because they think it's a magic fix. it actually eats up memory like crazy and can.heavy-element {will-change: transform;}native random() function is finally landing
finally seeing native random() roll out in safari and chrome 156. saw some demos with splayed cards and organic typography that looked alright but i can't see myself using it for anything besides a total mess.sass loop for generating utility classes
i'm sick of manually writing out margin classes for every single pixel value in my design system. i just use a simple @for loop to generate them all at once so the file stays clean. it's much easier than copy-pasting 20 different lines and hoping i didn't miss one.@for $i from 1 through 10 {.m-#{$i} { margin: #{$i}px; }}debugging viewtimeline is such a pain
Trying to track down why my sticky elements are jumping around is impossible without some visual aid. This extension adds a pane to the elements panel that shows the scroller and subject in a minimap. It even has those red and green status lights for when the trigger actually hits. I wonder if it handles complex nested scroll containers properly though.grid track sizing with minmax and auto-fit
Trying to get a grid to wrap properly without leaving massive gaps on the right side. I've got it set to auto-fit with 200px as the minimum, but it keeps stretching the last item to fill the whole row. It looksgrid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
flex basis auto on nested flex items
im trying to fix this one layout where the inner container keeps shrinking weirdly. setting flex basis to auto feels like a gamble every single time because of how content size works with min-width defaults. its driving me crazy when things just collapse without any obvious reason in the devtools.css scroll-target-group is actually wild
finally getting rid of intersectionobserver for toc stuff is huge. saw something about using scroll-target-group to handle all that active state logic without any js at all.tailwind gap utility on flex containers
it's driving me crazy how i can't use gap with flexbox in some of my legacy safari projects without adding margins to every single child. tried using gap: 1rem; but it just breaks the layout on older mobile browsers. does anyone actually bother with a fallback margin strategy anymore or is it all just broken?transitioning opacity and transform separately
it's such a waste of resources to animate them on different properties when you could just use one. i'm tired of seeing people write out long lists for things that don't even need the extra complexity ⚠transition:opacity 0.3s ease,transform 0.3s ease;
wired finally giving css some credit
saw wired talking up css today and it's honestly pretty wild.flex basis 0 for even width columns
was wrestling with some cards earlier that kept unevenly sizing because of content length. if you use flex-basis auto, it's a nightmare to get them perfectly uniform. i just switched everything to use this instead:.card {flex: 1 1 0;}finally a polyfill for typed om
Still hate parsing strings manually just to add 20px to an element width. This new polyfill looks decent since it covers things like CSS. px() and handles the unit conversion without all that regex mess.tailwind arbitrary values are just lazy
it's basically just writing inline styles but with more friction. if you're doing this for something that isn't a one-off hack, you're making the config unreadable.text-[#f0f0f0]mt-[13px]sass variable interpolation is such a headache
was trying to dynamically build a class name using a loop but forgot that you can't just drop the variable in there without the #{} syntax. it's so easy to mess up when you're rushing through a stylesheet. honestly just use css variables if you don't want to deal with this nonsense.theme-#{$color} {background: $color;}sass map-get is way too much typing for simple lookups
been messing with some nested color themes and realized i'm just wasting time manually digging through maps when i could use a simple loop to flatten them into utility classes instead of using 'map-get' every single time. it's way easier to just iterate once and generate the whole set at the start of my build.@each $name, $color in $theme {.text-#{$name} {color: $color;}}aspect-ratio on flex items is breaking my layout
tried to use aspect-ratio: 1/1 on some flex items today and it just nuked the height of everything in the container. works fine when they're in a grid but flexbox behaves like it's from 2010 whenever you try to be clever. honestly just use grid if you want things to actually behave.ai code review bots are just glorified linters if you do it wrong
>Developers had muted it.inset box shadows for depth
i've stopped using separate borders for that pressed look on buttons. it's way cleaner to just use an inset shadow with a tiny offset instead of messing with border-width or padding.box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
subgrid support in safari
I'm seeing some weirdness with nested grids on older iOS versions. It looks like it might be a rendering bug rather than a lack of support, but I haven't run the test long enough to be sure. Hard to tell if this is just a temporary glitch or something more.parent {display: grid;}.child {display: grid;grid-template-rows: subgrid;} tailwind arbitrary aspect ratio values
I'm tired of seeing people manually calculate height for every single card component. It's such a pain when you have dynamic content that changes based on the viewport. Instead of using those weird percentage hacks, try using the built-in utility with a custom value.aspect-[16/9]aspect-[4/3]
grid-template-rows with auto-fit is acting weird
i'm trying to get this card layout to behave using 'auto-fit' but the tracks aren't expanding like they should when the content gets long. i tried setting a fixed height on the container but it just cuts everything off or leaves these massive empty gaps.grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));grid-template-rows: auto;
tailwind scale-105 animation jitter
trying to animate a hover effect with scale-105 but it's twitching every single frame. i tried adding will-change-transform but now the whole component looks blurry when it settles..card:hover {transform: scale(1.05);}anchor positioning for focus tracking
no more js for focus indicators is wild. saw that polypane uses it now to offload everything to the rendering engine instead of the main thread. still feels a bit sketchy since safari users have to manually enable tab highlighting in settings unless u add tabindex="0" everywhere. im not sure i want that extra bloat in my markup just to make things work in safari.align-self on flex items with auto margins
im trying to push one item to the far end using margin-left: auto but it keeps behaving like it has zero width. its part of a flex-wrap container so maybe that is the issue..container {display: flex;flex-wrap: wrap;}making buttons look 3d with inset shadows
found this old thing about using two inset box-shadows to fake a bevel. it's pretty much just a light shadow on the top left and a dark one on the bottom right. works even if you have rounded corners, which isbutton:active { -moz-box-shadow: 2px 2px 10px rgba(0,0,0,.25) inset, -2px -2px 10px white inset;}documentfragment for batching updates
Saw some stuff about using documentfragment to avoid layout reflows when inserting lists. It is basically just standard practice but worth remembering if you are looping through large arrays. Also someone was pushing the idea of using classList. toggle instead of touching inline styles directly. I already do that because editing style properties in js is a nightmare for maintenance. Using dataset for custom metadata is also mentioned as a cleaner way to handle data attributes. It is mostly just basic DOM stuff. I dont see much here that isnt already second nature. Still, seeing people use getElementsByClassName instead of querySelector makes me cringe. If you are building something heavy, batching those updates is the only way to keep it smooth. Not sure if there is any real benefit for small components though.tan(atan2()) is such a cursed way to do math
im staring at this tan(atan2()) trick for progress() and its making my head hurt. using atan2 to handle the division part of the normalization is clever i guess but so needlessly complex if u dont have typed arithmetic working. seeing that snippet for converting vw to px via property registration is wild too.--vw { syntax: "<length>"; initial-value: 100vw; }detecting element overlap with css
finally figured out how to check if things are overlapping without writing a massive intersection observer mess.tailwind container padding issues
been wrestling with the default container behavior all morning. it's so annoying when you want that standard gutter but tailwind just leaves the edges raw on mobile. i tried using the padding utility on every single page but then i realized i'm basicallytheme: {container: {center: true,padding: '2rem',},}tailwind configuration for arbitrary values is a mess
i'm tired of seeing people treat tailwind like it's magic. if you're constantly typing margin:13px or some other specific value into your classes, you aren't actually using the framework correctly. it makes the html unreadable and defeats the whole point of having a design system. just add it to the theme config once.theme: {extend: {spacing: {'13': '13px',}}}grid track sizing with minmax
i'm tired of seeing everyone just use 1fr for everything like it's some magic fix. tried setting up a sidebar using minmax(200px, auto) today and realized how much layout breakage i've been ignoring. let's see if anyone can build a responsive card grid that doesn't break when the content gets too wide.whitespace collapse is finally coming
been thinking about that old hack where you set font-size to 0 just to kill the gaps between inline-blocks. it's so annoying to maintain. seeing white-space-collapse: discard mentioned as a future thing makes me wonder if we can actually stop messing with margin behavior and negative margins for every little layout tweak. i'm still struggling with finding the offset parent when things get nested too deep. honestly, the whole normal flow stuff is such a headache once you start adding absolute positioning into the mix. does anyone actually use the font-size: 0 trick anymore or is it just dead?codepen embeds are such a mess for focus states
finally found a way to stop those embedded pens from being invisible when tabbing through. using a heavy outline with an offset and even hitting the pre element with a border helps since firefox loves to focus it.outline: 5px solid #f23c50;
outline-offset: 2px;
transform: rotate(0);
finally some relief for flexbox gap detection
it's such a headache trying to figure out if properties actually work together since checking display flex and gap separately just tells you they're parseable without confirming the actual effect. i wonder if using named-feature will actually stop us from having to write those weird hacks for when implementations overlap.grid accessibility pitfalls
been thinking way too much about how easy it is to mess up semantics when using grid. i was just messing around with some new layouts and realized how quickly you can totally break the tab order if you start playing with visual placement. it's such a trap for accessibility, especially since we're so used to just letting the browser handle things. definitely makes me second-guess my more complex templates.prefix selectors might actually save us from attribute selector hell
finally someone's fixing those slow class=" btn-" hacks that absolutely tank performance. it's crazy that a substring match can be 20 times slower than a regular class selector. i'm hoping. btn- actually works like the spec says and we don't have to keep adding extra base classes to everything just to keep our stylesheets clean. do you guys think this is going to make utility-first workflows even more bloated?subgrid is making my font-size hierarchy look terrible
I've been trying to use subgrid for this complex card layout but it's completely breaking my vertical rhythm. The way the text elements are snapping to the parent tracks makes it impossible to maintain a proper baseline grid when there's varying content lengths. It's.card {display: grid;grid-template-rows: subgrid;}lauren basser's animations are actually pretty slick
Saw those 'code snacks' earlier and the shadow DOM one is actually great for visualizing the hierarchy. It's way better than trying to explain it with just text or a messy diagram. I'm still not 100% sold on how they handled the working directory animation though, looks a bitpersonal ide site is getting weird
the new v19 update is basically just an ide now with folders and file navigation. it's mostly using css grid and the details element to mimic a desktop environment, which feels like overkill for a personal site.css random function is wild
the bokeh and aurora demos look so cool but i am a bit worried about using it for anything besides small animations since the lack of fallbacks is a total pain. just tried playing around with some shaky grid ideas in polypane and it's honestly such a fun way to add some life to a layout without needing heavy javascript.ie8 gradients are actually easier than i thought
Found this talk from MediaCampAthens and realized i've been overcomplicating things. Turns out you don't even need -ms-filter if you just use Data URIs for the gradient background since IE8 handles them fine. I've been wasting time onchecking rgba support with js
really weird way to check for rgba support by just hijacking the first script tag's style property and seeing if it sticks. using arguments. callee to cache the result is a pretty clever little trick though. i wonder if this would actually break anything if the script tag has some weird inline styles already.border-radius clipping is still such a pain
the thing about overflow: hidden not actually working to clip the container contents is driving me crazy. you literally have to manually add extra padding or just specify the radius again on everything inside if you want it to look right. its so much extra work for something that should be automatic. im still trying to figure out why nobody bothered fixing this yet.tailwind arbitrary values are getting out of control
been looking at a client's codebase today and it's honestly exhausting. they've basically turned tailwind into a giant list of magic numbers that nobody can maintain. i found a component with text-13.5px leading-22.3px mt-7px all shoved into one class string. it's such a total disaster for anyone trying to actually follow a design system. if you're just slapping random pixel values in brackets every time you need a tweak, you aren't really using the framework. you're just writing inline styles with extra steps and more syntax noise. at some point, it's easier to just use a standard utility or define a theme constant in the config. i hate seeing these massive strings of arbitrary values because they hide the actual layout logic. does anyone actually know which specific values in their project are coming from the config versus just random bracketed junk?tailwind config vs arbitrary values for aspect ratio
i'm tired of hunting through the tailwind config every time a designer changes a hero image height. using aspect-4/3 is way faster when i'm just prototyping a quick layout. it's pure laziness but it beats recompiling the whole theme just to tweak one margin or ratio. anyone still bother with custom aspect values in their config?ios safari zoom annoyance
finally found the fix for that annoying double tap zoom on buttons. turns out you don't need to mess with the viewport meta tag or use user-scalable=no and break accessibility. just use.button { touch-action: manipulation;}to disable the extra gestures. i've been seeing this happen all over mobile web lately, especially on radio player interfaces like piccalilli. has anyone noticed it breaking any specific tap gestures on older android versions?flexbox gap for single row items
it's getting way too easy to ignore margins when you can just use gap on a flex container. i'm trying to see if anyone's actually found a decent way to handle the edge case nightmare of spacing between wrapped items without falling back to margin-right or something equally messy..container {display: flex;flex-wrap: wrap;gap: 1.5rem;}shadow-piercing component variables are annoying
the way :host overrides :root with those local variables is such a headache for design systems.polypane cheatsheets are actually decent
finally found some decent refs for anchor positioning and those new invoker commands. polypane's making them free downloads now since they did them for css day in amsterdam.checking property support with js
don't use document. body for this because it might not even be loaded yet. using 'head' or a script tag is much safer since they're always there. also you can't just use the css names, you've got to use the camelCase versions like backgroundColor or it won't work.function isPropertySupported(property) { return property in document.head.style;}anchor positioning for grid animations
using anchor names globally sounds like a nightmare for any real project. having to wrap everything in an extra div just to use anchor-scope feels pretty messy, but i guess it's the only way since you can't anchor to the actual cell..cell { anchor-scope: --a; anchor-name: --a;}.content { position-anchor: --a; inset: anchor(inside);}pointer-box-offset is actually kind of genius
Finally, something to stop me from having to mess with padding just to fix tiny hit targets on icons. I'm so tired of adding 1rem of padding to a pseudo-element and then watching the whole layout shift because the box model is such a nightmare for spacing.text-box properties for button padding
Finally getting rid of those magic numbers for vertical padding on buttons.more grid trivia for the pile
found some more random stuff about grid layout while scrolling. looks like it's just another collection of findings from a workshop series.container queries aren't being used right
I was just reading about how only 41.4% of us are actually using container queries despite the high awareness. People keep trying to treat them exactly like media queries instead of focusing on the component size itself.