大家都知道,弹出窗体已经是现在网页常用的一种交互设计,在这个注重交互动画体验的时代,网页弹窗也是可以来点新鲜点子的,比如今天分享的CSS 变形Modal Window。

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

点击“Fire Modal Window”按钮后,按钮将会慢慢变大,直到整个屏幕。下面来个GIF演示:

使用教程

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

STEP 1: 创建HTML布局

Fire Modal Window

Close

Fire Modal Window

Close

STEP 2: 添加CSS样式

.cd-modal-action {

position: relative;

}

.cd-modal-action .btn {

width: 12.5em;

height: 4em;

background-color: #123758;

border-radius: 5em;

transition: color 0.2s 0.3s, width 0.3s 0s;

}

.cd-modal-action .btn.to-circle {

width: 4em;

color: transparent;

transition: color 0.2s 0s, width 0.3s 0.2s;

}

.cd-modal-action .cd-modal-bg {

position: absolute;

top: 0;

left: 50%;

transform: translateX(-2em);

width: 4em;

height: 4em;

background-color: #123758;

border-radius: 50%;

opacity: 0;

visibility: hidden;

transition: visibility 0s 0.5s;

}

.cd-modal-action .cd-modal-bg.is-visible {

opacity: 1;

visibility: visible;

}

.cd-modal-action {

position: relative;

}

.cd-modal-action .btn {

width: 12.5em;

height: 4em;

background-color: #123758;

border-radius: 5em;

transition: color 0.2s 0.3s, width 0.3s 0s;

}

.cd-modal-action .btn.to-circle {

width: 4em;

color: transparent;

transition: color 0.2s 0s, width 0.3s 0.2s;

}

.cd-modal-action .cd-modal-bg {

position: absolute;

top: 0;

left: 50%;

transform: translateX(-2em);

width: 4em;

height: 4em;

background-color: #123758;

border-radius: 50%;

opacity: 0;

visibility: hidden;

transition: visibility 0s 0.5s;

}

.cd-modal-action .cd-modal-bg.is-visible {

opacity: 1;

visibility: visible;

}

STEP 3: 添加jQuery

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

var btnRadius = $(‘.cd-modal-bg’).width()/2,

left = $(‘.cd-modal-bg’).offset().left + btnRadius,

top = $(‘.cd-modal-bg’).offset().top + btnRadius – $(window).scrollTop(),

scale = scaleValue(top, left, btnRadius, $(window).height(), $(window).width());

function scaleValue( topValue, leftValue, radiusValue, windowW, windowH) {

var maxDistHor = ( leftValue > windowW/2) ? leftValue : (windowW – leftValue),

maxDistVert = ( topValue > windowH/2) ? topValue : (windowH – topValue);

return Math.ceil(Math.sqrt( Math.pow(maxDistHor, 2) + Math.pow(maxDistVert, 2) )/radiusValue);

}

var btnRadius = $(‘.cd-modal-bg’).width()/2,

left = $(‘.cd-modal-bg’).offset().left + btnRadius,

top = $(‘.cd-modal-bg’).offset().top + btnRadius – $(window).scrollTop(),

scale = scaleValue(top, left, btnRadius, $(window).height(), $(window).width());

function scaleValue( topValue, leftValue, radiusValue, windowW, windowH) {

var maxDistHor = ( leftValue > windowW/2) ? leftValue : (windowW – leftValue),

maxDistVert = ( topValue > windowH/2) ? topValue : (windowH – topValue);

return Math.ceil(Math.sqrt( Math.pow(maxDistHor, 2) + Math.pow(maxDistVert, 2) )/radiusValue);

}

下载CSS变形弹窗效果源码:http://codyhouse.co/gem/morphing-modal-window/

