css3毛玻璃效果(blur)有白边怎么办

做一个登录页,全屏背景图毛玻璃效果,实现方法如下:

HTML:

<body>

  <div class="login-wrap">
    <div class="login-mask"></div>
    <div class="login-box"></div>
  </div>

  <script>
    var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

    $('.login-mask').css("height", h);

    $('.login-mask').css("width", w);
  </script>

</body>

CSS:

 

.login-wrap {
  overflow: hidden;
}

.login-mask {
  /* IE6~IE9 */
  filter: progid: DXImageTransform.Microsoft.Blur(PixelRadius=100, MakeShadow=false);
  -webkit-filter: blur(100px);
  -moz-filter: blur(100px);
  -ms-filter: blur(100px);
  filter: blur(100px);
  background-image: url(../../../img/background/home-bg-3.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  position: absolute;
  z-index: 1;
}

.login-box {
  width: 300px;
  height: 400px;
  background-color: rgba(255, 255, 255, 0.5);
  display: block;
  border: 1px solid rgba(183, 183, 183, 0.47);
  border-radius: 6px;
  position: absolute;
  left: 50%;
  margin-right: auto;
  margin-left: -150px;
  margin-top: 10%;
  z-index: 2;
}

效果如下:

 

可以发现边上是有白边的,这是一种blur的值很大的情况下。此时的解决方法是直接将background-size:cover;改成background-size:150% 150%;就行了。效果图如下:

仔细看可以发现白边不那么明显了。

另外一种就是在blur的值比较小的情况下,比如将上述的blur值改成20,效果如下:

可以看出白边很明显,这时候如果给body添加同样的背景图的话,白边就会消失:

body{
  background-image: url(../../../img/background/home-bg-3.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

 效果图如下:

可以看到边缘的区别很明显。但是对比有点明显,效果并不好,将blur的值再改小一点,改成5,,效果图如下:

边缘的白边去掉了,并且看起来不是那么违和了。

 如果你觉得按照第一个方法做出来的效果背景太亮的话,可以使用滤镜来变暗一点:

background-color: rgba(141, 141, 141, 0.35);
background-blend-mode: darken;

效果如下:

 补充:css3毛玻璃效果(blur)有白边

完整的css代码

.blur { 
    filter: url(blur.svg#blur); /* FireFox, Chrome, Opera */
   
    -webkit-filter: blur(10px); /* Chrome, Opera */
       -moz-filter: blur(10px);
        -ms-filter: blur(10px);   
            filter: blur(10px);
   
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=10, MakeShadow=false); /* IE6~IE9 */
}

2、解决白边方式

相关HTML代码如下:
<img src="mm1.jpg" />
<img src="mm1.jpg" />

原理很简单就是在要模糊的图片下面在定位一张相同的图片,当要模糊的图片缩小时,就会显示出低下的那张图。。。白边就不见了,哈哈哈。。。你想到了吗?

css样式兼容各种浏览器的 毛玻璃效果解
-webkit就是针对,webkit核心浏览器的,典型CHROME,Safari
-moz是Mozilla核心,典型,火狐
-o-, -xv-,典型OPERA
-ms,一看就知道是微软了,一般省略

你加上其它厂商的标头试试,有部分不支持这属性,
 
用CSS怎给字体加白边
用text-shadow此属性用来设计字体的投影效果,不过IE不支持,不过CSS3.0就可以支持,以后也就可以显示了。text-shadow:的设置是这样:text-shadow:1PX 1PX 1PX #FFFFFF。。第一个数值是X轴方向,第二个数值是Y轴方向,第三数值是投影后的模糊度越大越模糊,第四个是投影后的颜色色值

时间: 2024-09-19 23:57:21

css3毛玻璃效果(blur)有白边怎么办的相关文章

用js或css实现高斯模糊(毛玻璃效果)

问题描述 用js或css实现高斯模糊(毛玻璃效果) 想用js或css实现图片的高斯模糊(毛玻璃效果),兼容性好的. 解决方案 .blur { -webkit-filter: blur(10px); /* Chrome, Opera */ -moz-filter: blur(10px); -ms-filter: blur(10px); filter: blur(10px); filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=10,

ios-iOS 关于导航栏设定背景色 实现毛玻璃效果

问题描述 iOS 关于导航栏设定背景色 实现毛玻璃效果 页面是带head滑动广告栏的tablview,使用了系统的导航栏,想要实现导航栏部分背景颜色实现毛玻璃半透明效果 ,还有随tableview滑动的颜色渐变效果,试了好多方法,包括Blur都没达到效果,在考虑自定义.请问对于系统的有什么好的解决方案没? 解决方案 系统的导航栏,需要设置 translucent = YES 另外只有iPad mini,iPhone5,(ipad的好像是air开始),及以后的设备才支持毛玻璃效果 如果是以前的,只

iOS自定义collectionView实现毛玻璃效果_IOS

先来看看效果图,由于录屏软件不给力,毛玻璃效果不明显,请见谅. 步骤详解: 说下思路,很简单,首先自定义一个collectionView, 重写它的initWithFrame:collectionViewLayout:方法,在这里面做配置,这里用的是AXECollectionView. 与之对应的自定义一个collectionViewCell,在cell里配置操作:设置layer涂层,加载图片等操作,这里用的是AXECollectionViewCell. 最后在需要展示的控制器里调用AXECol

iOS毛玻璃效果的实现及图片模糊效果的三种方法_IOS

App设计时往往会用到一些模糊效果或者毛玻璃效果,iOS目前已提供一些模糊API可以让我们方便是使用. 话说苹果在iOS7.0之后,很多系统界面都使用了毛玻璃效果,增加了界面的美观性,比如下图的通知中心界面; 但是其iOS7.0的SDK并没有提供给开发者实现毛玻璃效果的API,所以很多人都是通过一些别人封装的框架来实现,后面我也会讲到一个; 其实在iOS7.0(包括)之前还是有系统的类可以实现毛玻璃效果的, 就是 UIToolbar这个类,并且使用相当简单,几行代码就可以搞定. 下面是代码实现:

Android 实现图片模糊、高斯模糊、毛玻璃效果的三种方法_Android

在前几天写过一个使用glide-transformations的方法实现高斯模糊的方法,今天偶然间有发现一个大神写的另一个方法,感觉挺不错的,分享一下: 效果图: 原文链接:点击访问 这使用也很简单,导入依赖,使用模糊方法就行,就这两步搞定 依赖: compile 'net.qiujuer.genius:blur:2.0.0-beta4' 实现方法有三种,第一个是Java实现的,第二个和第三个是调用C语言实现的 ,具体的区别也就是代码执行的耗时操作时间,从图片中可以看出Java使用时间远大于c运

Android模糊处理实现图片毛玻璃效果_Android

本文实例讲解了Android 虚化图片.模糊图片.图片毛玻璃效果的实现方法,具体内容如下 效果如图: 在Android可以用RenderScript方便的实现这个方法: private void blur(Bitmap bkg, View view, float radius) { Bitmap overlay = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8

Android开发之毛玻璃效果实例代码_Android

这是在网上找的,不过忘了在哪里找的,经过很多比较测试,发现这个方法不会 oom,目前来看 我一直没有遇过,今天才找到这个以前建立的工程,记录下来: 先给大家展示下效果图: public class FastBlur { public static Bitmap doBlur(Bitmap sentBitmap, int radius, boolean canReuseInBitmap) { // This is a compromise between Gaussian Blur and Box

Android模糊处理简单实现毛玻璃效果_Android

自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果.磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片: 实现效果大家都知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊技术的原理,如下: 首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这个bitmap进行模糊处理并设置为TextView的背景. 通过这个bitmap保存Canvas的状态: 在父布局文件中把Canva

Android开发之毛玻璃效果实例代码

这是在网上找的,不过忘了在哪里找的,经过很多比较测试,发现这个方法不会 oom,目前来看 我一直没有遇过,今天才找到这个以前建立的工程,记录下来: 先给大家展示下效果图: public class FastBlur { public static Bitmap doBlur(Bitmap sentBitmap, int radius, boolean canReuseInBitmap) { // This is a compromise between Gaussian Blur and Box