遮罩层和被遮罩层的关系(简述遮罩层与被遮罩层的区别)?如果你对这个不了解,来看看!
HTML+CSS实现加载页面的遮罩效果,下面一起来看看本站小编谨珩工作室给大家精心整理的答案,希望对您有帮助
遮罩层和被遮罩层的关系(简述遮罩层与被遮罩层的区别)1
在项目中遇到要用html+css写一个加载页面,加载页面分为三层:底层是上一步的用户输入界面,然后覆盖上一个阴影遮罩层,最上层是一个加载提示层位于中间。要求是遮罩层必须要覆盖底层界面的所有控件和文字,但同时又不能覆盖上层的加载提示层的控件和文字。效果如下图
这个要求困扰了我好几天。在网上搜索类似问题,发现大家遇到的问题基本都是“为父p添加遮罩层如何不遮罩子p?”或者是“添加遮罩层如何不影响文字?” 不过从中我获取到的信息是实现遮罩层的两种方法:
使用opacity ,会影响子p和文字的透明度。
另外根据网上大佬的解析,以上方法在不同的浏览器中似乎存在兼容性问题,还有待日后深究。
我最开始的方法是把遮罩层p放在背景p下,做为子p。遮罩层p下再包含底层控件,以实现对它们的覆盖。然后在css进行设置。以下是简要代码:
效果实在是不可描述,底层控件的颜色全部发生了变异……
如上图,背后的输入框就像染上了周边的颜色似的……
但是如果不包含底层的控件和文字,就无法对其进行遮罩了。然后我尝试用z-index属性进行设置,但依旧没有效果。不过我认为问题应该就是出在父亲和孩子p的z-index属性身上,然后再对上述问题进行检索。最后在本网站看到下面这篇文章:父子间的z-index关系
文章作者概括了父子p间z-index属性的关系:“z-index
是要考虑父级的,如果子级z-index为0,那么父级就是200000也不会覆盖住子级。如果想要父级覆盖子级,那么父级不需要设置z-index,只要孩子设置就z-index就可以了。”(注:经本人实例测试,孩子z-index值应设为负,且父亲z-index不能设值,否则也不会覆盖,原因暂时未知)虽然没有详细地解析其中的原因,但也给了我一个启发。
根据上述的父p覆盖子p的启发,接下来我尝试把遮罩层p放在底层的外面(真别扭,明明层次应该在中间),代码如下:
遮罩层和被遮罩层的关系(简述遮罩层与被遮罩层的区别)2
步骤1:将您的视频加载到项目区域,然后将其拖动并添加到您的时间轴中。
步骤2:现在,在时间轴上的视频上方添加一个调整层。转到图层>新建>调整图层。
专业提示:将此图层命名为“ Mask”。这样做,而不是直接在视频上进行遮罩。这是保存工作的超安全方法。这样一来,如果出现问题,您将始终不会损坏原始视频文件。
步骤3:现在,将播放头移到时间轴的第一帧。单击您的调整层。
步骤4:在屏幕的左上角,单击笔图标。单击并拖动您的钢笔工具以开始概述要遮罩的对象。把你的时间,让您的线路只是权利,请确保关闭的路径。通过连接回您创建的第一个节点来执行此操作。如果未关闭路径,则遮罩将不起作用。将鼠标悬停在节点上时,当钢笔工具旁边出现一个小圆圈时,您将知道路径是封闭的。
专家提示:如果您对笔工具没有太多的经验,请练习!您做得越多,越容易获得。您可以在Shape Layer上使用它进行绘图。
步骤5:在此调整图层上开始绘制时,您会注意到一个遮罩出现在图层的下拉菜单中。转到“ 属性”,然后单击“ 蒙版路径” 旁边的秒表符号。您将看到一个关键帧(小菱形)出现在时间轴上。
步骤6:在时间轴上将播放头移动4-6帧。您会看到物体或镜头移动了。您需要移动遮罩以使其完美地勾勒出您的对象轮廓。调整路径,同时确保在时间轴上看到另一个关键帧。然后,四处移动节点以再次勾勒形状。是的,这很乏味,但最终结果完全值得。
提示:要编辑路径,请在路径外部单击,节点将变为微小的实心圆。现在,当您单击它们时,可以根据需要移动它们并调整手柄。
步骤7:一遍又一遍地重复步骤6!需要多少帧。到最后,您将成为钢笔工具的绝对向导。
步骤8:将所需的动画拖到对象后面,到视频和“ 蒙版”层之间的时间轴中。
步骤9:最后,在动画时间轴上启用“跟踪遮罩”功能。要显示“跟踪遮罩”选项,请单击左下角的看起来像圆形和正方形重叠的小图标(位于三个图标的中间)。这将显示一个TrkMat列。在该下拉菜单中,选择“ 无”>“ Alpha倒置遮罩”“遮罩” 。
确保您的Alpha反转遮罩已启用,然后播放以查看动画效果!
遮罩层和被遮罩层的关系(简述遮罩层与被遮罩层的区别)3
Axure本身就提供了模板的功能,也就是说只要实现一次但可以一劳永逸,本文就一起来看看这个遮罩层实现过程和效果。
今天在做产品原型设计时,遇到了个关于动态显现遮罩层的难点。“无奈”为追求高保真的效果,还是花了点心思做个原型实现。待做好回过头来看看的话,其实这个效果的难度也不大,只是看个人意愿是否想做而已。
Axure本身就提供了模板的功能,也就是说只要实现一次但可以一劳永逸。下面就一起来看看这个遮罩层实现过程和效果吧。
做前端开发的同学都知道,在HTML实现一个遮罩层,只需要添加个浮动的DIV即可轻松实现。那么在Axure中如何去实现它呢?
如上图所示,可以将这个遮罩层的实现分为如下2部分:
- 主体内容,即遮罩层要盖住的部分
- 遮罩层组件,即遮罩层+其它装饰部分(在Demo中只是增加了个Loading的动画图片来区分)
所以遮罩层的实现思路就清晰啦步骤如下:
- 准备一个与你所想要遮盖内容大小相同的矩形框,注意要减去边框的大小,示例:主体内容大小为`600×400`,边框宽度为**1px**,那么遮罩层的大小为`598*398`且是无边框的。
- 设置遮罩层的填充色,还有相对的透明度。
- 加强遮罩层显示的动画效果(Axure上所支持的效果并不多,如不能够满足,可以采用文字描述阐明效果要求)。
接着用3个按钮来做不同效果的展示:
那么现在来看看最终的实现效果如下,请看下面的大屏幕:
如果想要做全屏的遮罩层就更加的简单啦,只在要显示组件上增加个灯箱的效果即可。
PS:示例源文件下载:遮罩层效果.rp
本文由 @ 凡梦星尘 原创发布于人人都是产品经理。未经许可,禁止转载