html5如何实现弹出提示框,并且伴随遮罩层并且可以关闭弹出框

html-css0189

html5如何实现弹出提示框,并且伴随遮罩层并且可以关闭弹出框,第1张

通过jquery的show()和hide()函数联合使用,实现弹出窗口。

一、show()和hide()函数解析:

1、show() 方法显示隐藏的被选元素。

注意:show() 适用于通过 jQuery 方法和 CSS 中 display:none 隐藏的元素(不适用于通过 visibility:hidden 隐藏的元素)。

2、hide() 方法隐藏被选元素。

这与 CSS 属性 display:none 类似,但是隐藏的元素不会被完全显示(不再影响页面的布局)。

二、设计一个HTML页面,包括一个简单的弹出窗,和一个显示按钮。其中,调用了jquery的以上两个函数。具体代码如下:

三、设计遮罩层的样式,如下:

四、弹出窗口的css样式,代码如下:

五、初始页面如下:

六、点击按钮,查看弹出窗口结果:

七、关闭弹出窗后,打开开发者中心,如下:

所谓的毛玻璃效果其实是半透明+模糊,可以用CSS filter实现。

时间不多,就抛个砖,题主可以自己找一下文档和更多案例。

filter - CSS

div {

-moz-filter: blur(5px)

-webkit-filter: blur(5px)

-o-filter: blur(5px)

-ms-filter: blur(5px)

filter: blur(5px)

}

大体思路是,当出现弹出层的时候,对背景层增加blur filter,再给弹出层的一定透明度就可以了。

因为有同学坚持说 CSS filter 只能用于图片,所以录了一个小视频,证明它是可以用于可视的DOM元素的。

在 codepen 上找了一个栗子,是通过CSS filter + JS复制滚动元素实现的毛玻璃 Nav Bar 效果,也可以说明,这个属性真的不是只能作用于图片,也不需要“截屏”啊。

大致可以这样子做:

.Dialog{position: absolutetop:0left:0background: #fffborder:1px solid #ddd

    -moz-border-radius:5px-webkit-border-radius:5pxborder-radius:5px

    box-shadow: 0 0 5px 5px rgba(100, 100, 100, 0.1)

    padding:0 10px

    z-index: 99

}/*弹出层*/

/*弹出层遮罩*/

.Dialog-make{width:100%height:100%filter:alpha(opacity=5)opacity:.05position:absolutetop:0left:0z-index:98background:#000}

.Dialog-make iframe{width:100%height:100%filter:alpha(opacity=0)opacity:0border:0px}

当.Dialog层显示时,.Dialog-make层也显示,Dialog-make的z-index少于Dialog的z-index.那么就在Dialog下行成遮罩层,当前也只能操作Dialog层内的东西了