php中修改彈窗的樣式,CSS變形彈窗效果示例

大家都知道,彈出窗體已經是現在網頁常用的一種交互設計,在這個注重交互動畫體驗的時代,網頁彈窗也是可以來點新鮮點子的,比如今天分享的CSS 變形Modal Window。

030437HgH.png

當用戶點擊按鈕時,按鈕將會變成一個全屏的屏幕,然后再顯示內容,整個展示過程流暢友好,也許你可以嘗試到你的新項目上。

點擊“Fire Modal Window”按鈕后,按鈕將會慢慢變大,直到整個屏幕。下面來個GIF演示:

gif-css-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/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/382973.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/382973.shtml
英文地址,請注明出處:http://en.pswp.cn/news/382973.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php 開發高德地圖地理圍欄,高德地圖-地理圍欄功能實現

最近需要實現一個地理圍欄相關的功能。項目是和騎行相關的,主要是當游客或者騎友定位地址進入到對應的景點的地理圍欄里面,則播報景點相關的報道語音。接到需求之后,我開始查看高德的相關API,由于圍欄是多邊形的,則需要…

java abstractrequest,Java AbstractJackson2HttpMessageConverter類代碼示例

import org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter; //導入依賴的package包/類Testpublic void testDefaultConfig() throws Exception {loadBeanDefinitions("mvc-config.xml", 14);RequestMappingHandlerMapping mapping app…

golang調用matlab,Golang中Proto編寫和生成

test.proto文件syntax "proto3";//指定proto文件版本package go; //指定文件縮放的package名//定義對象message Test {enum PhoneType //枚舉消息類型{MOBILE 0; //proto3版本中,首成員必須為0,成員不應有相同的值HOME 1;WORK 2;}int32 fl…

php折半查找面試題,php 面試題(一)

最近轉載一些面試題,希望能給找工作的朋友們帶來一點幫助。1.寫出5個以上你所知道的常用的Linux命令和它的功能cat,顯示文件內容。cd,改變目錄路徑。cp,復制文件。find,查找文件。grep,搜索、過濾信息。ls&…

次梯度法matlab代碼,實例:連續化次梯度法解 LASSO 問題

實例:連續化次梯度法解 LASSO 問題我們將在此頁面中構造一個 LASSO 問題并且展示連續化次梯度方法在其中的應用。目錄構造LASSO優化問題設定隨機種子。clear;seed 97006855;ss RandStream(mt19937ar,Seed,seed);RandStream.setGlobalStream(ss);構造 LASSO 優化問…

php變量使用,php變量的使用

來源:www.cncfan.com | 2006-1-11 | (有1856人讀過)就像大部份的結構化程序,有所謂的全局變量與局部變量,PHP 在這方面也是有相似之處。在 PHP 的程序執行時,系統會在內存中保留一塊全局變量的區域。實際運用時,可以透過 $GLOBALS…

php syncml 協議,基于改進的SyncML協議的圖像安全同步技術研究

Image secure synchronization technology research based on improved SyncML protocolJIA Zhaolong1賈兆攏(1991-),女,北京郵電大學碩士生,主要研究方向:網絡安全技術與應用MA Zhaofeng2馬兆豐(1974-),男&#xff0c…

php 文字水印如何居中,php文字水印和php圖片水印實現代碼(二種加水印方法)

$dst_path dst.jpg;$src_path src.jpg;//創建圖片的實例$dst imagecreatefromstring(file_get_contents($dst_path));$src imagecreatefromstring(file_get_contents($src_path));//獲取水印圖片的寬高list($src_w, $src_h) getimagesize($src_path);//將水印圖片復制到目…

qq ip探測儀 php,巧用Win7資源監視器,查看QQ好友IP

用QQ時間比較長、喜歡DIY的朋友都知道,有一些第三方版本的QQ或者插件可以顯示好友IP地址,但其實在Windows7中根本用不著第三方軟件,在系統自帶的資源監視器中,就能很方便的看到QQ好友的IP地址。首先,打開“任務管理器”…

oracle安裝顯示注冊表,windows下oracle 11g r2 安裝過程與卸載詳細圖解

