国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP開發(fā) JS+CSS3制作炫酷的彈窗效果

JS+CSS3制作炫酷的彈窗效果

Dec 07, 2016 pm 01:50 PM

昨天在家看電視時(shí),退出的時(shí)候發(fā)現(xiàn)了一個(gè)彈窗效果,整個(gè)背景模糊,覺得這樣的效果好炫,要比純色加透明度高大上好多,連續(xù)試了幾個(gè)界面,最終確定效果由css實(shí)現(xiàn)的,于是今天一大早來到公司便趕緊搜索了一下,雖然兼容性奇差,但是一個(gè)css屬性就可以搞定。瞬間感覺自己知道的真是太少了~~

?????? 首先回憶一下彈窗的實(shí)現(xiàn),一般我們分為兩層,彈出窗口層(popus)和遮罩層(mask),通常情況下我習(xí)慣就這兩元素全部設(shè)成fixed定位,具體和absolute區(qū)別一試便知。對(duì)于mask層自不用多少,我們?nèi)缦陆o他設(shè)置屬性,讓他鋪滿整個(gè)屏幕。

.mask{position:fixed;top:0px;bottom:0px;left:0px;right:0px;background-color:#000;opacity:0.6;filter:alpha(opacity=60)}

popus層則要稍微麻煩點(diǎn)兒,這里我們有兩種實(shí)現(xiàn)方法

1.已知大小的彈窗,如下,主要通過top,left與負(fù)的margin來實(shí)現(xiàn)。

.popus{width:300px;height:200px;position:fixed;left:50%;top:50%;margin-left:-150px;margin-top:-100px;background-color:#000}

2.未知彈窗大小,則通過js獲取彈窗層的width與height,然后在進(jìn)行如上設(shè)置,在此不多述。

3.在支持css3的情況下,我們不需要知道彈窗的寬高,便可進(jìn)行如下設(shè)置

.popus{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%)}

主要通過translate屬性來設(shè)置,偏移的值百分比是相對(duì)于本身的寬高,因此從原理上來說跟第一種寫法有異曲同工之妙,不過使用卻更方便。

言歸正傳,下面我們回歸到正題,即讓元素實(shí)現(xiàn)ps中高斯模糊的效果。

這里引出一個(gè)css屬性:filter,注意這里的filter并不是ie中的filter,filter有很多值,感興趣的可以點(diǎn)擊這里,作者講的非常詳細(xì)。我們今天只講其中的一個(gè)blur,首先看下面的預(yù)覽圖

ps:目前來說該屬性只支持webkit瀏覽器,所以我們直接使用了css3屬性,效果也需要在webkit瀏覽器中查看

wKiom1hGI9PjhMAvAAAJwSkxZBM314.png-wh_600x-s_2253347697.png

是不是很神奇,其中起作用的代碼就這一行 -webkit-filter:blur(8px) ,后面的像素值即代表模糊程度,當(dāng)然在日常項(xiàng)目中,我們還可以加一些動(dòng)畫,使頁面更加的生動(dòng),本案例完整代碼如下:

<div class=&#39;bg&#39;>
 <img src=&#39;bg.jpg&#39; />
</div>
<div class=&#39;popus&#39;>
 效果是不是要好過純色加透明呢
 <div>
 <div class=&#39;left btn &#39;>確實(shí)不錯(cuò)</div>
 <div class=&#39;right btn&#39;>也就那樣</div>
 </div>
</div>

css:

*{padding:0px;margin:0px}
img{width:100%;margin:0px auto;display:block}
.bg.blur{-webkit-filter:blur(8px)}
.popus{width:400px;color:#000;;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);font-family:"微軟雅黑";padding:20px 0px;font-weight:bold;background-color:rgba(255,255,255,0.6);border-radius:18px;text-align:center;padding:30px 0px;box-shadow:0px 0px 10px rgba(0,0,0,0.4);display:none}
.popus div{width:220px;margin:10px auto}
.popus div.btn{width:80px;padding:5px 10px;color:#000}
.left{float:left;border:1px solid #000}
.popus div.btn.right{float:right;color:#666}

js:

$(&#39;.bg&#39;).on(&#39;click&#39;,function(){
 console.log(98)
 $(this).addClass(&#39;blur&#39;);
 $(&#39;.popus&#39;).show();
})
$(&#39;.btn&#39;).on(&#39;click&#39;,function(){
 $(&#39;.bg&#39;).removeClass(&#39;blur&#39;);
 $(&#39;.popus&#39;).hide();
})

? ?

????? 這樣是不是就完了?很明顯不是,看控制臺(tái)

wKiom1hGI9PjhMAvAAAJwSkxZBM314.png-wh_600x-s_2253347697.png

? ? ?當(dāng)我們彈出窗口外,肯定要禁止掉我們其他層的點(diǎn)擊事件,但是我們發(fā)現(xiàn)目前我們雖然將其他層模糊化了,但是并沒有禁止掉相應(yīng)的事件,當(dāng)然解決辦法也很簡單,我們可以加一層沒有背景顏色的遮罩層,覆蓋在頁面上,這樣我們每次點(diǎn)擊作用在遮罩層上,自然不會(huì)觸發(fā)底層的事件了。


本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)