栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

CSS制作图形变形弹出效果的示例分享

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

弹出窗体是网页常用的一个交互设计,在这个注重交互动画体验的时代,网页弹窗也可以来点新鲜的点子,比如今天分享的CSS 变形Modal Window。
201647140715051.png (500×266)

当用户点击按钮时,按钮将会变成一个全屏的屏幕,然后再显示内容,整个展示过程流畅友好,也许你可以尝试到你的新项目上。

201647140742917.png (500×341)

演示页:http://codyhouse.co/gem/morphing-modal-window/
点击“Fire Modal Window”按钮后,按钮将会慢慢变大,直到整个屏幕。下面来个GIF演示:
201647140900986.gif (500×493)

使用教程

本代码兼容Chrome, Firefox, Safari, Opera,而IE需要9.0或以上版本(IE9+)

STEP 1: 创建HTML布局

XML/HTML Code复制内容到剪贴板
  1.   
  2.   
  3.   
  4.   
  5. Fire Modal Window   
  6.   
  
  •   
  •   
  •   
  •   
  •   
  •   
  •   
  • Close   
  •   
  • STEP 2: 添加CSS样式

    CSS Code复制内容到剪贴板
    1. .cd-modal-action {   
    2. position: relative;   
    3. }   
    4. .cd-modal-action .btn {   
    5. width: 12.5em;   
    6. height: 4em;   
    7. background-color: #123758;   
    8. border-radius: 5em;   
    9. transition: color 0.2s 0.3s, width 0.3s 0s;   
    10. }   
    11. .cd-modal-action .btn.to-circle {   
    12. width: 4em;   
    13. color: transparent;   
    14. transition: color 0.2s 0s, width 0.3s 0.2s;   
    15. }   
    16. .cd-modal-action .cd-modal-bg {   
    17. position: absolute;   
    18. top: 0;   
    19. left: 50%;   
    20. transform: translateX(-2em);   
    21. width: 4em;   
    22. height: 4em;   
    23. background-color: #123758;   
    24. border-radius: 50%;   
    25. opacity: 0;   
    26. visibility: hidden;   
    27. transition: visibility 0s 0.5s;   
    28. }   
    29. .cd-modal-action .cd-modal-bg.is-visible {   
    30. opacity: 1;   
    31. visibility: visible;   
    32. }  

    STEP 3: 添加jQuery

    本代码使用了jQuery,你可以通过下面代码来修改窗口大小。

    Javascript Code复制内容到剪贴板
    1. var btnRadius = $('.cd-modal-bg').width()/2,   
    2. left = $('.cd-modal-bg').offset().left + btnRadius,   
    3. top = $('.cd-modal-bg').offset().top + btnRadius - $(window).scrollTop(),   
    4. scale = scalevalue(top, left, btnRadius, $(window).height(), $(window).width());   
    5.   
    6. function scalevalue( topValue, leftValue, radiusValue, windowW, windowH) {   
    7. var maxDistHor = ( leftValue > windowW/2) ? leftValue : (windowW - leftValue),   
    8. maxDistVert = ( topValue > windowH/2) ? topValue : (windowH - topValue);   
    9. return Math.ceil(Math.sqrt( Math.pow(maxDistHor, 2) + Math.pow(maxDistVert, 2) )/radiusValue);   
    10. }  
    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/216000.html

    CSS教程相关栏目本月热门文章

    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号