Problems with z-index on mobile


I’m having an unusual problem with the z-index for sections of my page, but ONLY when I’m testing it out on mobile. (testing it on my ancient iPhone 11 Pro)

The white background for some of the sections doesn’t load right away, and so the background of an earlier section (The fourth SECTION>ABOUT section) briefly shows up behind it. This occurs at the beginning of SECTION > WORK SAMPLES and SECTION > CAPABILITIES.

I’ve set all the backgrounds to have a white fill, and set a z-index higher than all the other page elements except the top nav, so it should easily cover everything else including this section.

I’m not sure what’s causing this problem, especially since it’s only showing up in mobile. Any ideas? Thanks!!!

Here is my site Read-Only:

Here’s a quick, human-style fix list for that mobile “white background flashes/bleed-through” issue on iOS:

  1. Set the page fallback to white
    Add a site-wide embed (Before ):
html, body { background:#fff; }

Prevents any momentary transparent paint.

  1. Remove heavy “layer-makers” on mobile
    Things like background-attachment: fixed, backdrop-filter, big box-shadow, or mix-blend-mode can cause iOS repaint glitches. On mobile breakpoint, turn them off:
@media (max-width: 767px){
  .bg-fixed{ background-attachment: scroll; }
  .frosted{ -webkit-backdrop-filter:none; backdrop-filter:none; }
  .blend{ mix-blend-mode:normal; }
}

  1. Don’t rely on z-index for sections
    z-index only works on positioned elements. Make sections simple:
.section { position: relative; z-index:auto; background:#fff; }

Remove unnecessary z-index battles.

  1. Stop opacity “from 0” reveals
    If your IX2 animation fades sections in (opacity 0 → 1), you’ll see the previous section underneath. Set initial styles to opacity: 1, and animate inner content instead (or use a white ::before overlay that hides until loaded).

  2. Create clean stacking contexts
    If a previous section has blends/transforms, add to each section:

.section { isolation:isolate; } /* or */ .section { transform: translateZ(0); }

This prevents bleed-through while scrolling.

  1. Only when images are involved
    Ensure any large bg images are cover + no lazy bg (Webflow images can lazy-load <img>, but CSS backgrounds don’t). Consider using an <img> tag with object-fit:cover and a white placeholder color until it loads.

Try #2 and #4 first—on iPhone 11 Pro those are the usual culprits. If you share which section has backdrop-filter/parallax or an opacity interaction, I can point to the exact element to tweak.

Seen this on iOS before,usually not z-index but iPhone repaint lag. Try html, body { background:#fff; } as a fallback, and switch off background-attachment: fixed or opacity-0 section reveals on the mobile breakpoint. Adding isolation:isolate; to each section often stops the bleed-through.