Oracle 11g安裝1.解壓下載的包,然后進入包內,點擊setup.exe開始安裝 。2.出現如下:一般把那個小對勾取消,點擊下一步進行,彈出下圖這個后點‘是3.下圖后,選擇創建和配置數據庫,點擊下一步。4.下…

oracle+連接格式,oracle外連接符號(+)的用法

我們都知道,PL/SQL中實現外連接,除了可以用關鍵詞OUTER JOIN外,還可以用Oracle的外連接符號()。對于這個外連接符號(),雖然看到書上說:使用()進行外連接時,where條件中,對于附表的字段都應帶上(…

php一行多個商品,【后端開發】php一行展示多個商品怎么實現

php一行展示多個商品怎么實現php可以用來連接數據庫查詢商品,并輸出展示給用戶,但想要實現一行展示多個商品需要用到css技術,具體實現如下:1、首先php代碼$sql "select * from user";$result $conn->query($sql);i…

linux設置時間快1小時,LINUX CentOS系統時間與現在時間相差8小時解決方法

GPS 系統中有兩種時間區分,一為UTC,另一為LT(地方時)兩者的區別為時區不同,UTC就是0時區的時間,地方時為本地時間,如北京為早上八點(東八區),UTC時間就為零點,時間比北京時晚八小時,…

linux雙網卡端口聚合,Linux雙網卡聚合改造

Linux雙網卡聚合改造一、環境和需求Linux主機只有一塊網卡接到交換機上,為了消除交換機的單點,新增一臺交換機,Linux主機端新接一塊網卡到新交換機上,對這兩塊網卡做聚合達到目的。二、物理連線使用網線連接新增交換機和新網卡三、…

linux服務器無法識別xml文件,linux上重啟服務器提示找不到smartbi-config.xml文件

(本文檔僅供參考)問題服務器上重啟服務時,報了如下錯誤信息:(備注:因安全考慮,新版本的config登錄界面已經不展示config文件的加載路徑了。)解決方案原因一:這是一個關于在哪個路徑下啟動smartbi服務的問題。首先&…

linux uname命令詳解,linux中uname命令參數及用法詳解

uname 命令可用于大多數 UNIX 和類 UNIX 系統以及 Linux。功能說明:uname用來獲取電腦和操作系統的相關信息。語  法:uname [-amnrsvpio][--help][--version]補充說明:uname可顯示linux主機所用的操作系統的版本、硬件的名稱等基本信息。參…

android linux網絡連接,Android和Linux服務器之間的TCP連接

我正在編寫一個代碼,需要每秒從Android移動設備向臺式計算機(linux服務器)發送數據。由于數據經常發送,通過Http命中無法實現(因為會消耗時間),所以Tcp通信似乎是更好的選擇,因為android手機的數據可以通過此套接字編程快速發送。…

linux堆上的內存可執行嗎,pwn的藝術淺談(二):linux堆相關

這是linux pwn系列的第二篇文章,前面一篇文章我們已經介紹了棧的基本結構和棧溢出的利用方式,堆漏洞的成因和利用方法與棧比起來更加復雜,為此,我們這篇文章以shellphish的how2heap為例,主要介紹linux堆的相關數據結構…

arm嵌入式linux應用實例開發pdf,零點起步——ARM嵌入式Linux應用開發入門一書的源代碼...

代碼片段和文件信息屬性 大小 日期 時間 名稱----------- --------- ---------- ----- ----文件 24064 2016-03-20 09:49 零點起步——ARM嵌入式Linux應用開發入門\習題答案 (1).doc文件 24064 2016-03-20 09:50 零點起步——ARM嵌入式Lin…

linux上p圖工具,linux圖片處理工具GraphicsMagick安裝使用

安裝依賴包:yum install libpng libjpeg freetype libpng-devel libjpeg-devel libtool-ltdl-devel libtool-ltdl官網下載GraphicsMagick包官網地址:http://www.graphicsmagick.org/解壓編譯安裝:tar xf GraphicsMagick-1.3.25.tar.gz./confi…