Auto-contrast Font Color to Background

前端 未结 1 1855
我寻月下人不归
我寻月下人不归 2021-02-18 13:53

I have a background of a field. The bottom is green, the top is gray. There is text on top of the background. Is there a way for the text to \"sense\" what color the background

1条回答
  •  北海茫月
    2021-02-18 14:32

    More as an experiment than otherwise:

    Set the text with a background inherit, to get the background of the base; then clip it to the text, and then apply some filters to it:

    .test {
        width: 800x;
        height:220px;
        font-size: 200px;
        background-image: url(bosque.jpg); 
        color: white;
        position: relative;
    }
    
    .inner {
        position: relative;
        background-image: inherit;
        -webkit-background-clip: text;
        color: transparent;
        -webkit-filter: invert() sepia();
    }
    

    fiddle

    (Only working in webkit)

    Check also this ones:

    animated madness

    contrast animation

    UPDATE: We have new ways to handle this. See a demo using mix-blend-mode: difference

    div {
      font-size: 300px;
      color: gray;
      mix-blend-mode: difference;
    }
    body {
      background-image: url(http://placekitten.com/900/600);
    }
    TEST

    0 讨论(0)
提交回复
热议问题