php中修改弹窗的样式,CSS变形弹窗效果示例相关推荐

  1. 博客园修改页面显示样式css

    博客园修改页面显示样式css 一.总结 二. 博客园修改页面显示样式css 1.点管理 2.点设置 3.在页面定制css代码中加入你想要改变样式的css代码即可 不会写css的下面有代码示例,直接复制 ...

  2. css球形颜色选择器,在CSS选择器中使用color颜色样式CSS代码

    CSS颜色样式篇目录认识CSS 颜色(color) 网页颜色基础 两种方法设置对象颜色样式 文字颜色控制color 网页背景颜色color 边框颜色color 网页color RGB设置 网页colo ...

  3. css中字体下划线样式,css下划线 浅谈css自定义下划线

    使用css样式对一段文字或一段文字中其中几个文字设置虚线效果的下划线如何实现?我们知道css字体下划线使用text-decoration样式实现,而虚线下划线则不能使用此css样式属性.要实现通过下边 ...

  4. Android中修改ScrollBar默认样式

    好吧,又遇到需求了,需要修改ScrollBar的样式,于是查阅了很多文档,觉得这位大牛总结的不错,顺便看了下他的主页,哇哦,大神啊~!!!附上大神文章的链接:http://likfe.com/arch ...

  5. html如何做成弹窗,js+html+css制作弹窗

    效果图: 弹窗效果图 准备: 引入layer.js文件,下载地址:layer.layui.com/ 下载后解压并把layer文件夹拷贝到工程文件内. 引入jquery库文件,拷贝到工程文件中. 第一步 ...

  6. vue中修改Element ui样式不起作用

    公司做的一个后台系统,由于Elemen ui是响应式的,在小屏笔记本中,一行两列的表单会自动变成一行一列,这样就很不美观了,由于是后台系统,当时也没考虑适配问题. 老总 地表最强的电脑 运行了一下,当 ...

  7. 如何在bootstap中修改checkbox的样式

    最近搞bootstrap的时候发现checkbox这个东西有点丑,改了一下.上代码 html代码 <input type="checkbox" class="che ...

  8. echarts修改鼠标悬浮样式和默认高亮效果,和传值高亮修改字体模糊

    具体的上代码 var myChartzuoixia = echarts.init(document.querySelector(''));$("#tableEcharts").re ...

  9. html3d样式,CSS+HTML3D文字效果

    效果图: image.png 代码如下: Document html, body { height: 100%; overflow: hidden; } body { margin: 0; } h2 ...

最新文章

  1. linux-命令替换-通配符-重定向-管道
  2. javascript与jQuery对照学习总结(一)(一些常规操作)
  3. UVa 10820 (打表、欧拉函数) Send a Table
  4. 带你体验云原生场景下 Serverless 应用编程模型
  5. 679 - Dropping Balls
  6. C++STL笔记(九):map和multimap详解
  7. java 通过id获取html代码_分享代码技巧:解决 $.(“#id“).val() 获取不到空格之后的值
  8. matlab高等数学实验答案,高等数学实验matlab参考完整答案.doc
  9. 挂载Linux镜像文件,使用镜像文件安装依赖
  10. 延安.居民家庭计算机普及率,2004~2014年家庭互联网普及率及电脑持有率
  11. HR问:“你为什么离开上一家公司?”,这样回答最机智
  12. Hadoop HA_Yarn HA 集群的搭建
  13. 薅羊毛拼团商城2.5.3小程序源码
  14. spry提示信息设置html,[原]Spry框架:表单验证构件
  15. JTAG与SWD的接口连接关系简介
  16. Qt对word文档操作总结
  17. 想在国外做CPA广告联盟,准备好洗礼了吗?
  18. mysql 全文检索_MySQL全文检索
  19. 科大奥锐干涉法测微小量实验的数据_大学物理实验报告答案解析大全(实验数据).doc...
  20. Flask Web开发 3.0 模板

热门文章

  1. jenkins-基础配置
  2. Android Studio 管理所有程序退出
  3. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 C序列变换...
  4. 2018.2.28(延迟加载和缓存)
  5. Day-6:创建计算字段
  6. apache2.4.x三种MPM介绍
  7. linux网络唤醒,如何在Ubuntu Server 18.04中启用网络唤醒(WOL)
  8. 高校c语言题库,C语言-中国大学mooc-题库零氪
  9. linux电脑做笔记软件,知识管理工具, 自由格式数据库, 笔记软件以及个人信息管理...
  10. matlab 等分矩阵,用matlab根据列拆分矩阵.