React maskImage 内联不起作用 - 相同的图像与背景图像一起工作

use*_*307 7 css mask reactjs

我正在 React 中将内联样式应用于 div

如果我做

<div style={{ backgroundImage: `url(${process.env.IMAGES}/${ID}.png)` }}>{children}</div>
Run Code Online (Sandbox Code Playgroud)

它工作正常,但改变为

<div style={{ maskImage: `url(${process.env.IMAGES}/${ID}.png)` }}>{children}</div>
Run Code Online (Sandbox Code Playgroud)

该样式甚至不会显示在代码检查器中。

可能出什么问题了?谢谢

Ori*_*ori 9

由于掩码需要供应商前缀才能工作,因此您需要手动添加它们:

const Mask = ({ mask, children }) => (
  <div style={{
    WebkitMaskImage: mask,
    maskImage: mask
  }}>
    {children}
  </div>
)

ReactDOM.render(
  <Mask mask="linear-gradient(black, transparent)">The big bad fox</Mask>,
  root
)
Run Code Online (Sandbox Code Playgroud)
div {
  font-size: 2em;
}
Run Code Online (Sandbox Code Playgroud)
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>

<div id="root"></div>
Run Code Online (Sandbox Code Playgroud)