毛玻璃特效

先搞一个div作为容器层,用来放置风景背景图。

内部放一个div,作为毛玻璃的主体。

再放一个img,显示天气图标。

<html>
<head>
    <meta charset="utf-8">
    </style>
</head>
<body>
    <div class=‘container‘>
        <div class=‘frosted-glass‘></div>
        <img class=‘weather‘ src=‘cloudy.png‘>
    </div>
</body>
</html>

容器层:

大小是图片大小,把风景图作为背景显示,no-repeat。这里用到一个小技巧,将background-attachment设成fixed,不随元素滚动,让子元素继承了本层的背景后,子元素就变成了一个viewport,移到哪儿就看到背景的哪儿。。。额。。。这句话理解起来有点困难,码农缺乏语言表达也是一大苦恼。。。

  .container{
            width: 287px;
            height: 285px;
            background-image: url(background.png);
            background-repeat: no-repeat;
            background-attachment: fixed;
            overflow: hidden;
        }

毛玻璃层:

这里的关键技巧就是background:inherit,直接使用了父元素的背景,和父级的background-attachment:fixed可完成从相机看世界的各种牛逼效果。

本文的的毛玻璃是全景,当然可以上半部或者下半部,或者其他位置,这就看出inherit和fixed牛逼的地方了。

 .frosted-glass{
            width: 287px;
            height: 285px;
            background: inherit;
            -webkit-filter: blur(5px);
            -moz-filter: blur(5px);
            -ms-filter: blur(5px);
            -o-filter: blur(5px);
            filter: blur(5px);
            filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=4, MakeShadow=false);
        }

上面的各种filter为了兼容各种浏览器版本,可度娘可谷歌,随便啦。

ie6~9的就用filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=4, MakeShadow=false)进行兼容。

ie8下的效果,继续将就吧。

最后就是天气图标:

需要把图标浮在最上层某个位置上,个人不太喜欢使用飞在天上的absolute来解决人间的俗世问题,元素内的定位用margin来作就足够了,虽然会在页面的回流上有影响,但不会产生足够的影响,好处就是父元素的位置和大小的变动产生后遗症会尽可能小,让absolute来弄,那就头大了,人间的问题就让人间的来解决吧。

图标的position设成relative,是为了让它浮在最上面,因为relative的要比默认static的显示层级高。

定位就用margin来做,当然前提是要把它弄成block级元素,否则就然并卵了。

 .weather{
            width:80px;
            height:80px;
            margin-top: -200px;
            margin-left: 100px;
            position: relative;
            display: block;
        }

时间: 2024-11-16 18:14:35

毛玻璃特效的相关文章

iOS 8 系统自带BlurEffect 毛玻璃特效

毛玻璃 的UI 设计在手机开发中已经 非常热门,在之前的 开发中 一般用到 github上FXBlurView 封装好的一个view类 ,可以直接应用加载到控件中,iOS 8 后更新的  UIBlurEffect类和 UIVisualEffectView类使这种特效应用更加便捷,高效. 使用也非常简便,UIBlurEffect 类是设定毛玻璃特效的类型,UIVisualEffectView类在创建时加入上一个类对象,剩下的跟普通的view 控件等用法就一样了 ,附代码事例: //  创建需要的毛

OpenCV——PS滤镜,毛玻璃特效

程序完成 "毛玻璃" 特效, 不过边缘没有处理,使得最终的图像有黑边. 不过,有了黑边,感觉效果也不错,所以这个bug 没有管. #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include

觉得不错,毛玻璃特效

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </style> </head> <body> <div class='container'> <div class='frosted-glass'></div> <img class='weather' src='cloudy.png'> </

ios 毛玻璃特效

昨天晚上突然心血来潮,研究了下ios 8的毛玻璃效果,觉得挺好看的.给人一种朦胧美,于是就动手实现了下代码.--- 对了飞鸟图的资源美审核通过大家不能下载了,非常抱歉.不过道理都是一样,图片哪里都有.最主要是把知识点掌握了.哈哈,那么我们就学习今天的毛玻璃效果吧. #import "ViewController.h" @interface ViewController () { UIImageView *_imageView; } @end @implementation ViewCo

【转】毛玻璃特效

毛玻璃其实就是磨砂玻璃,能够模糊的看清背后的风景,让人感觉有种朦胧美,让界面看上去有些层次感. 比如: 高大上啊,接下来肯定是眼馋手痒的过程... 当然,用ps搞一个全景毛玻璃背景毫无疑问是最省事的,那接下来就没啥事可干了. 当然no no no了. 毛玻璃无疑就是种模糊了,少不了filter blur. 最终效果(chrome): 天气预报 嗯,也算是将就了... <!DOCTYPE html> <html> <head> <meta charset="

IOS实现毛玻璃效果的三种方式

方式一:UIToolBar实现毛玻璃特效 在iOS7.0(包括)之前还是有系统的类可以实现毛玻璃效果的, 就是 UIToolbar这个类,并且使用相当简单,几行代码就可以搞定. 1 /* 2 毛玻璃的样式(枚举) 3 UIBarStyleDefault = 0, 4 UIBarStyleBlack = 1, 5 UIBarStyleBlackOpaque = 1, // Deprecated. Use UIBarStyleBlack 6 UIBarStyleBlackTranslucent =

iOS 实现简单的毛玻璃效果

最近在整理导航栏的渐隐渐现效果,整理过程中偶然学会了图片的毛玻璃效果实现,很简单,不多说了,先上图看看效果对比, 这是原图, 这是加了效果后的,创建图片的代码就不上了,下面看下添加效果的代码: // 毛玻璃 /* 系统自带的三种风格 UIBlurEffectStyleExtraLight,//额外亮度,(高亮风格) UIBlurEffectStyleLight,//亮风格 UIBlurEffectStyleDark//暗风格 */ UIBlurEffect *effect = [UIBlurEf

iOS开发——毛玻璃透明

主要实现的代码如下: self.rateInfoView是定义好的控制属性控件 可以改变透明度的值来改变毛玻璃透明的效果 // 虚拟交易费率弹窗 - (void)showRateInfo{ self.rateInfoView = [[UIView alloc]initWithFrame:self.windowView.frame]; // rateInfoView.backgroundColor = [UIColor blackColor]; self.rateInfoView.alpha =

仿知乎/途家导航栏渐变文字动画效果-b

demo.gif 效果图如上,简单分析下 1.导航栏一开始是隐藏的,随着scrollView滚动而渐变 2.导航栏左右两边的navigationItem是一直显示的 3.导航栏参考了途家app,使用了毛玻璃效果,背景是一张图片 4.下拉放大图片效果 5.title文字动画效果 通过简单分析,系统的导航栏实现以上效果有点困难,直接自定义一个假的导航栏更容易点 分布拆解实现以上效果 一.下拉放大header图片 - (void)viewDidLoad {        [super viewDidL