css - 使用CSS将图像不透明度从0变为1

标签 css image opacity

我希望我的图像如下所示:

图像的底部是透明的,顶部的不透明度为 1。 我可以用颜色和线性渐变来实现这种效果:

-webkit-linear-gradient(black, transparent);

但是图像也可以吗?

最佳答案

我所知道的最新、最酷的方法是使用 HTML 5 掩码。

事情是这样的:

CSS:

.masked
{
    mask: url(#m1); 
}

HTML 5:

<svg width="0" height="0">
  <defs>
    <linearGradient id="gradient" x1="0" y1="0" x2 ="0" y2="100%">
      <stop stop-color="white" offset="0"/>
      <stop stop-color="black" offset="1"/>
    </linearGradient>

    <mask id="masking" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox">
      <rect y="0.1" width="1" height="0.9" fill="url(#gradient)" />
    </mask>
  </defs>
</svg>

<svg xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink" width="500" height="350">
    <image xlink:href="http://upload.wikimedia.org/wikipedia/commons/4/4d/Iss007e10807_darker.jpg"
           width="500" height="350" class="masked"></image>
</svg>

jsFiddle Demo


进一步阅读:

关于css - 使用CSS将图像不透明度从0变为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475709/

相关文章:

html - Skrollr - 如何制作一个 div 显示 :none on scroll

下拉菜单中的 CSS3 过渡 - 在将鼠标悬停在第二级之前,不可见的第三级菜单项出现在悬停上

css - 将内联表单与输入控件顶部的标签相结合

html - Bootstrap Grid - 导航栏 - 边框问题

php - 如何使用 session 设置计数器 View ?

css - IE 中的 PNG : toggle opacity for partially transparent img?

css - 带有 rgba 的不透明白色背景在白色背景上显示灰色?

html - 链接不起作用(但显示为可关注) img 是选择器,显示在列表中,具有悬停效果

java - 提供保存图像的选项

java - 在 Java 中读取图像文件的方式有什么区别?