6-5 使用者体验 -- 透过模糊降低吸引力

1.根据上一小节,我们来做一个模糊透明深色遮罩
效果就像下面的一样

http://lab.hakim.se/avgrund/

小练习

html

<main>
    <button id="show">Click me!</button>
</main>
<dialog>O HAI, I'm a dialog.Click on me to dismiss.    
  <button id="hide">OK</button>
</dialog>

第一步:
设置背景和dialog的基本样式(这不是)
css

main{  
  position: relative;
  width: 100%; 
  height: 1000px;  
  transition: .2s -webkit-filter ease-out, 
              .3s transform linear;  
  background: url("2.jpg") no-repeat 0 0/cover;
}

dialog{    
  top: 280px; 
  border-radius: 5px; 
  border: 0;
}

第二步:
设置半透明深色遮罩,再带一点模糊效果
这里我们可以利用上一小节的知识,来制作overlay
我们将遮罩设置于body或main

main.de-emphasized{
  filter:blur(3px) contrast(.8) brightness(.8);
  -webkit-filter: blur(3px) contrast(.8) brightness(.8);
}
初步效果

第三步:
通过JS代码,来控制其类显示不同的样式。
同时再设置一些过渡效果(main标签)

main{
  transition: .2s -webkit-filter ease-out, .3s transform linear;
}

main.de-emphasized{    
  transform: scale(.95);
}

javascript


(function setClickEvent() { 
  var showBtn = document.getElementById('show');   
  var hideBtn = document.getElementById('hide');  
  var main = document.getElementsByTagName('main')[0]; 
  var dialog = document.getElementsByTagName('dialog')[0];
  showBtn.onclick = function () {
      main.className += ' de-emphasized';  
      dialog.style.display = 'block'; 
   };  
  hideBtn.onclick = function () {    
    var className = main.className.split(' ');   
    console.log(className);   
    for(var x in className) {   
       console.log(className[x]); 
       if(className[x] === 'de-emphasized');   
         className.splice(x-1,1);    
    }    
    main.className = className;  
      dialog.style.display = 'none';
    }
})()

最终效果:

未点击前
点击后效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这不仅仅是在APP等移动端常常见到的应用,在网页中也常常遇到。作者在书中给出了4种解决方法,我测试了这几种方法,当...
    juicees阅读 173评论 0 0
  • File菜单 新建 ← New ┗New Project → 新建项目 New Folder →新...
    张俊钰阅读 3,435评论 0 8
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 《我与梦露的一周》,改编自同名书。英国贵二代与性感女星梦露爱的一周,小雀斑演什么,是什么,《丹麦女孩》有女人的妩媚...
    run_away阅读 836评论 0 0
  • 焦虑有什么卵用,找到问题的根源,去试着改变自己才最重要嘛 1·不要去和别人比较,或者说断掉比较的途径 嗯,没有比较...
    火龙果小姐阅读 383评论 0 0