TechQA.

mix-blend-mode: color; is not working for <video> on iOS and Mac devices

28 views Asked by Shashwat At 2024-02-18T19:20:26+00:00 18 February 2024 at 19:20 2025-12-04T16:22:48+00:00

Structure of hero banner:

<div className="hero-banner">
  <video autoPlay muted loop playsInline className="hero-banner__video">
    <source src="video.mp4" type="video/mp4" />
    <source src="video.webm" type="video/webm" />
    <source src="video.ogv" type="video/ogg" />
    Your browser does not support the video tag.
  </video>
  <div className="hero-banner__overlay"></div>
  <div className="hero-banner__content">
    <h1>Awesome Banner Content</h1>
    <p>This is some text content appearing on top of the video.</p>
  </div>
</div>

Style of hero banner:

Approach 1:

.hero-banner {
  position: relative;
  width: 100%;
  height: 100vh;

  &__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;

    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #01f150;
      mix-blend-mode: color;
    }
  }

  &__content {
    position: absolute;
    bottom: 50px;
    left: 50px;
    color: #fff;
    z-index: 1;
  }
}

Approach 2:

.hero-banner {
  position: relative;
  width: 100%;
  height: 100vh;

  &__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  &__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #01f150;
    mix-blend-mode: color;
    z-index: 1;
  }

  &__content {
    position: absolute;
    bottom: 50px;
    color: #fff;
    z-index: 2;
  }
}

I tried using mix-blend-mode: multiply; as well, which works on iPhones and iPads Safari with expected tint shade but on Chrome it's behaving differently.

Additionally, I have used the same property with banner images or overlay on hover effect for some components and it's working for every component except <video> component.

google-chrome safari cross-browser html5-video mix-blend-mode
Original Q&A
0

There are 0 answers

Related Questions in GOOGLE-CHROME

  • How to tweak the security policy of Chrome, in order to run "unsafe" snippets in the console?
  • Is it possible to manipuate 3rd party Chrome Extensions Network Reqeuests?
  • undetected_chromedriver urllib.error.URLError
  • Load testing k6 browser + docker
  • Editor texto estilo WYSIWYG
  • NodeJS crashing chrome browser
  • Difficulty Accessing HTTP URLs/IP Addresses Due to Browser Redirecting to HTTPS: Seeking Solutions
  • Chrome extension MV3: persistent service worker die after wake up from hibernation
  • Attempting to Bundle a Require Command For a Chrome Extension
  • Launch URL from C# and detect when browser is closed
  • Python selenium scrap data from dynamic website table
  • Google Chrome is consuming a lot of CPU on a video call?
  • Component drawing error React App on Android + Chrome
  • Chrome Selenium CDP Bidi API - Next Commands sended to Target Session have no effect while the initial one does work
  • Devtools not working when i try to inspect elements for selenium python it goes to previous page

Related Questions in SAFARI

  • my website crash on safari The site sometimes crashes and I can't recover the crash
  • Cant handle Session's cookie when Safari/iOS
  • Site loads on iPad/Chrome but not on iPad/Safari
  • ASP.NET MVC web app looping between fields only on some devices
  • Next.js carousel component loads instagram basic display api perfectly except in Safari browser
  • Safari extension service worker not sending cookie
  • Safari skipping 5 seconds into react-player video - anyone have experience with this?
  • Intune IpadOS disable Safari quick notes
  • Cant send cookie at res when user using Safari/iOS
  • Why is it impossible to definitively know if your website is running as a PWA or as a website?
  • Container with flex-direction: column doesn't grow horizontally when items are wrapped on Safari
  • I'm trying to make a responsive SVG, but it isn't showing on Safari
  • :after not positioning correctly in Safari
  • How to programmatically remove headers and footers in print pages on Safari with JavaScript?
  • Trigger open WhatsApp application on mobile browser without asking permission

Related Questions in CROSS-BROWSER

  • Trouble Receiving Data from Front-End to Back-End Across Different Browsers and Devices
  • cross- browser issues.how to handle in code level
  • File Format: WebM encoded with the VP8 codec is not previewing in Safari browser
  • How to align the last child of a table cell to the bottom of the cell?
  • Refresh loses scrolling position on XML page rendered with XSLT
  • Keep mobile browser top/bottom bars minimized unless user manually taps on them
  • Polyfill for ReadableStream.from in browser?
  • mix-blend-mode: color; is not working for <video> on iOS and Mac devices
  • Capture files pending loading via JavaScript
  • Polyfill for PerformanceObserver API to Implement Server Traffic Measurement
  • AfterViewChecked behaves differently in Chrome and Firefox
  • css grid with subgrid and overflow breaks on safari but works on all other browsers
  • Arrow Rotation and Scroll Reset Issue on Mobile Browsers
  • Iframe : Reload back and forward Navigation
  • What causes gradient banding and how do you fix it?

