最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2016年11月08日 11:52:00   作者:不瘋魔不成活  
本文給大家分享使用js和css3制作的炫酷彈窗效果,整個(gè)背景模糊,要比純色加透明度高大上好多。對(duì)js彈窗效果感興趣的朋友一起學(xué)習(xí)吧

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

       首先回憶一下彈窗的實(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.已知大小的彈窗,如下,主要通過(guò)top,left與負(fù)的margin來(lái)實(shí)現(xiàn)。

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

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

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

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

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

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

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

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

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

<div class='bg'>
 <img src='bg.jpg' />
</div>
<div class='popus'>
 效果是不是要好過(guò)純色加透明呢
 <div>
 <div class='left btn '>確實(shí)不錯(cuò)</div>
 <div class='right btn'>也就那樣</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:

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

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

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

點(diǎn)擊這里查看效果   http://runjs.cn/detail/nrlmmnbg

以上所述是小編給大家介紹的JS+CSS3制作炫酷的彈窗效果,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Bootstrap每天必學(xué)之下拉菜單

    Bootstrap每天必學(xué)之下拉菜單

    Bootstrap每天必學(xué)之下拉菜單,本文講解的就是大家最為常用的下拉菜單操作,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 求js數(shù)組的最大值和最小值的四種方法

    求js數(shù)組的最大值和最小值的四種方法

    本篇文章主要介紹了求js數(shù)組的最大值和最小值的四種方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • layui 根據(jù)后臺(tái)數(shù)據(jù)動(dòng)態(tài)創(chuàng)建下拉框并同時(shí)默認(rèn)選中的實(shí)例

    layui 根據(jù)后臺(tái)數(shù)據(jù)動(dòng)態(tài)創(chuàng)建下拉框并同時(shí)默認(rèn)選中的實(shí)例

    今天小編就為大家分享一篇layui 根據(jù)后臺(tái)數(shù)據(jù)動(dòng)態(tài)創(chuàng)建下拉框并同時(shí)默認(rèn)選中的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • webpack之引入圖片的實(shí)現(xiàn)及問(wèn)題

    webpack之引入圖片的實(shí)現(xiàn)及問(wèn)題

    如果我們希望在頁(yè)面引入圖片。當(dāng)我們基于webpack進(jìn)行開(kāi)發(fā)時(shí),引入圖片會(huì)遇到一些問(wèn)題,這篇文章主要介紹了webpack之引入圖片的實(shí)現(xiàn)及問(wèn)題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10
  • JS前端知識(shí)點(diǎn)offset,scroll,client,冒泡,事件對(duì)象的應(yīng)用整理總結(jié)

    JS前端知識(shí)點(diǎn)offset,scroll,client,冒泡,事件對(duì)象的應(yīng)用整理總結(jié)

    這篇文章主要介紹了JS前端知識(shí)點(diǎn)offset,scroll,client,冒泡,事件對(duì)象的應(yīng)用,結(jié)合實(shí)例形式總結(jié)分析了offset,scroll,client,冒泡,事件對(duì)象相關(guān)功能、原理及操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • 微信小程序使用this.setData()遇到的問(wèn)題及解決方案詳解

    微信小程序使用this.setData()遇到的問(wèn)題及解決方案詳解

    this.setData估計(jì)是小程序中最經(jīng)常用到的一個(gè)方法,但是要注意其實(shí)他是有限制的,忽略這些限制的話,會(huì)導(dǎo)致數(shù)據(jù)無(wú)法更新,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用this.setData()遇到的問(wèn)題及解決方案,需要的朋友可以參考下
    2022-08-08
  • JavaScript三大變量聲明詳析

    JavaScript三大變量聲明詳析

    這篇文章主要介紹了JavaScript三大變量聲明詳析,三大變量聲明主要包括var、const和let,下面文章我們就圍繞三者展開(kāi)詳細(xì)內(nèi)容介紹,需要的朋友可以參考一下
    2022-06-06
  • 利用three.js畫一個(gè)3D立體的正方體示例代碼

    利用three.js畫一個(gè)3D立體的正方體示例代碼

    Three.js是一個(gè)3DJavaScript庫(kù),基于右手坐標(biāo)系,可以創(chuàng)建簡(jiǎn)單或是比較復(fù)雜的三維圖形并應(yīng)用豐富多彩的紋理和材質(zhì),可以添加五光十色的光源,可以在3D場(chǎng)景中移動(dòng)物體或是添加腳本動(dòng)畫等等。本文介紹了利用three.js如何畫一個(gè)3D立體的正方體的方法,需要的可以參考下。
    2017-11-11
  • echarts浮動(dòng)顯示單位的實(shí)現(xiàn)方法示例

    echarts浮動(dòng)顯示單位的實(shí)現(xiàn)方法示例

    這篇文章主要給大家介紹了關(guān)于echarts浮動(dòng)顯示單位的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 半角全角相互轉(zhuǎn)換的js函數(shù)

    半角全角相互轉(zhuǎn)換的js函數(shù)

    全角空格為12288,半角空格為32 其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248 .
    2009-10-10

最新評(píng)論

寿光市| 阜宁县| 大庆市| 广水市| 滦南县| 惠水县| 甘洛县| 九龙县| 花垣县| 长武县| 文水县| 鄱阳县| 广德县| 阿荣旗| 宜兰县| 手游| 阿克| 钟祥市| 广水市| 城步| 新兴县| 河西区| 台东县| 沈阳市| 武宣县| 自贡市| 仲巴县| 依安县| 衡东县| 新沂市| 沙洋县| 台中县| 广丰县| 昭平县| 桐柏县| 昌黎县| 晋江市| 密云县| 牙克石市| 色达县| 海晏县|