Using CSS, can you apply a gradient mask to fade to the background over text?

后端 未结 4 1495
攒了一身酷
攒了一身酷 2020-11-30 01:55

I have a full screen fixed background image. I would like the text in my scrolling div to fade out at the top, presumably by applying a gradient mask to the background at on

4条回答
  •  既然无缘
    2020-11-30 02:22

    Here's how you can do it using modern mask-image and linear-gradient properties. Sadly, in 2018, they are not completely supported in all browsers. (See caniuse.com for mask-image and linear-gradient.)

    In this code snippet, I've given the html element an orange and yellow gradient background, to prove that this method is using real transparency and uses the element underneath it as background.

    html {
      background: linear-gradient(to right, orange, yellow, orange);
      height: 100%;
    }
    div {
      -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
      mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
    }
    One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten One two three four five six seven eight nine ten

提交回复
热议问题