Related Questions in HTML5-VIDEO

  • <video> tag with downloaded path in ionic ios not loads the video
  • Google Ads does not show on website when video is full screen
  • sourceBuffer.appendBuffer successfully but the h5 video player stuck
  • video.audioTracks is not working as expected for large video
  • HTML5 and CSS - Responsive Video Pop Up Not working according to design
  • Video lazy load - background
  • Reimplement HTML Media Tag Fetching without a tag using Media Source API
  • Flask Streaming mp4 video works perfectly on windows but not mobile phone
  • Pause the animation of all html cards when the video popup is opened or when the play button on the video is clicked
  • HTML5 sourcebuffer stalls in firefox
  • Full screen in Electron js adds a blank space at the bottom
  • What is the largest size limit (in Mb) for html video tag on iOS mobile devices
  • Client side H.264 (MP4) video compression/encoding
  • video Enters Fullscreen "Live Broadcast" Mode on iOS Despite playsinline Attribute in Standalone PWA
  • How to process each frames exactly only once using MediaStreamTrackProcessor

Related Questions in MIX-BLEND-MODE

  • mix-blend-mode: color; is not working for <video> on iOS and Mac devices
  • Mix blend not working in Astro with TailwindCSS
  • Dynamically change text colour to a SPECIFIC colour depending on background
  • Blend single element within a fixed/sticky container with the body
  • How to set mix-blend-mode: linear burn from photoshop to css?
  • CSS mix-blend-mode breaks when translating parent element
  • Exclude logo from being affect by `mix-blend-mode: difference` in header
  • How could I blend two png images and mix the content outline of one of the png images?
  • How to use mix-blend-mode to change text color on an animated background
  • Make overlay text of a different color, or use background to make text partly other color
  • Can't export an svg image in the same form as in figma
  • mix-blend-mode difficulties (works on certain elements and not the other)
  • Adjusting the background color only changes the color of the hair, and leaving the white space transparent via background-blend-mode or mix-blend-mode
  • How to change the color of an image via CSS properties
  • transform3d destroys effect with mix-blend-mode

Popular Questions

  • How do I undo the most recent local commits in Git?
  • How can I remove a specific item from an array in JavaScript?
  • How do I delete a Git branch locally and remotely?
  • Find all files containing a specific text (string) on Linux?
  • How do I revert a Git repository to a previous commit?
  • How do I create an HTML button that acts like a link?
  • How do I check out a remote Git branch?
  • How do I force "git pull" to overwrite local files?
  • How do I list all files of a directory?
  • How to check whether a string contains a substring in JavaScript?
  • How do I redirect to another webpage?
  • How can I iterate over rows in a Pandas DataFrame?
  • How do I convert a String to an int in Java?
  • Does Python have a string 'contains' substring method?
  • How do I check if a string contains a specific word?

Popular Tags

javascript python java c# php android html jquery c++ css ios sql mysql r reactjs node.js arrays c asp.net json

Trending Questions

  • UIImageView Frame Doesn't Reflect Constraints
  • Is it possible to use adb commands to click on a view by finding its ID?
  • How to create a new web character symbol recognizable by html/javascript?
  • Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
  • Heap Gives Page Fault
  • Connect ffmpeg to Visual Studio 2008
  • Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
  • How to avoid default initialization of objects in std::vector?
  • second argument of the command line arguments in a format other than char** argv or char* argv[]
  • How to improve efficiency of algorithm which generates next lexicographic permutation?
  • Navigating to the another actvity app getting crash in android
  • How to read the particular message format in android and store in sqlite database?
  • Resetting inventory status after order is cancelled
  • Efficiently compute powers of X in SSE/AVX
  • Insert into an external database using ajax and php : POST 500 (Internal Server Error)
  • Privacy
  • Terms
  • Cookies
  • Homegardensmart
  • Math
  • Aftereffectstemplates