遮罩层覆盖问题
来源:2-8 主体部分的底部
danny前端学习
2020-04-27 15:14:35
先放代码~
<!-- body-图层 -->
<div class='mainTop'>
<img src="images/1.jpeg"/>
</div>
<!-- body-遮罩层 -->
<div class="opacity">
<img src="images/opacity.png"/>
</div>
这里我主要想解决的问题就是想让覆盖层全部盖满图片。但是在设置CSS样式的时候发现一个问题不是很理解。首先我分别尝试了在.main .opacity(遮罩层父级)和.main .opacity img(遮罩层子级)下设置绝对定位。在父级上设置绝对定位出现的效果是遮盖层无法完全遮住图片(遮盖层比图片大很多),但是绝对定位设置在img上,马上就覆盖完全了。
这里的原理是什么呢?希望解答谢谢!
3回答
好帮手慕粉
2020-04-28
同学你好,关于同学的问题回答如下:
1、同学自己也说了,因为图片素材大小不一样,就像我们拿两张纸质的图片,你把小的叠在大的上面,肯定是不能覆盖的,同学可以给两个图片设置相同的大小,这样就能叠在一起了。
2、同学的这个描述:
可能是因为两个图片大小不一致,而同学又设置了top:100px,恰巧使遮罩层盖住了图片,其实是没有的,老师选取了两个大小一样的图片:
就重叠在一起了:
3、不知道同学为什么要实现这个效果呢,一般是没有给背景图再设置一个背景图的,只有在上面加遮罩层的。
祝学习愉快~
好帮手慕粉
2020-04-27
同学你好,关于同学的问题回答如下:
1、我们可以先去除网页中的间隙:
2、当定位加给main.cover上时,由于.top是块级元素,占据位置,元素会按顺序进行排列,所以cover就会被撑到下一行:
3、而把定位设置给main.cover img时,设置的left和top定位值就生效了,就可以把cover定在top上。同学想要实现的效果是需要通过定位加定位值来实现的,也就是把cover定在top上,那么我们不光要给其设置absolute,也要设置top等值。
祝学习愉快~
好帮手慕粉
2020-04-27
同学你好,根据同学的描述,老师并不能理解同学想要实现的效果呢。建议同学将完整的代码粘贴上来:
祝学习愉快~
相似问题
回答 1
回答 2
回答 2
回答 1
回答 1