时间:2021-05-08
前言
本文主要给大家介绍了关于CSS3倒影实现的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
效果图如下:
示例图片
在CSS3之前,想要实现示例图片这样的一个倒影效果一般只能通过处理图片的方式,而CSS3问世之后,想要实现这样的效果变得非常简单,只需一个CSS3属性就可以轻松实现了。
这就是今天所要提到的box-reflect属性。
咱们先看看W3C给出的box-reflect语法:
box-reflect可给两种属性值,一种是none,为默认值,也就是没有任何倒影效果,另一种才是我们今天所要讲的,它可以同时赋予三个属性值,它们依次代表倒影方向、元素与倒影之间的距离以及加在倒影上的遮罩图像,其中后两个属性值可以缺省,但如果<mask-box-image>存在,则<offset>必填。
说了那么多干巴巴的解释,还是联系一下示例应该更好理解些吧。
我们现在来一步步地实现文章开头示例图片的投影效果:
①只给一个属性值below。
<!--HTML代码-->< img class="img" src="imgs/cat.jpg" />.img{ -webkit-box-reflect: below; box-reflect: below;}实现效果:
②再加个5px的间距。
.img{ -webkit-box-reflect: below 5px; box-reflect: below 5px;}实现效果:
③最后加个图片遮罩吧。
.img{ -webkit-box-reflect: below 5px -webkit-linear-gradient(transparent 60%,rgba(0,0,0,.3));box-reflect: below 5px linear-gradient(transparent 60%,rgba(0,0,0,.3));}这里的图片遮罩没有用图片,而是用了CSS3中的linear-gradient属性值,它就是用于线性渐变,具体用法这里就不提了,可以直接看这里(https://www.jb51.net/css/369475.html),写得很详细。
实现效果:
这就是文章开头示例图片的最终效果。
接下来,再说说径向渐变创建图片遮罩和直接使用图片遮罩。
径向渐变的话其实跟线性渐变类似,只需要你掌握CSS3中基本的径向渐变方法,给个简单示例吧:
.img{ -webkit-box-reflect: left 0 -webkit-radial-gradient(#000 30%,transparent); box-reflect: left 0 radial-gradient(#000 30%,transparent);}实现效果:
效果很棒!好像猫咪真的在照镜子一样~~
那如果直接使用图片遮罩呢?比如说我用这样一张图片作为遮罩:
.img{ -webkit-box-reflect: right 0 url(imgs/mask.png); box-reflect: right 0 url(imgs/mask.png);}实现效果:
mask.png
可以看出,遮罩图片会完全拉伸填充倒影图片,并且效果是完全透明部分不会显示出来(其实CSS3渐变图片遮罩原理也跟这个是一样的)。
需要注意的是:以上讲的所有效果不仅仅可以用在图片上,用在其他元素上也是完全可以的,比如说文字。
兼容性:box-reflect虽然看起来效果很不错,但是遗憾的是,目前只有webkit内核浏览器兼容,不过移动端基本已经没有任何问题啦~~
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我的前面一张文章实现了用css3制作旋转的效果,现在呢,我换另外一种方法来实现.就是使用js结合css3的方法来实现的.下面我就先上图给大家看看效果吧下面呢我先
前言大佬给了一张优惠券图片(如下图),我一看,这波浪型的边框和内倒角用css写不出来吧,遂向大佬说明并要ui切图,大佬回答:css3可以实现。好吧,大佬都说可以
以下是一张所有CSS3模块的表格以及他们目前的状况。css3.info将会不断更新这张表格的模块进度变化。越多进展的模块列在最前面。目前还没有CSS3模块达到&
复制代码代码如下:css3实现多背景展示 通过css3定位多张背景并且使用固定属性。
之前为大家分享很多纯css3实现的实用按钮,今天给大家带来一款纯css3实现的颜色渐变按钮。这款按钮的边框和文字的颜色通过css3实现两种颜色的渐变,效果非