這篇文章主要介紹了一個CSS製作圖形變形彈出效果的範例分享,彈出窗的大小可以使用jQuery來修改,需要的朋友可以參考下
彈出窗體是網頁常用的一個互動設計,在這個注重互動動畫體驗的時代,網頁彈跳窗也可以來點新鮮的點子,例如今天分享的CSS 變形Modal Window。
當使用者點擊按鈕時,按鈕將會變成一個全螢幕的螢幕,然後再顯示內容,整個展示過程流暢友好,也許你可以嘗試到你的新項目上。
示範頁:http://codyhouse.co/gem/morphing-modal-window/
點擊「Fire Modal Window」按鈕後,按鈕將會慢慢變大,直到整個螢幕。下面來個GIF示範:
使用教學
#本程式碼相容Chrome, Firefox, Safari, Opera,而IE需要9.0以上版本(IE9 )
STEP 1: 建立HTML佈局
<section class="cd-section"> <!-- section content here --> <p class="cd-modal-action"> <a href="#0" class="btn" data-type="modal-trigger">Fire Modal Window</a> <!— 这是窗体按钮 --> <span class="cd-modal-bg"></span> </p> <p class="cd-modal"> <p class="cd-modal-content"> <!— 这是窗体内容区域 --> </p> </p> <a href="#0" class="cd-modal-close">Close</a> <!— 这是关闭按钮 --> </section>
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; }
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); }
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
#####################################
以上是CSS製作圖形變形彈出的效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!