In case anyone comes back to this thread, I thought I’d go ahead and provide a bit more context here regarding how mix-blend-mode
works, as I uncovered some things while working on another reported issue from a user, that simply turned out to be a nuance of how CSS works. With regards to the --c-global-preview-receiving
and --b-stripes
changes mentioned above, this will still be the implemented fix for the issues brought up in this thread. Although my findings below show that we could use mix-blend-mode
to create some more dynamic color contrasts for empty Columns, Cells, and Divs, upon further testing the method used above is simply more clear and concise with less outliers, and solves 99.9% of the situations as discussed. That being said, in case you desire to know more about how mix-blend-mode
works and how you can get a deeply nested Element to blend with styling up the document tree, the following is a response I gave to another support staff member on our internal issue tracker. I’m simply pasting it here to provide a little insight on this matter.
Spent a while looking into this, because I was always under the assumption that mix-blend-mode
only worked with its immediate parent. Upon further investigation, it seems that is not true, but there are some caveats. mix-blend-mode
can work on a deeply nested Element all the way up the tree as long as a stacking context is not created. This can happen in a couple different ways:
- Setting a
z-index
other than auto
anywhere in the middle of the tree.
- Setting a
transform
anywhere in the middle of the tree.
- Setting a
filter
anywhere in the middle of the tree.
- Setting a
backdrop-filter
anywhere in the middle of the tree.
- Setting an
opacity
value of less than 1
anywhere in the middle of the tree.
As long as none of this is happening throughout the tree on the way to the nested Element, it appears that mix-blend-mode
should work in a situation like the one described above. The main issue I found with that scenario was that the Row’s z-index
was set to 1
by default, which was a holdover from how we used to do things when the builder was first put together, but we’ve been slowly trying to remove unnecessary z-index
declarations as they create tons of issues like this unless managed carefully.
To address this specific thread, I have made sure that the Row’s default z-index
is set to auto
moving forward, so as long as nothing in the list above is implemented, this should work for users moving forward.