Because this @codepen demo just got hearted and I've never shared it here before https://codepen.io/thebabydino/pen/VwmQQwJ

The concept behind the XOR is something I explained in this
@csstricks article https://css-tricks.com/taming-blend-modes-difference-and-exclusion/

(should probably redo it with view transitions)

#CSS #blending #blendMode #coding #web #dev #webDev #webDevelopment #code #frontend

Close tiles

[Simpler version](https://codepen.io/thebabydino/pen/bGBLXEy) I recorded myself coding with no layout shift, just the close tile effect. For reference...

You can find a very detailed explanation about the how behind in my Taming Blend Modes: `difference` and `exclusion` article on @csstricks https://css-tricks.com/taming-blend-modes-difference-and-exclusion/

#CSS #blending #blendMode #cssGradient #code #web #webDev #webDevelopment #dev #coding #frontend

Taming Blend Modes: `difference` and `exclusion` | CSS-Tricks

Up until 2020, blend modes were a feature I hadn't used much because I rarely ever had any idea what result they could produce without giving them a try

CSS-Tricks

And here are cards with gradual left to right inversion: from no inversion at all on the left, to full inversion on the right. Again, minimal code, single div, no pseudos necessary, 2 #CSS declarations.

Live demos on @codepen

✳️ https://codepen.io/thebabydino/pen/mdOzLxE

✳️ https://codepen.io/thebabydino/pen/dyOVgeR

#blending #blendMode #cssGradient #code #web #webDev #webDevelopment #dev #coding #frontend

Gradual left to right invert vs. pseudo-invert

Created for my [Taming Blend Modes: `difference` and `exclusion`](https://css-tricks.com/taming-blend-modes-difference-and-exclusion/) article on CSS-T...

Here's another set of cards with varying patterns, all created with the exact same 4 blended CSS gradients, it's just the stops list `--c` that changes for each card.

So basically, it's again just one `background` + one `background-blend-mode` property.

Live demo on @codepen
https://codepen.io/thebabydino/pen/vYyNyER

#CSS #blending #blendMode #pattern #cssGradient #coding #frontend #code #web #dev #webDev #webDevelopment #cssPattern #cssPatterns #patterns

Simple 1 elem pure CSS card patterns

[See me code this](https://youtu.be/wPIQvB1nFv0) in under 9 minutes. --- If the work I've been putting out for almost 9 years (I started coming up wi...

And here's a cards demo with a cool, yet very simple trick: these left to right gradients are vibrant at the top, but then progressively get more and more desaturated going down, until fully grey.

Live on @codepen https://codepen.io/thebabydino/pen/xxzjJXL - only 2 CSS declarations necessary!

#CSS #tinyCSStip #blending #blendMode #cssGradient #code #coding #frontend #web #dev #webDev #webDevelopment

Pure CSS: vibrant to desaturated gradient backgrounds

A tiny little bit of blending magic. [The simplified base idea](https://codepen.io/thebabydino/pen/yLEjjWE). --- If the work I've been putting out s...

By the way, the code is heavily commented https://codepen.io/thebabydino/pen/MYWxeew

So you can see how it works without JS, without wrapping individual elements into spans, just letting it wrap naturally. And without covers that wouldn't allow for an image backdrop behind the text.

#CSS #SVG #filter #svgFilter #blendMode #blending #code #coding #frontend #web #dev #webDevelopment #webDev

No JS fully flexible image following text wrap shape

Because I saw [this article](https://leanrada.com/notes/css-only-lqip/) and the header caught my attention and I checked to see how it was done. Unfort...

If we have an inline `span` inside a `p` & we give it a semi-transparent `background` + a `padding`, we get an alpha increase where backgrounds of adjacent lines overlap.

How would you solve this problem without text duplication, without stacking 2 identical `p` elements, one for background (opaque background + transparent text + opacity) and one for text (transparent background)?

#CSS #SVG #filter #svgFilter #code #web #dev #webDev #webDevelopment #coding #frontend #blendMode #blending

Hi, mastodon 🦣 I have a new article out!

A Deep Dive into the Inline Background Overlap Problem: https://frontendmasters.com/blog/overlapping-inline-backgrounds/

How do you get the below result (semi-transparent background on inline span) with large padding & no overlap?

Answer in article, but think a bit about it first. 😼

#CSS #SVG #filter #svgFilter #code #web #dev #webDev #webDevelopment #coding #frontend #blendMode #blending

A Deep Dive into the Inline Background Overlap Problem – Frontend Masters Blog

`box-decoration-break: clone;` in CSS can help us make for interesting backgrounds across lines of text that break, but when opacity gets involved, things can get complicated.

1951653 - Broken nested span blending

NEW (nobody) in Firefox - Untriaged. Last updated 2025-03-04.

Pure #CSS 1 div halftone-masked background card https://codepen.io/thebabydino/pen/GRNKqRv on @codepen.

Made this 4 years ago - can you guess how before checking the code?

Doesn't work in Firefox due to an old bug 🪲 https://bugzilla.mozilla.org/show_bug.cgi?id=1481498 not even related to the halftone mask, but caused by the duo text on the right.

#filter #code #coding #frontend #cssfFilter #web #dev #webDev #webDevelopment #blendMode #blending

1 div halftone-masked background card (no Firefox)

[Inspiration](https://www.shutterstock.com/image-vector/landing-page-template-business-construction-modern-1833544363). ### Like this? If the work I'...

×

Hi, mastodon 🦣 I have a new article out!

A Deep Dive into the Inline Background Overlap Problem: https://frontendmasters.com/blog/overlapping-inline-backgrounds/

How do you get the below result (semi-transparent background on inline span) with large padding & no overlap?

Answer in article, but think a bit about it first. 😼

#CSS #SVG #filter #svgFilter #code #web #dev #webDev #webDevelopment #coding #frontend #blendMode #blending

If we have an inline `span` inside a `p` & we give it a semi-transparent `background` + a `padding`, we get an alpha increase where backgrounds of adjacent lines overlap.

How would you solve this problem without text duplication, without stacking 2 identical `p` elements, one for background (opaque background + transparent text + opacity) and one for text (transparent background)?

#CSS #SVG #filter #svgFilter #code #web #dev #webDev #webDevelopment #coding #frontend #blendMode #blending

@anatudor I’m a dumbass so I’d probably artificially inflate line-height
@mosen The overlap is desired, but not the increase in alpha.
@anatudor I’m happy to learn that’s why I follow you hehe

This is a doozy folks!

One of those little design touches that looks like it should be an easy fix, but the generalized solution — to get this working for any colour combination, and to be able to set those colours in CSS stylesheets — is an absolute brain twister. Ana's going to take you on a tour of the possibilities & limitations of CSS & SVG filters.

(And even the final fix, while supported cross-browser, can chew up your CPU doing graphical rendering.)

@anatudor

https://frontendmasters.com/blog/overlapping-inline-backgrounds/

A Deep Dive into the Inline Background Overlap Problem – Frontend Masters Blog

`box-decoration-break: clone;` in CSS can help us make for interesting backgrounds across lines of text that break, but when opacity gets involved, things can get complicated.

I'd love to see some discussion about how we could incorporate better backgrounds for inline elements directly in CSS.

Could we have `box-decoration: merge` that paints the backgrounds on a multi-line inline element as one operation, after merging together?

Or for the issue of the background of one inline overlapping the text of the previous line, a property like `paint-order` to send them to the back?

Or `background-clip: line-boxes` for when the full block should have highlight?

@anatudor

@AmeliaBR I absolutely love Ana's article since doing this type of accessible design (i.e. promoting good color contrast no matter what the background image) while not having unintended overlaps has been tricky in the past. Thanks @anatudor !

(And yes -- it would be great if there was a native CSS solution ... but this'll do for now ... 🙂 )

@AmeliaBR @anatudor as already mentioned in earlier chats...yes, have been pining for a general solution that doesn't require a PhD or a supercomputer ... https://codepen.io/patrickhlauke/pen/jOzJwvZ
Missing CSS feature - setting background to always be in the back

...

@patrick_h_lauke @AmeliaBR I would like to point out I don't have a PhD and my laptop is from 2006.