代码之家  ›  专栏  ›  技术社区  ›  snazzybouche

如何在CSS/SVG中创建逼真的光泽效果?

  •  0
  • snazzybouche  · 技术社区  · 8 年前

    所以说我有 <div> 我希望它看起来像一个有光泽的哑光表面 this album cover

    我可以打一巴掌 linear-gradient 在那个沙发上,一点问题都没有。但它看起来像是一个梯度人工的。光线是弯曲的,不真实的,没有纹理,只是看起来很假。

    所以除了photoshop,我怎么能重新创建这个效果呢?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Anthony    8 年前

    我认为你可以使用CSS渐变和滤镜:模糊。下面是我的例子,虽然不完全正确,但可能是正确的方向:

    .matte{
      width: 150px;
      height: 150px;
      background-color: black;
    }
     .finish{
       background: -moz-linear-gradient(top, rgba(124,124,124,0.5) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(124,124,124,0.5) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(124,124,124,0.5) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
       width: 100%;
       height: 100%;
       opacity: 0.3;
       filter: blur(10px)
    }
    <div class="matte">
      <div class="finish">
      
      </div>
    </div>