box-reflect实现倒影效果

这次给大家带来box-reflect实现倒影效果,box-reflect实现倒影效果的注意事项有哪些,下面就是实战案例,一起来看一下。

平常我们要实现倒影的效果,一般的做法是使用多个DOM元素绝对定位+scale(负-1)或者rotate。这种方法的缺点是占据空间以及DOM元素过多。

在使用webkit内核的浏览器中(chrome,safari,移动端浏览器),可以使用-webkit-box-reflect属性来实现倒影,语法如下所示

[ above | below | right | left ]? ? ?

该值包涵了三部分:方位+偏移量+遮罩层

方位是必不可少的;在使用遮罩层的时候,偏移量是不可少的,如没有则用零代替

!!!重要:遮罩层的效果与颜色无关,例如使用渐变颜色做遮罩,都是实色则透明,透明则暴漏原始颜色

使用示例如下所示:

      JS Bin      .box{ width:200px; height:200px; margin-bottom:20px;transform:scale(-1,1); background-image:linear-gradient(90deg,red,yellow);-webkit-box-reflect:below 10px linear-gradient(180deg,transparent,#000); }    

登录后复制

效果如下:

box-reflect实现倒影效果

如果需要在firefox中实现类似效果,可以使用-moz-element()函数来实现,但是在旋转下效果差别较大,如下所示。

      JS Bin      .box{ width:200px; height:200px; margin:100px 0 0 100px; }    .box1{ background-image:linear-gradient(180deg,red,yellow); transform:scale(1,-1) rotate(45deg)}    .box2{ background-image:-moz-element(#box1); }    

登录后复制

box-reflect实现倒影效果

在chrome下使用-webkit-box-reflect的效果是这样的

box-reflect实现倒影效果

如果要兼容IE浏览器还可以使用SVG或者canvas来做,SVG主要利用pattern+mask+linearGradient+scale来做,canvas使用scale+globalCompositeOperation。

SVG例子部分代码如下:

                                                                                        

登录后复制

canvas例子部分代码如下

var canvas = document.getElementById('canvas'),    ctx = canvas.getContext('2d');var linearGradient1 = ctx.createLinearGradient(0,0,0,200);linearGradient1.addColorStop(0,"red");linearGradient1.addColorStop(1,"yellow");var linearGradient2 = ctx.createLinearGradient(0,0,0,200);linearGradient2.addColorStop(0,"transparent");linearGradient2.addColorStop(1,"#ffffff");ctx.fillStyle = linearGradient1;ctx.fillRect(0,0,200,200);ctx.globalCompositeOperation = 'destination-out';ctx.fillStyle = linearGradient2;ctx.fillRect(0,0,200,200);

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

CSS的居中布局总结

width:100%;与width:auto的使用区别

瀑布流布局与无限加载图片相册效果

以上就是box-reflect实现倒影效果的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2898017.html

(0)
上一篇 2025年3月10日 23:30:55
下一篇 2025年3月10日 17:04:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css 编写表单效果

    本篇文章主要介绍如何使用p+css实现表单效果,纯p+css实现,大家可以参考下。 代码如下: nbsp;html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3…

    编程技术 2025年3月10日
    200
  • css实现图片切换效果

    本篇文章主要介绍css实现图片切换效果非常不错,不用css,代码比较精简,推荐使用,注意一下多浏览器的兼容性。 代码如下: nbsp;HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w…

    编程技术 2025年3月10日
    200
  • CSS Border属性之solid的使用介绍

    这篇文章主要介绍了关于css border属性之solid的使用介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下border(画边框),它是css的一个属性,用它可以给能确定范围的html标记(如td、p等等)画边框,可以…

    2025年3月10日
    200
  • 如何使用CSS3的box-reflect来制作倒影效果

    以前要实现这种效果,我们只能乖乖的找设计去制作,然后在页面上插入一张图片,但是随着css3的出现,我们可以纯代码实现,如何实现呢?就是通过css3的box-reflect属性。下面这篇文章就给大家分享了用css3来制作倒影效果的方法,有需要…

    2025年3月10日 编程技术
    200
  • 用CSS实现网站变黑白色

    这篇文章主要介绍了关于用css实现网站变黑白色,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 以下为全站CSS代码.  html { filter:progid:DXImageTransform.Microsoft.Basi…

    编程技术 2025年3月10日
    200
  • 利用CSS3实现Material Design效果

    本篇文章主要介绍了纯css3实现material design效果。是对原生组件基于标签属性做了美化,具有一定的参考价值,有兴趣的可以了解一下。 预览 这是一个正在完善的css文件,是对原生组件基于标签属性做了美化,对datepicker,…

    编程技术 2025年3月10日
    200
  • CSS3属性:text-shadow文本阴影的使用方法

    本篇文章给大家带来的内容是关于css3属性:text-shadow文本阴影的使用方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 text-shadow还没有出现时,大家在网页设计中阴影一般都是用photoshop做成图…

    2025年3月10日 编程技术
    200
  • Css3动画属性是什么?怎么实现

    本篇文章给大家带来的内容是关于css3动画属性是什么?怎么实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Transform动画属性 transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋…

    编程技术 2025年3月10日
    200
  • CSS实现对话框效果如何实现(代码)

    本篇文章给大家带来的内容是关于CSS实现对话框效果如何实现(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS实现对话框效果/*CSS实现对话框效果一*/.test1{width:300px;height: 30…

    编程技术 2025年3月10日
    200
  • CSS3属性如何实现网页中的图标布局?

    CSS3属性如何实现网页中的图标布局? 随着网页设计的日益复杂和多样化,图标在网页设计中的使用变得越来越频繁。而CSS3提供了许多新的属性和功能,使得实现网页中的图标布局更加便捷和灵活。本文将介绍一些常用的CSS3属性,以及如何利用它们来实…

    2025年3月10日
    200

发表回复

登录后才能评论