Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML/CSS-在图像上创建alpha遮罩_Javascript_Html_Css_Fade_Masking - Fatal编程技术网

Javascript HTML/CSS-在图像上创建alpha遮罩

Javascript HTML/CSS-在图像上创建alpha遮罩,javascript,html,css,fade,masking,Javascript,Html,Css,Fade,Masking,我想在我正在构建的站点中创建一个效果,其中图像被覆盖层遮住。覆盖应该创建一个“淡出”效果-我实际上不想要任何动画,但覆盖应该使图像看起来好像它的边缘淡出背景色 大概是这样的: 我更喜欢使用CSS/HTML/JS,而不是图像。关于从哪里开始有什么想法吗?谢谢。开始吧。例如,请参见函数 对于图像上的静态alpha遮罩,请使用不透明度css属性: .myimage { filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); -m

我想在我正在构建的站点中创建一个效果,其中图像被覆盖层遮住。覆盖应该创建一个“淡出”效果-我实际上不想要任何动画,但覆盖应该使图像看起来好像它的边缘淡出背景色

大概是这样的:

我更喜欢使用CSS/HTML/JS,而不是图像。关于从哪里开始有什么想法吗?谢谢。

开始吧。例如,请参见函数

对于图像上的静态alpha遮罩,请使用不透明度css属性:

.myimage {
  filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); 
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  opacity: 0.5;
}

jQuery
animate
函数(具有不透明度)应该/可能能够处理这个问题,尽管如果你只是在覆盖层中淡入淡出,antyrat的答案也会起作用。

Ah-根据你对antyrat答案的评论,你最好的办法是创建一个包含效果的PNG图像(即半透明的白色形状),并使用CSS将其放置在实际图像的顶部(
position:absolute
z-index


您目前无法单独使用HTML和CSS创建非方形形状。

我知道您特别要求CSS/JavaScript解决方案,我相信您有自己的理由


尽管如此,我还是想扔掉一个简单的褪色图像文件的解决方案,就像你在问题中已经发布的那样,没有任何奇特的编程效果。

你可以这样做,例如:

html

<div class="photo_container">
        <div class="photo">
<img src="/lakenwoods/images/mockup-photo.png" width="540" height="463" /></div>
        <div class="overlay">
            <div class="content">
                <h1>Welcome to Lake-N-Woods Realty</h1>
                <p>
                We are a Diverse and Highly Effective Real Estate Company, Dedicated to Satisfying all of our Clients Needs. We Specialize in Recreational, Rural and Investment Property throughout Bemidji and North Central Minnesota.
                </p>
                </div>
        </div>
        <div class="clear">
       </div>
   </div>

对不起,我要的是静态淡入效果,不是过渡效果。请参阅我的示例(注意图像如何淡入背景)。谢谢这将提供简单的不透明度,而不是在整个图像中改变不透明度的alpha遮罩。如果淡入淡出的图像在子
DIV
中,您真的需要使用
z-index
?是的,我想我必须使用半透明图像,但希望有人有更干净的解决方案:)谢谢@antyrat:您可以使用不透明度创建半透明的白色区域,但该区域将是方形的,具有锐利的边缘:边缘不会褪色。包括径向渐变(以及rgba颜色),因此根据您想要的效果,您可以在WebKit中使用纯CSS来实现。但是目前没有其他浏览器支持它。@JohnB:如果您有一个包含图片图像和淡入淡出图像的
div
(带有
position:relative
),则可能不支持。
@charset "utf-8";
/* CSS Document */

.clear {
    clear:both;     
}

.photo_container {
    position: relative;
    width: 540px;
    height: 463px;
    overflow:hidden;
    margin: 0; padding:0;
}

.photo_container .photo {
    z-index:1;

}


.photo_container .overlay {
    width: 540px;
    height: 463px;
    background: url(/lakenwoods/images/mockup-overlay.png) no-repeat top center;
    position:absolute;
    bottom: 0;
    left: 0;
    z-index:10;

}

.photo_container .overlay .content h1 {

    position:absolute;
    top: 310px;
    left: 34px;
    font-family: Helvetica, Helvetica Neue, Arial, sans-serif;
    font-size:18px;
    color: #fff;
    font-weight: 700;
    width: 315px;

}


.photo_container .overlay .content p {


    position:absolute;
    top: 335px;
    left: 34px;
    font-family: Helvetica, Helvetica Neue, Arial, sans-serif;
    font-size:12px;
    color: #fff;
    width: 315px;
    line-height: 1.4em; 

}